AWSをいじり倒す(3.ELB)
今回もこちらを参考にしていく。
ELB作成
で、ELBってどこから設定するねん、と思ったらEC2の左のメニューにロードバランサの項目が。
なんか先人がお試しでつくった跡がみえるw
ロードバランサーの作成を押すとこんなメニューが
う〜〜ん、ネットワークにおける所謂LBって真ん中だよなぁと思いつつ
参考記事が左を選んでるので左をまずはトライすることに。
ALBでいいならALBが一番安いみたい
設定画面
名前はtest-balancer。
外からのリクエストを捌く位置におくのでインターネット向け。
プロトコルはHTTP(HTTPorHTTPSしか選びしろはない)
AZの設定
testのVPCを選択。ここで2つのAZにサブネットを作っておいたのが活きてきた!
タグ
適当に
セキュリティの設定
HTTPSじゃねえぞ?とのお達し。
すんません、証明書めんどくさいので今は勘弁してください
ALB-EC2構成のhttps接続を構築 | Oji-Cloud
この辺見てるとハードルは高くなさそうなので、そのうちやろう
セキュリティグループの設定。
ELBに対するセキュリティグループということは・・・
前回のEC2用は使いまわさず、新しく作ったほうがよいかも。
ということで必要最小限のHTTP+マイIPをとりあえずセット。
うまくいかなかったら後で調整すれば良い
ルーティングの設定
名前ぐらいしか変更するところがないが、
「指定するプロトコルとポートを使用してこのターゲットグループにリクエストをルーティング」の日本語がわからん。
[新機能] HTTPヘッダーやクエリ文字列などなどでルーティングができちゃう!!AWS ALBで高度なリクエストルーティングが可能になりました! | Developers.IO
この辺からふわっと察するに、HTTPのヘッダー情報とかからどこに振り分けるか決められるってこと?
ヘルスチェック
ここは変更なしでよさげ。
ターゲットの登録
登録済みに追加。でもEC2は今1台しかないからイマイチだなぁ
確認画面がでて、作成。
できたっぽいが、provisioning...=準備中
activeになった。
ターゲットグループのメニューから、ターゲットをみると
ステータス:healtyになっている。これでELB-EC2間はOKみたいだ。
で、肝心の外からELB経由でEC2にアクセスできるのかの確認方法が不明。
試しにこのDNS名をブラウザに放り込んでみたら・・・
つながった。
う〜んモヤる。このELBのパブリックIPはどこからでてきたんだ?
試しにこのDNSをnslookupしてみたらこのような回答が。
Non-authoritative answer:
Name: test-balancer-798940081.us-east-2.elb.amazonaws.com
Address: 3.134.240.56
Name: test-balancer-798940081.us-east-2.elb.amazonaws.com
Address: 18.188.152.201
明らかに知らないアドレスが、2個もw
どこから湧いてきた。
試しに、前回作ったEC2向けのセキュリティグループから、
HTTP向けインバウンド通信をプライベートしか許可しないようにしてみる。
で、EC2のパブリックIPをブラウザに打ち込むと・・・あれ?繋がる
色々試しているうちに、ロードバランサのモニタリングにアクセスログが出始めているので、ひとまずELB経由でEC2にアクセスできているぽいことは確かとなる
そしてネットワークインターフェースのところに、
ロードバランサー用のNICが2枚(AZ毎に1つずつ)できていることを発見。
アドレスをみるとnslookupの結果と一致したので、これか〜!
思い返せば、設定画面のしょっぱなに「インターネット向け」って選んだので
自動的にパブリックIP持ったNICが生成されたというわけか。なるほどね。
で、なんでEC2自体にふられているパブリックIPがまだ生きているのか。
これはどうも、どこぞのサーバがキャッシュをもっているだけだった模様
スマホを自宅Wifiにつなげてアクセスしたら、無事に繋がりませんでしたとさ。
だよね、繋がるわけないよね・・・。
(余談)軽い気持ちでEC2にtracerouteしたら死ぬほどホップしてビビった
オハイオは遠い
(余談2)EC2をstopしたら、ターゲットグループ上の表記は以下になった。当然。
改めてblackbelt
[AWS Black Belt Online Seminar] Elastic Load Balancing (ELB) 資料及び QA 公開 | Amazon Web Services ブログ
を読むと、AZ毎にELBを作る仕組みみたいだ。
ということは、当初の絵とELBのイメージが違ったので修正。
進捗はこんな感じに。
さて、ロードバランサーという割に1台しか設定しなかったのが不満なので、
次は改めて、Auto-Scalingで複数台準備した環境にELBを適用してみようと思う。