達人が教えるWebパフォーマンスチューニングで出てくるcatatsuy/private-isuにterraformを加えたもの
なお、fork-private-isuディレクトリはcatatsuy/private-isuを自分のリポジトリにフォークしたものなので注意
stateファイルの管理はローカルにしているので、永続化したい場合はterraform cloudやS3を指定するなどすること
$ cd terraform/
$ vim main.tf # localsに定義されているgithub_useridを修正。その他項目の修正は任意。
$ terraform init
$ terraform apply
作成したEC2のPublic IPはterraform outputで確認できる。
GitHubに登録している公開鍵のペアの秘密鍵を利用すればログインできる。
$ terraform output
bench_01_instance_id = "i-05ef1ab8c5b1af67b"
bench_01_public_ip = "3.113.17.36"
game_01_instance_id = "i-0eba157c55480b38e"
game_01_public_ip = "52.194.255.167"
$
# 競技者用
$ ssh -i ${GitHubに登録した公開鍵のペアの秘密鍵} ubuntu@52.194.255.167
# ベンチマーク用
$ ssh -i ${GitHubに登録した公開鍵のペアの秘密鍵} ubuntu@3.113.17.36
EC2インスタンスを停止しておく
Public IPは費用の観点から固定にしていないので注意
$ ./stop-instance.sh
{
"StoppingInstances": [
{
"CurrentState": {
"Code": 64,
"Name": "stopping"
},
"InstanceId": "i-068127bf49c91b3c2",
"PreviousState": {
"Code": 16,
"Name": "running"
}
}
]
}
$
$ ./start-instance.sh
EC2インスタンスを起動中...
EC2 instance IP: "18.181.169.69"
$
$ ssh ubuntu@18.181.169.69
無駄に動かし続けるとお金がかかるので、全てのリソースを削除する
$ terraform destroy