Based on: https://github.com/yamamoto-febc/sacloud-terraform-isucon
cp envs/example.tfvars envs/<your_env_name>.tfvars
switch_name = ""
benchmarker_name = ""
app_name = ""
variable "public_key_path" {
default = "<your_public_key_path>"
}
terraform init
terraform workspace new <your_env_name> # or terraform workspace select <your_env_name>
terraform apply -var-file=envs/<your_env_name>.tfvars
ただし、実行には環境変数としてSAKURACLOUD_ACCESS_TOKEN
とSAKURACLOUD_ACCESS_TOKEN_SECRET
が必要です。
./script/netplan.sh
にプライベートIPを設定するスクリプトがあります。
./script/ip.txt
を作成して、マシンのIPを1行に1つずつ書き、以下のコマンドを実行してください。
sh ./script/netplan.sh
実行すると、./script/ip.txt
に書かれたIPアドレスに対して192.168.0.2
, 192.168.0.3
... というようにプライベートIPが設定されます。
プライベートIPがわからなくなったら、直接SSHでログインしてip a
を実行してください。
これをしないとプライベートネットワーク内で通信ができません。
数分後、SSHでログインできるようになるので、以下のコマンドでbenchmarkerのIPアドレスを取得してください。
terraform output benchmarker_ip_address
ssh -i <your_private_key_path> ubuntu@<benchmarker_ip_address>
sudo systemctl stop isuumo.go.service
sudo systemctl disable isuumo.go.service
これをやらないと、benchmarkerがappを起動してしまうため、パフォーマンスに影響が出る可能性があります。
terraform destroy -var-file=envs/<your_env_name>.tfvars
sshをして以下のコマンドでDONEが出ているか見る
sudo tail -f /var/log/cloud-init-output.log
「ISUCON」は、LINE株式会社の商標または登録商標です。