こんにちは。佐藤です。
梅雨の時期には、早く明けて欲しいなー。と思っていましたが、明けてしまえば今後は暑くて鬱陶しいなー。と思ってしまっています。
さて今日は、ALBを固定IPアドレスで利用する方法について、記載したいと思います。
ALBで固定IPアドレスを利用する機能はなく、NLBと組み合わせて利用する方法を孤高の男が以下ブログを書いておりました。
今回は、AWS Global Acceleratorを利用して固定IPアドレス化する方法をざっくり記載したいと思います。
はじめに
- ALBは東京リージョンHTTPSリスナーで構築済である前提とします。
- もし構築方法が不明な方は以下参照して構築してください。
- Application Load Balancer の作成 - Elastic Load Balancing
構成図
- こんな感じです。ALBの前に AWS Global Accelerator を置きます。それ以外はALB + EC2のシンプルな構成です。
作り方
- Global Acceleratorに移動します。オレゴンリージョンに切り替わりますが問題ありません。
続いて「Create accelerator」をクリックしてください。
リソース名を入力して、「Next」をクリックします。
- Ports / Protocol / Client affinity を入力していきます。ここではHTTPSなALBがエンドポイントになるので「443」「TCP」とします。
- Client affinityはGlobal Acceleratorが同じ送信元IPアドレスからの通信を同じエンドポイント転送する機能です。ほとんどの場合「None」で問題ないと思いますが、以下参照ください。
- エンドポイントのグループを作成していきます。Regionは「ap-northeast-1」でTraffic dialは「100」にして「Next」をクリックします。
- もし、東京リージョンとシンガポールリージョンでバランシングしたい場合は、ここにエンドポイントグループをもう一つ作ることになります。
- 「Add endpoint」をクリックします。
- Endpoint typeは「Application Load Balancer」を選択します。他にはNLB、EC2 Instance、EIPが選択できます。
- Endpointは、固定IPアドレス化したいALBを選択し、Weightは「255」にします。
- Preserve client IP addressについてはクライアントIPアドレスを保持する機能です。有効にすることでX-Forwarded-ForにクライアントIPアドレスが記録されます。
「Create accelerator」をクリックして完成です!
Statusが「Deployed」になったら利用できます。
- DNSにStatic IP addressesかDNS nameを登録してください。
- ここで払い出された、Static IP addressesがALBにアクセスする際のアドレスとして固定化されました。
まとめ
- AWS Global Acceleratorを使うことで簡単にALBを固定IPアドレス化することができました。
- AWS Global Acceleratorの料金はこちらをご参考ください。