Ⅰ. はじめに
この記事はTerraformを利用してAWS環境にリソースを作成、更新、削除するハンズオンです。はじめて実行する方向けの内容です。
Ⅱ. Terraformとは
TerraformはAWS、Azure、GPCなどのクラウドサービスプラットフォームのインフラリソースをコードで管理できるツールです。利点として、インフラ環境の現状がコードでわかることや、災害などにより環境が利用できなくなった場合、同構成で新しい環境を素早くデプロイできるという点があります。
前提条件
- AWSアカウントの用意
- AWS Credentialの設定(ターミナルからAWS環境をアクセスするため)。設定されていない場合はこちらをご参照ください。(link)
- Terraformのインストール。インストールがお済みでない場合はこちらをご参照ください。(link)
Ⅲ. 構築するリソース
今回作るのは以下の構成です。EC2インスタンス、及びインスタンスの配置に必要な仮想ネットワークを作成します。
Ⅳ. コマンド
本記事では下記のコマンドを利用します。

Ⅴ. 実践
以下のステップでTerraformの初期化、リソースの作成・更新・削除まで実装します。
1.Terraform構成ファイルを作成
2. Terraformディレクトリを初期化 [terraform init]
3. Terraformコードの実行影響を確認 [terraform plan]
4. Terraformコードを適用 [terraform apply]
5. 構築されたリソースを確認
6. リソースを更新してみる [terraform apply]
7. リソースを削除 [terraform destroy]
1. Terraform構成ファイルを作成
まずはローカルPCでTerraformファイルを格納するディレクトリを作成し、ディレクトリ内でmain.tfファイルを作成します。
main.tfファイルの中身は下記です。
2. Terraform ディレクトリを初期化 [terraform init]
構成ファイルを作成したら、terraform init コマンドでディレクトリを初期化します。以下のような出力があればOKです。(一部出力を省略しています。)
3. Terraformコードの実行影響を確認 [terraform plan]
次にterraform planでmain.tfファイルのコードを適用したときの環境への影響を確認します。(一部出力を省略しています。)
4. Terraformコードを適用 [terraform apply]
applyコマンドでAWS環境にTerraformコードを適用します。
Do you want to perform these actions?というプロンプトが出るので、「yes」と入力します。
5. 構築されたリソースを確認
ここでAWS環境のコンソールからデプロイされた環境を確認します。
6. リソースを更新してみる [terraform apply]
ここで作成されたインスタンスのサイズを変更してみます。t2.micro -> t2.small
main.tfファイルのコードを以下のように修正し、再度 terraform applyを実行します。
コードを変更したので以下のような出力がされます。Do you want to perform these actions? というプロンプトが出るので「yes」と入力します。
コンソールでインスタンスサイズが変更されていることを確認します。
7. リソースを削除 [terraform destroy]
最後にterraform destroyコマンドで作成したリソースを削除します。
Do you really want to destroy all resources? というプロンプトが出るので、「yes」と入力します。
Ⅵ. まとめ
この記事では基本的なTerraformコマンドを利用して、AWS環境のリソースを作成・更新・削除しました。このようにしてクラウド環境全体をIaC (Infrastructure as Code)で管理することができます。インフラ環境をコードで管理することで環境の現状が把握でき、また同構成の環境を作成することも可能です。以上、Terraformハンズオンについてご紹介しました。
アイレット株式会社のGlobal Solutions事業部では、お客様のビジネス変革を実現しながら、最新のデータソリューションの導入を加速できるように設計されたデータ分析ソリューションとデータサービスの幅広いポートフォリオを提供しています。ビジネスの成功こそ、私たちが追求するものです。お困りの際はぜひ一度お気軽にお問い合わせください。