2017-09-01 24 views
1

Compute EngineでGoogle Cloud VMインスタンスをセットアップしました。私はイメージとしてWindows Server 2016を使用しています。私のVMインスタンスが作成された後、私は同じことの詳細を見ることができます。ネットワークインターフェースの下の詳細ページで、私は私の外部IPと内部IPを見ることができます。しかし、私はIP転送がオフになっていることがわかります。Google Cloud VMインスタンスIP転送を有効にする方法

enter image description here

どのように私はそれをオンにすることができますか?次のように私が達成しようとしています何

は次のとおりです。

  1. GoogleクラウドVMインスタンスのWindows Serverで私は、Tomcat 7
  2. をインストールしている私は、Tomcatでwarファイル(RESTのAPI)を展開しています。
  3. ローカルマシンからこのREST APIにアクセスしたいと思います。
  4. 親切に私が間違っているなら、私を修正したが、私は 次のようにそれにアクセスしようとしています:

    4.1 From local machine access GC VM Instance External IP 
    
    4.2 Then using IP forwarding my request should be forwarded to GC VM Instance Internal IP port 8080 
    
    4.3 On Internal IP port 8080 Tomcat serves the request 
    

親切に私のアプローチが正しいなら、私が知っていると私はそれを達成することができますか? plsが私がそれについてどうやって行くべきかを示唆していなければ。可能であれば、誰かが私をステップバイステップで案内することができます。

ご迷惑をおかけして申し訳ありません。

+0

オンにするには、インスタンスの作成時に--can-ip-forwardフラグを設定する必要があります(https://cloud.google.com/sdk/gcloud/reference/compute/instances/create – Dagang

+0

を参照)。 1つのVMインスタンスがある、私はそれがIP転送のユースケースだとは思わない。 Tomcatは0.0.0.0:8080でリッスンする必要があります。そうすれば、外部IPを使ってローカルマシンからアクセスできます。 – Dagang

答えて

0

Compute Engines VMインスタンスは、1対1のNATの背後にあります。パブリックIPは、VMの内部IPに置き換えられます。あなたが描いていることはうまくいくはずですtomcatポートへの接続は、Compute EngineファイアウォールとローカルWindowsファイアウォールの両方で許可されていることを確認してください。

スクリーンショットからの「IP転送」は、VMインスタンスがそのIPと一致しない受信パケットを送信できるようにすることです。これは、ドキュメントから、NATゲートウェイとしてVMを設定するために、たとえば使用されます。デフォルトでは、インスタンス

のためのIPフォワーディングを有効にする

を、Compute Engineのインスタンスは、元のIPアドレスがない限りパケットを転送することはできませんパケットはインスタンスのIPアドレスと一致します。同様に、Compute Engineは宛先IPアドレスがパケットを受信するインスタンスのIPアドレスと異なるパケットを配信しません。ただし、インスタンスを使用してパケットをルーティングする場合は、両方の機能が必要です。この送信元および宛先IPチェックを無効にするには、canIpForwardフィールドを有効にします。これにより、インスタンスは一致しない宛先または送信元IPを持つパケットを送受信できます。

https://cloud.google.com/vpc/docs/using-routes#canipforward

あなたは、Tomcatサーバーを実行するために、IPフォワーディングを有効にする必要はありません。

関連する問題