2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

private-isuを解くのに競技用インスタンスとベンチマークインスタンスを立ち上げて透過設定してとやることが色々あり、若干つまづいたので備忘録として残す。

競技用インスタンス

EC2を作成していく。

スクリーンショット 2024-07-07 13.04.22.png

READMEにある競技者用インスタンスのx86_64版のAMIを検索。

スクリーンショット 2024-07-07 13.06.39.png

コミュニティAMIの欄にある(1)ので選択(2)。

スクリーンショット 2024-07-07 13.08.10.png

本にある通り、インスタンスタイプは C6i.large を選択。

スクリーンショット 2024-07-07 13.13.45.png

新しいキーペアを選択。

スクリーンショット 2024-07-07 13.14.07.png

こんな感じでキーペアを作成。

スクリーンショット 2024-07-07 13.14.47.png

ネットワーク設定でSGを作成する。

スクリーンショット 2024-07-07 13.15.26.png

こんな感じで設定(他はデフォルトのまま)。

スクリーンショット 2024-07-07 13.18.52.png

インスタンスを起動。

スクリーンショット 2024-07-07 13.20.52.png

少し時間が経ってからパブリック IPv4 アドレスに httpで アクセス。

スクリーンショット 2024-07-07 13.23.09.png

こんな感じのが表示されれば勝ち。

スクリーンショット 2024-07-07 13.26.45.png

ベンチマークインスタンス

競技用インスタンスと同じようにEC2を作成。
AMIはREADMEのベンチーマーカーのx86_64を選択。

スクリーンショット 2024-07-07 13.32.19.png

インスタンスタイプはこれまた本にある通りC6i.xlarge

スクリーンショット 2024-07-07 13.33.27.png

キーペアはさっきつくったやつ使い回す。

スクリーンショット 2024-07-07 13.34.18.png

SGもさっき作ったやつ使い回す。

スクリーンショット 2024-07-07 13.35.06.png

これでインスタンスを作成。

SGの透過

ベンチマークインスタンスから競技用インスタンスにリクエストを投げるので、競技用インスタンスにベンチマークインスタンスからのリクエストを透過する設定を入れなければならない。

セキュリティグループを選択

スクリーンショット 2024-07-07 13.37.36.png

さっきつくったSGのインバウンドルールを編集。

スクリーンショット 2024-07-07 13.38.28.png

サブネットマスク32の ベンチマークインスタンスの IPをソースにしたHTTPを追加。

スクリーンショット 2024-07-07 14.01.04.png

ベンチマークを走らせる

SSHが叩ける前提で記載。
作ったpemファイルに権限を付与。

chmod 400 /path/to/my-private-isu-key.pem

ベンチマークの方にSSH接続

ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com はベンチマークインスタンスのパブリック IPv4 DNSを入れる。

スクリーンショット 2024-07-07 13.47.45.png

ssh -i /path/to/my-private-isu-key.pem ubuntu@ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com

入れたらREADMEにある通り、下記の通りに叩く。

$ sudo su - isucon
$ /home/isucon/private_isu.git/benchmarker/bin/benchmarker -u /home/isucon/private_isu.git/benchmarker/userdata -t http://<競技用インスタンスのIP>

こんなのが出たら勝ち。

{
  "pass":true,
  "score":664,
  "success":609,
  "fail":2,
  "messages":[
    "リクエストがタイムアウトしました (POST /login)",
    "リクエストがタイムアウトしました (POST /register)"
  ]
}

後片付け

依存関係があるので順番に消す。

  1. EC2
    インスタンスの状態を「インスタンスを終了」にする
    • 競技用インスタンス
    • ベンチマーク用インスタンス
  2. SG
  3. キーペア

終わりに

画像が黒塗りだらけでSCPみたいになってる。

参考

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?