2026/06/18
Terraform + AWSでLaravel環境を構築する③ - EC2編
環境構築AWS CLIAWSTerraform

広告準備中
Terraformを使用してEC2を追加してみます。
前回までの記事はこちら
Terraform + AWSでLaravel環境を構築する① - 初期設定・ネットワーク編
Terraform + AWSでLaravel環境を構築する② - セキュリティグループ編
EC2に接続するためのキーペアの作成
まずはSSH接続のためのキーペアを作成します。
ssh-keygen -t ed25519 -f "$env:USERPROFILE\.ssh\practice-key"パスフレーズを設定すると公開鍵と秘密鍵が作成されます。
キーペアの登録
TerraformでAWSにキーペアを登録します。
pathexpand("~")を使うと OS に関係なくホームディレクトリを解決してくれるため、Windows でも動作します。
resource "aws_key_pair" "main" {
key_name = "practice-key"
public_key = file("${pathexpand("~")}/.ssh/practice-key.pub")
}EC2インスタンスの作成
無料枠でも使用できるように設定します。
SSH接続のためにIPアドレスを出力するようにしておきます。
resource "aws_instance" "web" {
ami = "ami-0d52744d6551d851e" # Amazon Linux 2023 (ap-northeast-1)
instance_type = "t2.micro"
subnet_id = aws_subnet.public_1a.id
vpc_security_group_ids = [aws_security_group.web.id]
key_name = aws_key_pair.main.key_name
tags = {
Name = "practice-web"
}
}
# IPアドレスの出力
output "web_public_ip" {
value = aws_instance.web.public_ip
}実行する
今まで通りterraformコマンドで実行します。
# フォーマット
terraform fmt
# 実行計画の確認
terraform plan
# 実行
terraform apply作成できたらOKです!
SSHで接続してする
作成できたらSSHで接続してみます。
ssh -i ~/.ssh/practice-key ubuntu@52.192.11.250さきほど入力したパスワードを入力してサーバーにアクセスできたらOKです!
接続時に秘密鍵への権限エラーが出たときは鍵の権限を変更してみてください。
以下のサイトが参考になりました。
https://qiita.com/eltociear/items/02e8b1f5590b49eb9d87
まとめ
EC2インスタンスの追加までできました!
次はRDSを追加していこうと思います。