GCEインスタンスに複数のIPアドレスをリッスンさせようとしています(SEOの理由から、同じインスタンスで複数のトラフィックの少ないサイトをホストするため)。
最終目標:mydomain.comはIP1を指し、myotherdomain.esはIP2を指し、GCEインスタンスはIP1とIP2の両方をリッスンし、それに応じてコンテンツを提供します。
メインインスタンスを指すターゲットインスタンスを追加し、次のような転送ルールを作成することができました。
gcloud compute forwarding-rules create another-ip --port 80 --target-instance MY_TARGET_INSTANCE_URL
実際には、一時的なIPアドレスが作成されました。静的に宣伝しようとしましたが、割り当てを超えました(現在、2か月間の無料トライアルを行っています)。
これは正しいですか?トライアルが終了すると、静的IPをいくつでも作成して、それらを自分の唯一のインスタンスにポイントさせることができますか?価格についても何も見つかりませんでした。アクティブなインスタンスに割り当てられたIPは無料ですが、追加のIPはどうですか?
これは私が管理しているサイトに必要な構成であるため、GCEですべてを移動する前に、それが機能することを確認したいと思います。
転送ルールを使用して、1つのVMインスタンスに対して複数の外部IPを取得できます。
使用したいコマンド:
VMインスタンスのTargetInstanceを作成します:
gcloud compute target-instances create <target-instance-name> --instance <instance-name> --zone=<zone>
TargetInstanceを指すForwardingRuleを作成します。
gcloud compute forwarding-rules create <forwarding-rule-name> --target-instance=<target-instance-name> --ip-protocol=TCP --ports=<ports>
プロトコル転送 を参照してください。
また、1つのCompute Engineインスタンスに2つの静的IPが必要ですが、Googleのクォータではこれが許可されていません。
クォータは https://console.cloud.google.com/iam-admin/quotas から確認できます。
他の可能性は、VM上に複数のネットワークインターフェイスを持つことです
これには、新しいVPCネットワークを追加する必要があります。ip10.130.0.0/ 20は現在のインフラストラクチャでは使用されず、追加のネットワークとして使用できます。適切なファイアウォールルールと適切なルーティングルールを追加します(デフォルトのルールをコピーできます)。設定ミスを避けるため)
既存のマシンにネットワークインターフェイスを追加することはできないことに注意してください。追加する必要があります。
最後に、デフォルトゲートウェイに注意を払う必要があります。従来のネットワーク動作では、デフォルトゲートウェイを変更するか、適切なルーティングルールを作成するまで、すべてが最初のネットワークインターフェイスを通過し、2番目のネットワークインターフェイスにアクセスできなくなります。
通常、eth0とeth1があります。この例では、eth1にバインドするサービスでeth1を使用できるようにします。
ip addr add 10.130.0.2/32 broadcast 10.130.0.2 dev eth1
ip link set eth1 up
ip route add 10.130.0.1 src 10.130.0.2 dev eth1
ip route add 10.130.0.1 src 10.130.0.2 dev eth1 table 100
ip route add default via 10.130.0.1 dev eth1 metric 10
ip route add default via 10.130.0.1 dev eth1 table 100
ip rule add from 10.130.0.2/32 table 100
ip rule add to 10.130.0.2/32 table 100
curl --interface eth1 ifconfig.co
curl --interface eth0 ifconfig.co
ping -I eth1 8.8.8.8