web-dev-qa-db-ja.com

AWS Load Balancerに静的IPアドレスを割り当てる

静的IPアドレスをELBに割り当てる方法を教えてください。私にはできないようです。

オンラインの記事の中にはRoute 53レコードの作成を要求するものがありますが、これにはドメインのCNAMEを変更する必要があり、これによりメールトラフィックもリダイレクトされます。 CNAMEではなくAレコードを変更したいだけです。

一部の記事では、EC2インスタンスをリバースプロキシとして使用できることも言及しています。しかし、1つのプロキシで大量のトラフィックを処理できますか?

これに対する解決策はありますか?

35
Narayan Prusty

AWSのElastic Load Balancerは、実際には次の2つのレベルで伸縮性があります。 http://shlomoswidler.com/2009/07/elastic-in-elastic-load-balancing-elb.html

最初のレベルは、ロードバランサー自体です。 ELBが現在のボリュームに合わせてスケーリングし、突然発生したボリュームにバーストできるようにするために、AWSは「静的な」DNSホスト名を割り当てます(例:MyDomainELB-918273645.us-east-1.elb.amazonaws.com)。そのホスト名は複数のIPアドレスを指します。 (コマンドラインから)を実行すると、それを確認できます。

$ Host MyDomainELB-918273645.us-east-1.elb.amazonaws.com
MyDomainELB-918273645.us-east-1.elb.amazonaws.com 172.31.7.2
MyDomainELB-918273645.us-east-1.elb.amazonaws.com 172.31.11.33

ELB内の弾力性の2番目の形式は、明らかにELBがプール内のEC2インスタンスの1つにクエリを送信することです。

そのため、ロードバランサーに静的IPアドレスを割り当てようとすると、自滅することがわかります。

EC2インスタンスをリバースプロキシとして使用することも、ELBに到達する前にボトルネックを作成するため、自己破産のように思われます。独自のロードバランサーを作成することもできます。

推奨される解決策(指摘した)は、ELBホスト名(変更されない)を指すCNAMEを作成することです。

つまり、my-app.mycompany.com-> MyDomainELB-918273645.us-east-1.elb.amazonaws.com

これにより、ドメイン内のELBの背後にスケーラブルなアプリケーションを統合できます。

DNSでCNAMEを作成できない理由や、メールトラフィックの誘導に関係することを完全に理解しているかどうかはわかりません。

44
Brooks

AWSの新機能(Re:Invent 2017で発表されたと思います)では、ネットワークロードバランサー(NLB)を使用した静的IPが許可されます。 NLBは、レイヤー4(TCP)のみを処理でき、HTTPの詳細(レイヤー7)は処理できません。

アベイラビリティーゾーンごとに1つのElastic IPアドレスを割り当てることができます。

詳細については、 AWSブログ投稿 または NLBドキュメント を参照してください。

「クラシックロードバランサー」および「アプリケーションロードバランサー」は、静的IPをサポートしていません。それらによってのみ提供される機能が必要な場合は、上記のCNAMEソリューションにフォールバックする必要があります。

9
Bernhard

NLBを活用して静的IPをクラシックおよびアプリケーションロードバランサーに提供するこのトピックに関するAWSサポートによって最近ブログが公開されました- https://aws.Amazon.com/blogs/networking-and-content-delivery/using- static-ip-addresses-for-application-load-balancers /

投稿で説明されているソリューションの概要

最終的に、トラフィックを受け入れて内部ALBに転送するNLB上のTCPリスナーになります。 ALBはTLSを終了し、HTTPヘッダーを検査し、設定されたルールに基づいて、インスタンス、サーバー、またはコンテナを含むターゲットグループにリクエストをルーティングします。 AWS Lambda関数は、IPアドレスの変更についてALBを監視し、NLBターゲットグループを更新することにより、すべての同期を維持します。最終的には、ホワイトリストに登録しやすい静的IPアドレスがいくつか用意され、ALBの利点が失われることはありません。 2つのロードバランサーを介してすべてのトラフィックを送信することに注意してください。

8
Aditya

Network Load Balancerとは異なり、Application Load Balancer(ALB)はElastic IPをサポートしていませんが、それは最悪の部分ではありません。 Route 53をALBとともに使用する場合、DNSはTTLを60秒に自動的に設定します。これは、古いWindows DNSサーバーを実行している私たちの機関(主に政府機関)の顧客に問題を引き起こしているようです。彼らは、ALBのリスナーがそのような短い通知で公開IPを変更するのに追いつくことができません。古いDNSインフラストラクチャは、そのような積極的なTTLを尊重していないか、処理することができません。

私はそれが好きではありませんが、AWSはここでApplication Load Balancerの前にNetwork Load Balancerを配置することを推奨しています: https://aws.Amazon.com/blogs/networking-and-content-delivery/using-static-ip-addresses-for-application-load-balancers /

0
Slawomir