- 性能・拡張性を考慮したWebサーバを構築したい方
- EC2インスタンスの運用を考慮したAWS環境を構築したい方
- ローカル端末からパブリックサブネット上に配置したALBに対してHTTPリクエストを行い、ALBからプライベートサブネット上のNginx(EC2インスタンス)へHTTP接続を行う。
- ローカル端末からSession Managerを利用してプライベートサブネット上のEC2インスタンス上にSSH接続を行う。利用するAWS CLIコマンドは以下の通り。
aws ssm start-session --target [インスタンスID]
- ローカル端末にTerraformをインストール
- ローカル端末にAWS CLIをインストール
- ローカル端末にSession Managerプラグインをインストール
- 以下の権限を有するIAMポリシーに紐づいたIAMユーザーを用意し、ローカル端末でAWS CLIでIAMクレデンシャル情報を設定する。
- AmazonEC2FullAccess
- IAMFullAccess
- AmazonSSMFullAccess
- SSH設定ファイルを更新
- 更新手順については、AWS公式ページを参考
-
main.tfファイル直下に移動し、以下のコマンドを実行する
terraform init terraform plan terraform apply
-
ALBのDNS名を確認し、ブラウザで開く ※前提としてPowershellでの実行を想定
terraform show | Select-String -Pattern "dns_name.*elb.*"
-
利用を終了したい場合、以下のコマンドで削除する
terraform destroy
MIT.