Claude Code Plugins

Community-maintained marketplace

Feedback

既存リソースを Terraform に import する。「import して」「リソース import」「既存リソース取り込み」「terraform import」「インポート」「既存インフラを管理」「import ガイド」「リソースを terraform で管理」などで起動。

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name import-helper
description 既存リソースを Terraform に import する。「import して」「リソース import」「既存リソース取り込み」「terraform import」「インポート」「既存インフラを管理」「import ガイド」「リソースを terraform で管理」などで起動。
allowed-tools Bash, Read, Write, Edit

Import Helper

既存の AWS/GCP/Azure リソースを Terraform の管理下に取り込む支援をします。

対応操作

操作 トリガー例
import ガイド 「import して」「インポート」
リソース指定 「EC2 を import」「S3 を import」
設定生成 「import 用の tf を作成」

実行手順

1. import 対象の確認

ユーザーにリソース情報を確認:

## Import 対象

import するリソースの情報を教えてください:

1. リソースタイプ(例: aws_instance, aws_s3_bucket)
2. リソース ID(例: i-1234567890abcdef0, my-bucket)
3. Terraform でのリソース名(例: main, web_server)

2. リソース設定ファイルの作成

import 前に空のリソース定義が必要:

# {resource_type}.tf

resource "{resource_type}" "{resource_name}" {
  # import 後に terraform plan で確認し、属性を追加
}

例:

# aws_instance.tf

resource "aws_instance" "web_server" {
  # import 後に terraform plan で確認し、属性を追加
}

3. import コマンドの生成

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

4. import 実行

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.

5. 設定の同期

import 後、現在の state と設定ファイルを同期:

terraform plan

差分を確認し、設定ファイルを更新:

## Import 後の設定同期

terraform plan で以下の差分が検出されました:

{差分の内容}

この差分をなくすために、設定ファイルを更新してください。

6. 出力フォーマット

## Import 完了

### リソース
- タイプ: {resource_type}
- 名前: {resource_name}
- ID: {resource_id}

### 次のステップ

1. `terraform plan` で差分を確認
2. 設定ファイルに必要な属性を追加
3. 再度 `terraform plan` で差分がないことを確認

### 注意
import 後は設定ファイルと state の同期が必要です。
`terraform plan` で差分が出なくなるまで設定を調整してください。

主要リソースの import コマンド例

リソース コマンド
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

注意事項

  • ✅ import 前に空のリソース定義を作成
  • ✅ import 後は必ず terraform plan で同期を確認
  • ✅ 設定ファイルは state に合わせて更新
  • ⚠️ import はリソースを変更しないが、設定ミスで次回 apply 時に変更される可能性