転送ルールがすでに作成されている場合にインターフェイスの IP 転送をオンにする方法

転送ルールがすでに作成されている場合にインターフェイスの IP 転送をオンにする方法

Google Cloud でホストされているインスタンスのインターフェースの IP 転送を有効にしようとしています。

  1. Google Compute Engine に f1 マイクロ VM インスタンスがあります。
  2. gcloudでIP転送ルールを作成しましたここ.
    コマンドはcompute forwarding-rules describe myrulenamehereルールの説明を表示します。
  3. VM インスタンスの詳細ページを開くと、IP 転送がオフとマークされており、[編集] ボタンで変更できません。

転送ルールがすでに作成されている場合、インターフェイスの IP 転送をオンにするにはどうすればよいですか?

答え1

この値は変更できません。読み取り専用すでに作成されたインスタンスの値。Googleの公式ドキュメントから確認できるここ:

canIpForward フィールドはインスタンス作成時にのみ設定できます。インスタンスの作成後、フィールドは読み取り専用になります。

したがって、現時点では、仮想マシン、ターゲット インスタンス、および転送ルールを再度作成するしか選択肢はないと思います。作成時にフラグを使用して IP 転送を有効にすることができます。--can-ip-forward例:

gcloud compute instances create instance-name --can-ip-forward

インスタンスの作成時に、コンソールのネットワーク インターフェース メニューから有効にすることもできます。

同じ転送ルールを維持し、ターゲットインスタンスを更新する実行中のみ:

gcloud compute forwarding-rules set-target ...

答え2

GCP では、VM インスタンスを再作成せずに IP_FORWARDING を更新するオプションが追加されました。

gcloud compute instances update-from-file INSTANCE_NAME

詳細については インスタンスプロパティの更新

答え3

@Ivan が述べたように、GCP では作成後に canIpForward を設定できるようになりました。ただし、GCP を初めて使用する場合は、クラウド シェル/ターミナルからこれを行う方法が直感的ではありません。

コンソールを開き、次のコマンドを発行します。

gcloud compute instances export $myInstanceName --project $myProjectId --zone $instanceZone --destination=config_old.txt

設定ファイルは、ローカルワークステーションではなく、シェルインスタンスのストアに保存されます(ドキュメンテーション(と語っています)。

ターミナルのすぐ上にある縦に並んだ 3 つのドットをクリックし、ダウンロードをクリックします。 zip ファイルを解凍し、config_old.txt を見つけます。 変更する属性 (canIpForward: true) を編集し、ファイルを config_new.txt として保存します。縦に並んだ 3 つのドットをクリックし、アップロード -> ファイル -> ブラウザー -> アップロードの順にクリックします。

アップロードしたら、次のコマンドを発行します。

gcloud compute instances update-from-file $myInstanceName --project $myProjectId --zone $instanceZone --source=/home/some_folder/config_new.txt --most-disruptive-allowed-action=REFRESH

インスタンスのネットワークインターフェースを確認します。IP転送がオンになっています

値の例:

gcloud compute instances export server1-example-com --project example-project --zone us-west4-c --destination=config_old.txt

gcloud compute instances update-from-file server1-example-com --project example-project --zone us-west4-c --source=/home/some_folder/config_new.txt --most-disruptive-allowed-action=REFRESH

関連情報