私は多くの EC2 インスタンスを持っており、現在それぞれにパブリック IPv4 アドレスが関連付けられています。
実例 | パブリックIP | ドメイン名 |
---|---|---|
juno |
7.8.9.10 |
ec2-1-2-3-4.compute-1.amazonaws.com |
ceres |
7.8.9.11 |
ec2-1-2-3-5.compute-1.amazonaws.com |
venus |
7.8.9.12 |
ec2-1-2-3-6.compute-1.amazonaws.com |
現在、DNS は次のようにサブドメインを各インスタンスにポイントするように構成されています。
サブドメイン | CNAME |
---|---|
juno |
ec2-1-2-3-4.compute-1.amazonaws.com |
ceres |
ec2-1-2-3-5.compute-1.amazonaws.com |
venus |
ec2-1-2-3-6.compute-1.amazonaws.com |
ここまでは順調です。この設定は機能します。ただし、インスタンスごとに 1 つのパブリック IPv4 アドレスが必要になるという欠点があり、よく知られているように、IPv4 アドレスは不足し、使用コストがますます高くなっています。
このサーバー クラスターによって消費される IPv4 アドレスの数を減らす最善の方法は何ですか?
答え1
ALB などのリバース プロキシが適しています。おそらく AZ ごとに 1 つのパブリック IP がありますが、多くのドメインのトラフィックを受け入れて適切なインスタンスに送信できます。Nginx インスタンスを使用することもできますが、一般的にはサーバーよりもサービスが優先されます。
AWS でホストされている個人ドメインが 6 つありますが、IPv4 アドレスはありません。EC2 インスタンスには IPv6 アドレスがあり、ドメインの DNS は CloudFlare を指しています。CloudFlare は IPv6 経由でサーバーに接続し、Web サイトを IPv4 経由で利用できるようにします。問題は発生していませんが、Nginx 構成を少し試してようやく動作を確認できました。個人 Web サイトにはロード バランサーを使用していませんが、商用 Web サイトではおそらく使用するでしょう。