AWSとTerraformについての基本から、具体的な手順まで説明します。
基本情報
AWS (Amazon Web Services)
AWSはクラウドコンピューティングサービスのプラットフォームです。インフラストラクチャのスケーラブルな展開と管理を提供し、多くのサービスがあります。
Terraform
Terraformは、インフラストラクチャをコードとして管理するためのツールです。HCL (HashiCorp Configuration Language) を使用して記述されるマニフェストで、クラウドリソースの構成を記述できます。Terraformは、状態(state)を保持して、インフラストラクチャの現状とコードとの同期を保つことができます。
手動でリソースを変更してしまった場合の対応手順
Terraformの状態と実際のAWSのリソースが不整合になったとき、以下の手順で状態を再計測し、調整することができます:
- Terraform状態ファイルのバックアップ
Terraformの状態ファイル (terraform.tfstate) を予めバックアップしておくと、安全に手順を進められます。 - 現状のリソースをインポート
手動で作成・変更されたリソースをTerraformの管理下に再度収める必要があります。Terraformのimportコマンドを使用して、各リソースをインポートします。 例えば、以下のようにしてインポートすることができます:
terraform import aws_instance.example i-1234567890abcdef0
どのリソースをインポートするかについては、terraform importコマンドの公式ドキュメントを参照してください。
- Terraformの設定ファイルを修正
インポートしたリソースが適切に管理されるように、main.tfなどの設定ファイルにそのリソースの設定を追加および調整します。 - 計画を確認
terraform planコマンドを実行して、Terraformがリソースに対してどのような変更を行おうとしているかを確認します。このステップでは、現在の状態と設定ファイルを比較し、差異を表示します。
terraform plan
- 変更を適用
terraform applyコマンドを実行して、実際のリソースの状態を Terraformの設定ファイルに同期します。計画通りに変更が適用されます。
terraform apply
まとめ
手動で変更されたリソースを再びTerraformの管理下に戻すためには、以下のステップを踏むことが重要です:
- 状態ファイルをバックアップ。
- 手動で作成・変更されたリソースを
terraform importでインポート。 - インポートしたリソースを設定ファイルに追加。
terraform planで変更計画を確認。terraform applyで適用。
以上の手順に従うことで、Terraformの管理状態と実際のAWSリソースの状態を再び一致させることができます。

コメント