Help us improve
Share bugs, ideas, or general feedback.
From shiiman-terraform
既存リソースを Terraform に import する。「import して」「リソース import」「既存リソース取り込み」「terraform import」「tf import」「インポート」「既存インフラを管理」「import ガイド」「リソースを terraform で管理」などで起動。
npx claudepluginhub shiiman/claude-code-plugins --plugin shiiman-terraformHow this skill is triggered — by the user, by Claude, or both
Slash command
/shiiman-terraform:importThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
既存の AWS/GCP/Azure リソースを Terraform の管理下に取り込む支援をします。
Guides writing and organizing Terraform HCL configurations for cloud resource provisioning, including providers, resources, variables, outputs, data sources, locals, commands, and file structure best practices.
Discovers existing cloud resources using Terraform Search queries and generates bulk import configs for Terraform state. For unmanaged infra control, audits, or IaC migration.
Designs Terraform/OpenTofu modules, manages state backends and workspaces, and implements policy-as-code and CI/CD automation for IaC.
Share bugs, ideas, or general feedback.
既存の AWS/GCP/Azure リソースを Terraform の管理下に取り込む支援をします。
$ARGUMENTS に --help が含まれる場合、以下を表示して終了:
/shiiman-terraform:import - Terraform Import
概要:
既存の AWS/GCP/Azure リソースを Terraform の管理下に取り込む支援をします。
使用方法:
/shiiman-terraform:import [オプション]
オプション:
--help このヘルプを表示
| 操作 | トリガー例 |
|---|---|
| import ガイド | 「import して」「インポート」 |
| リソース指定 | 「EC2 を import」「S3 を import」 |
| 設定生成 | 「import 用の tf を作成」 |
ユーザーにリソース情報を確認:
## Import 対象
import するリソースの情報を教えてください:
1. リソースタイプ(例: aws_instance, aws_s3_bucket)
2. リソース ID(例: i-1234567890abcdef0, my-bucket)
3. Terraform でのリソース名(例: main, web_server)
import 前に空のリソース定義が必要:
# {resource_type}.tf
resource "{resource_type}" "{resource_name}" {
# import 後に terraform plan で確認し、属性を追加
}
例:
# aws_instance.tf
resource "aws_instance" "web_server" {
# import 後に terraform plan で確認し、属性を追加
}
terraform import {resource_type}.{resource_name} {resource_id}
例:
# EC2 インスタンス
terraform import aws_instance.web_server i-1234567890abcdef0
# S3 バケット
terraform import aws_s3_bucket.data my-bucket-name
# IAM ロール
terraform import aws_iam_role.app my-role-name
# VPC
terraform import aws_vpc.main vpc-12345678
# セキュリティグループ
terraform import aws_security_group.web sg-12345678
terraform import {resource_type}.{resource_name} {resource_id}
成功時:
{resource_type}.{resource_name}: Importing from ID "{resource_id}"...
{resource_type}.{resource_name}: Import prepared!
{resource_type}.{resource_name}: Refreshing state...
Import successful!
The resources that were imported are shown above.
import 後、現在の state と設定ファイルを同期:
terraform plan
差分を確認し、設定ファイルを更新:
## Import 後の設定同期
terraform plan で以下の差分が検出されました:
{差分の内容}
この差分をなくすために、設定ファイルを更新してください。
## Import 完了
### リソース
- タイプ: {resource_type}
- 名前: {resource_name}
- ID: {resource_id}
### 次のステップ
1. `terraform plan` で差分を確認
2. 設定ファイルに必要な属性を追加
3. 再度 `terraform plan` で差分がないことを確認
### 注意
import 後は設定ファイルと state の同期が必要です。
`terraform plan` で差分が出なくなるまで設定を調整してください。
| リソース | コマンド |
|---|---|
| EC2 インスタンス | terraform import aws_instance.NAME INSTANCE_ID |
| S3 バケット | terraform import aws_s3_bucket.NAME BUCKET_NAME |
| IAM ロール | terraform import aws_iam_role.NAME ROLE_NAME |
| VPC | terraform import aws_vpc.NAME VPC_ID |
| サブネット | terraform import aws_subnet.NAME SUBNET_ID |
| セキュリティグループ | terraform import aws_security_group.NAME SG_ID |
| RDS インスタンス | terraform import aws_db_instance.NAME DB_IDENTIFIER |
| Lambda 関数 | terraform import aws_lambda_function.NAME FUNCTION_NAME |
terraform plan で同期を確認