GCPに限定公開なサブネットを作成する

はじめに

 Google Cloud Platform(GCP) でVirtual Private Cloud(VPC)の中に通常のサブネットを作成すると、そのサブネットに配置したGoogle Compute Engine(GCE)はプライベートIPアドレスとグローバルIPアドレスの2つのIPアドレスを持ちます。

 グローバルIPアドレスを持っているGCEは、 グローバルIPアドレスを持たないGCEに比べ、インターネットから攻撃を受ける可能性が高くなります。

 グローバルIPアドレスを持たないGCEの場合、インターネットから攻撃するには何かしら中継するものが必要になるためです。

 通常のサブネットと異なる、限定公開なサブネットを作成した場合、そのサブネットに配置したGCEはグローバルIPアドレスを持たなくなります。
 社内システムなど、インターネットに公開する必要がなく、グローバルIPアドレスをGCEに持たせる必要がない場合、この限定公開なサブネットがオススメです。

 当記事では限定公開なサブネットの作成方法と、その中にあるGCEにGCPの外側から接続するための方法、並びに、インターネットへ接続する方法を解説します。

サブネットを限定公開にする方法

 VPCにサブネットを追加する際に『限定公開のGoogleアクセス』をオンにすることで、 限定公開なサブネットを作成できます。

 既存のサブネットにおいても 『限定公開のGoogleアクセス』をオンに変更することが可能です。

グローバルIPアドレスを持たないGCEに接続する方法

 限定公開なサブネットに配置された、グローバルIPアドレスを持たないGCEは、そのままではGCPの外側から誰も接続できません。しかし、次のような方法でGCEに接続できるようになります。

  • 専用線もしくはVPNで拠点と結ぶ
  • Cloud Load Balancingを作成する

 前者のVPNについては以下の記事をご覧ください。

GCPでCloud VPNを設定する

 後者のCloud Load Balancingについては、Cloud Load BalancingにグローバルIPアドレスを持たせることで、インターネットからCloud Load Balancingに接続できるようになり、そのCloud Load Balancingを経由してGCEに接続する方法です。これにより、意図せずGCEがグローバルIPアドレスを持ち、危険に晒されるといった可能性を低減できます。
(Cloud Load Balancingの作成方法はまたの機会にご紹介する予定です。)

グローバルIPアドレスを持たないGCEがインターネットに接続する方法

 限定公開なサブネットに配置された、グローバルIPアドレスを持たないGCEは、そのままではインターネットに接続することができません。インターネットから何かしらダウンロードする際などに困ることがあります。 しかし、次のような方法でインターネットに接続できるようになります。

  • 専用線もしくはVPNで拠点と結ばれている場合、拠点を経由してインターネットに接続する
  • Cloud NATを経由してインターネットに接続する

 専用線もしくはVPNで拠点と結ばれている場合、デフォルトルート(0.0.0.0/0)を拠点に引き寄せる、拠点にあるプロキシサーバーを経由する、などの方法で拠点を経由してインターネットに接続することができます。

 また、拠点を経由しなくとも、Cloud NATを作成することでインターネットに接続することができます。

Cloud NATを作成する方法

  1. GCPにログインしているブラウザで以下を開きます。
    https://console.cloud.google.com/net-services/nat

    初めて設定する場合など、以下が表示されることがありますので『開始』をクリックします。


    もしくは以下において『NATゲートウェイを作成』をクリックします。


  2. NATゲートウェイの名前、VPCネットワーク、リージョンには任意のものを設定します。


  3. ここで新しいクラウドルーターを作成します。


  4. 名前は任意のものを設定します。


  5. 戻って作成をクリックします。


  6. ステータスが『実行中』になれば完了です。

まとめ

 限定公開なサブネットを用意し、拠点からの接続は専用線もしくはVPNを経由し、インターネットへの接続はCloud NATを経由することで、インターネットに非公開な社内システムを構築することが可能となります。