web-dev-qa-db-ja.com

1つのGoogleComputeEngineインスタンス上の複数のIPアドレス

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ですべてを移動する前に、それが機能することを確認したいと思います。

10
koichirose

転送ルールを使用して、1つのVMインスタンスに対して複数の外部IPを取得できます。

  1. デフォルトでは、VMには一時的な外部IPが割り当てられます。静的外部IPに昇格させることができます。これは、停止して再起動した後も変更されません。
  2. VMを指す転送ルールに追加の外部IPをアタッチする必要があります。静的IPを使用(または昇格)することもできます。

使用したいコマンド:

  1. VMインスタンスのTargetInstanceを作成します:

    gcloud compute target-instances create <target-instance-name> --instance <instance-name> --zone=<zone>
    
  2. TargetInstanceを指すForwardingRuleを作成します。

    gcloud compute forwarding-rules create <forwarding-rule-name> --target-instance=<target-instance-name> --ip-protocol=TCP --ports=<ports>
    

プロトコル転送 を参照してください。

10
Dagang

また、1つのCompute Engineインスタンスに2つの静的IPが必要ですが、Googleのクォータではこれが許可されていません。

クォータは https://console.cloud.google.com/iam-admin/quotas から確認できます。

enter image description here

1
Savas Adar

他の可能性は、VM上に複数のネットワークインターフェイスを持つことです

これには、新しいVPCネットワークを追加する必要があります。ip10.130.0.0/ 20は現在のインフラストラクチャでは使用されず、追加のネットワークとして使用できます。適切なファイアウォールルールと適切なルーティングルールを追加します(デフォルトのルールをコピーできます)。設定ミスを避けるため)

既存のマシンにネットワークインターフェイスを追加することはできないことに注意してください。追加する必要があります。

  • 現在のマシンの電源を切ります
  • ディスクとネットワークを切り離します(削除せずに!!!)
  • 2枚以上のネットワークカードで新しいマシンを作成する
  • 古いディスクとネットワークを新しいマシンに接続します

最後に、デフォルトゲートウェイに注意を払う必要があります。従来のネットワーク動作では、デフォルトゲートウェイを変更するか、適切なルーティングルールを作成するまで、すべてが最初のネットワークインターフェイスを通過し、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

ここにあります ドキュメント、あるいは このガイド が役立つかもしれません。

0
intika