はじめに
Terraformを使用して、AWSの東京リージョン(ap-northeast-1)にEC2インスタンスを構築する方法を解説します。
Terraformを使うことで、インフラをコード化し、簡単に管理・再現することができます。
前提条件
Terraformを使用するために、以下の環境が整っていることを確認してください。
- Terraformがインストールされていること
- AWS CLIがインストールされ、認証情報が設定されていること (
~/.aws/credentials
) - AWSアカウントを持っていること
- 事前にSSHキーペアを作成していること(EC2インスタンスに接続するため)
Terraformの設定
TerraformでEC2インスタンスを作成するために、main.tf
ファイルを作成します。
main.tf
provider "aws" {
region = "ap-northeast-1"
}
resource "aws_instance" "my_ec2" {
ami = "ami-072298436ce5cb0c4" # 指定されたAMI ID
instance_type = "t2.micro" # 無料枠で利用可能なインスタンスタイプ
key_name = "my-key-pair" # 事前に作成したキーペア(適宜変更)
security_groups = ["default"] # デフォルトのセキュリティグループを使用
tags = {
Name = "Terraform-EC2"
}
}
Terraformの実行手順
1. Terraformの初期化
まず、Terraformの初期化を行います。
terraform init
2. 設定の確認(オプション)
Terraformの設定を適用する前に、どのような変更が加えられるかを確認できます。
terraform plan
実際のターミナル画面
3. EC2インスタンスの作成
以下のコマンドで、Terraformの設定を適用し、EC2インスタンスを作成します。
terraform apply -auto-approve
実際のターミナル画面
4. 作成されたインスタンスの情報を確認
Terraformで作成されたリソースの詳細を表示できます。
terraform show
実際のターミナル画面
作成したEC2インスタンスの管理
インスタンスへのSSH接続
作成したEC2インスタンスにSSHで接続するには、以下のように実行します。
ssh -i my-key-pair.pem ec2-user@<インスタンスのパブリックIP>
実際のターミナル画面
EC2インスタンスの削除
不要になったインスタンスを削除するには、以下のコマンドを実行します。
terraform destroy -auto-approve
実際のターミナル画面
注意点
-
key_name = "my-key-pair"
の値は、事前に作成したSSHキーペアに変更してください。 - セキュリティグループの設定をカスタマイズする場合は、別途
aws_security_group
リソースを作成してください。 - AMI ID(
ami-072298436ce5cb0c4
)は変更される可能性があるため、最新のものをAWSコンソールなどで確認してください。
まとめ
Terraformを使うことで、簡単にEC2インスタンスを作成・管理することができます。
今回紹介した手順をベースに、セキュリティグループやIAMロールの設定を追加して、より実用的な環境を構築してみてください。