今回はTerraformのモジュールを利用して、インスタンス
、セキュリティグループ
を作成します。
同時にApacheとPHPもインストールしておきます。
今回のディレクトリは以下のようになっています。 terraform.tfstate
と terraform.tfstate.backup
は自動で生成されるものです。
(main.tf
とhttp_server/main.tf
が同じ名前なのは勘弁です)
. ├── http_server │ └── main.tf ├── main.tf ├── terraform.tfstate ├── terraform.tfstate.backup
コード
./main.tf
のほう
インスタンスタイプはここで指定します。
最後のoutput
でパブリックDNSを出力します。
Outputs: public_dns = ec2-XXX-XXX-XXX-XXX.ap-northeast-1.compute.amazonaws.com
http_server/main.tf
のほう
こちらでセキュリティグループの作成とシェルスクリプトを実行しています
17行目からセキュリティグループを作成しています。
name
はセキュリティグループの名前 description
はそのセキュリティの説明です。
今回はHTTPサーバーなので、80ポートを開放しています。
他にも443や22版を開けたいときはingress
のfrom_port
とto_port
を[22, 80, 443]
のようにかけばokです
実行
実行は以下のようにします
$ terraform get #モジュールを取得 $ terraform plan #確認 $ terraform apply #実行
出力されたパブリックDNSにアクセスするとApacheのデフォルトページ。 http://DNS/info.phpにアクセスすると、phpinfoが作成されています
削除
以下のコマンドで削除することが出来ます。
作成したセキュリティグループも削除することが出来るので、AWSの環境をキレイに片付けることが出来ます。
$ terraform destroy