外部 IP アドレス

IP アドレスは、環境に流入するトラフィックのバランス調整、分散、管理に使用されます。これは、ルーター、ファイアウォール、ほとんどのハードウェアとソフトウェアの構成に組み込まれています。内部 IP アドレスと外部 IP アドレスのロジックを計画することは、クラウド環境の柔軟性とセキュリティを維持するうえで非常に重要です。そのため、IP アドレスがワークロードにどのように影響し、内部ネットワーク トラフィックやパブリック ネットワーク トラフィックとどのように相互作用するかを理解することが重要です。この Codelab では、Compute Engine インスタンスの外部 IP アドレスを予約して割り当て、公共のインターネットへの通信を有効にする方法を学びます。

IP アドレスとは

IP アドレスは TCP/IP ネットワーキングで非常に重要です。これらは、インスタンスとネットワーキング デバイスが相互に通信できるように、認識して理解するアドレスです。

Google Cloud の各仮想マシン(VM)インスタンスには、内部 IP アドレスと通常は外部 IP アドレスが割り当てられます。内部 IP アドレスは同じ Virtual Private Cloud(VPC)ネットワーク内のインスタンス間の通信に使用され、外部 IP アドレスは他のネットワークまたはインターネット内のインスタンスとの通信に使用されます。IP アドレスはデフォルトでエフェメラルですが、静的に割り当てることもできます。

内部 IP は、DHCP を介してサブネットワークの IP 範囲からインスタンスに割り当てられます。デフォルトでは、内部 IP はエフェメラルであり、インスタンスが削除されると解放されます。ただし、サブネットワークの IP アドレス範囲から静的内部 IP アドレスを予約することはできます。

外部 IP も、Google 提供のプールから DHCP 経由で割り当てられます。IP は VM インスタンスの内部 IP にマッピングされます。必要に応じて、静的外部 IP アドレスを予約できます。静的外部 IP アドレスは、要件に応じてグローバルまたはリージョンにできます。たとえば、グローバル静的 IP アドレスは、グローバル ロードバランシングに使用されるグローバル転送ルールで使用できます。

作成するアプリの概要

  • Apache 2.0 がインストールされた Compute Engine インスタンス
  • 外部 IP アドレスの予約

学習内容

  • インスタンスから IP アドレスを削除する方法
  • IP アドレスを予約してインスタンスに割り当てる方法
  • IP アドレスに関するベスト プラクティス

必要なもの

  • Google アカウント

セルフペース型の環境設定

Google アカウントをまだお持ちでない場合は、アカウントを作成する必要があります。Google Cloud コンソールにログインし、新しいプロジェクトを作成します。

プロジェクト ID を忘れないようにしてください。プロジェクト ID はすべての Google Cloud プロジェクトを通じて一意の名前にする必要があります。以降、この Codelab では PROJECT_ID と呼びます。

次に、Google Cloud リソースを使用するために、Cloud コンソールで課金を有効にする必要があります。この Codelab の操作をすべて行っても、費用は数ドル程度です。ただし、その他のリソースを使いたい場合や、実行したままにしておきたいステップがある場合は、追加コストがかかる可能性があります(最後にあるクリーンアップのセクションをご覧ください)。Google Cloud の新規ユーザーは、300 ドル分の無料トライアルの特典があります。

プロジェクト環境を初期化する

[コンピューティング] > [Compute Engine] > [VM インスタンス] に移動します。

Google Cloud Marketplace が提供する、すぐに使える開発スタック、ソリューション、サービスを活用すると、開発をスピードアップできます。Google Cloud Marketplace の Compute Engine イメージを使用して、外部 IP アドレスの機能をテストします。Google Cloud Marketplace にアクセスして、事前構成済みの LAMP スタックを Compute Engine にデプロイします。メニューに移動し、[マーケットプレイス] をクリックします。

「Apache」という用語を検索します。LAMP スタックを選択します。クリックして画像をデプロイします。

[Compute Engine 上で起動] をクリックします。

インスタンスに lamp-1 という名前を付けます。ネットワーキングで、インスタンスをデフォルトの VPC ネットワークと us-central1-f ゾーンのデフォルトのサブネットワークのままにします。[HTTP トラフィックを許可する] チェックボックスがオンになっていることを確認します。外部 IP アドレス オプションをエフェメラルからなしに変更します。

[デプロイ] をクリックします。

[Deployment Manager] ホームページが表示され、リソースがスピンアップされていることがわかります。

スタックのデプロイが完了すると、完了を示す緑色のチェックマークが表示されます。右側のメニューの LAMP スタックのスタートガイドのセクションで、[サイトにアクセス] オプションがグレー表示になっていることに注目してください。このアイコンにカーソルを合わせると、インスタンスに外部 IP アドレスがないため、パブリック インターネットからアクセスできないことが説明されます。

サイトにアクセスするには、外部 IP アドレスを予約して lamp-1 インスタンスに割り当てる必要があります。[ネットワーキング > VPC ネットワーク > 外部 IP アドレス] に移動して、[IP アドレス] ページに移動します。

[静的アドレスを予約] をクリックし、lamp-1-ip という名前を付けます。残りはデフォルトのままにして、IPv4 アドレスを lamp-1 インスタンスに割り当てます。

これで、lamp-1 インスタンスにプリインストールされているサンプルアプリにアクセスできるようになります。[ツール] > [Deployment Manager] > [デプロイ] に移動して、Deployment Manager のホームページに再びアクセスします。

lamp-1 インスタンスをクリックします。[サイトにアクセス] をクリックします。このボタンはグレー表示ではなくなっています。

これで、静的外部 IP アドレスを介して Apache サーバーのテストに使用されるデフォルトのウェルカム ページが表示されます。

これで、Google Cloud で Compute Engine インスタンスに静的外部 IP アドレスを予約して割り当てる基本的な方法を理解できました。

学習した内容

  • インスタンスが外部 IP アドレスの影響を受ける仕組み
  • Google Cloud Marketplace を使用して事前構成済みイメージをデプロイする方法
  • Compute Engine インスタンスに静的外部 IP アドレスを予約して割り当てる方法

次のステップ

  • IP アドレスの詳細については、IP アドレスをご覧ください。

Cloud Shell で次のコマンドを使用して、Compute Engine インスタンスを削除します。

gcloud compute instances delete lamp-1 

次のコマンドを使用して作成した外部 IP アドレスを削除します。

gcloud compute addresses delete lamp-1-ip