初手仕草

ssh しやすいようにする

sudo su - isucon
mkdir .ssh
cd .ssh
sudo cp /home/ubuntu/.ssh/authorized_keys ./
sudo chown isucon:isucon authorized_keys

ssh config

Host isucon12q-1
  HostName TODO
  User isucon
  IdentityFile /home/y011d4/.ssh/isucon-practice.pem
  AddKeysToAgent yes

Host isucon12q-2
  HostName TODO
  User isucon
  IdentityFile /home/y011d4/.ssh/isucon-practice.pem
  AddKeysToAgent yes

Host isucon12q-3
  HostName TODO
  User isucon
  IdentityFile /home/y011d4/.ssh/isucon-practice.pem
  AddKeysToAgent yes

デプロイ鍵作成

ssh-keygen -t ed25519
# deploy する1台目の pubkey は他のマシンの authorized_keys に追加したほうがよさそう?

mysql db 分離

↓の方法もある

CREATE USER `isucon`@`192.168.%` IDENTIFIED BY 'isucon';
GRANT ALL PRIVILEGES ON `isucondition`.* TO `isucon`@`192.168.%`;

ファイル読み込み権限は↓でやる table に紐付かないっぽいので *.* としないとだめ

GRANT FILE ON *.* TO `isucon`@`192.168.%`;

nginx で load balancer

以下は isucon11 での例、序盤は sock ではなく ip になるはず

# 1台目
upstream goecho_socket_server {
    server unix:/tmp/goecho.sock;
    server 192.168.0.13:3333 weight=2;
}

server {
    listen 443 ssl http2;

    ssl_certificate /etc/nginx/certificates/tls-cert.pem;
    ssl_certificate_key /etc/nginx/certificates/tls-key.pem;

    location / {
        proxy_set_header Host $http_host;
        proxy_http_version 1.1;
        proxy_pass http://goecho_socket_server;
    }
}