Network Service Tiers の使用

はじめに

このページでは、ワークロードに対して Network Service Tiers の階層の 1 つを指定する方法を説明します。ネットワーク階層を手動で設定する前に、Cloud Network Service Tiers の概要の情報をご確認ください。

仕様

Network Service Tiers は、有効な GCP リソースでのみサポートされます。スタンダード階層の利用は、一部のリージョンに限られますが、プレミアム階層は、すべての GCP リージョンで利用可能です。

外部 IP プール

外部 IP アドレスがグローバルかリージョンか、またリージョンであればどのネットワーク階層かによって、アドレスの選択元のプールが決まります。あるプール内の IP アドレスを、別のプールに移動することはできません

リージョン外部でスタンダード階層の IP アドレスのプールは、それぞれのリージョンに固有で、有効なリソースのタイプではありません。たとえば、スタンダード階層を使用する VM インスタンス、HTTP(S)、SSL プロキシ、TCP プロキシ、ネットワーク ロードバランサはすべて、選択したリージョンのスタンダード階層プールの IP を利用します。

プレミアム階層では、HTTP(S)、SSL プロキシ、TCP プロキシ ロードバランサは、グローバル外部 IP アドレスを使用します。一方、ネットワーク ロードバランサと VM インスタンスは、リージョン外部 IP アドレスを使用します。各リージョンには、グローバル外部 IP アドレスのプールとは別に、プレミアム階層用のリージョン外部 IP アドレスのプールがあります。

未割り当ての IP アドレス

スタンダード階層で未使用のリージョン外部 IP アドレスは、プレミアム階層で未使用の IP アドレスとは動作が異なります。

スタンダード階層の IP アドレスは、有効なリソースに割り当てられていないときに、自動的に「パーキング」状態になります。パーキング状態でも IP アドレスは、特定のリクエストに応答します。たとえば、パーキング中のスタンダード階層の IP アドレスに、HTTP リクエストが送信されると、Google がホストする HTTP 404(Not Found)ウェブページが送信されます。スタンダード階層のパーキング中 IP アドレスに送信されたトラフィックは、単に破棄されるわけではありません。さらにスタンダード階層の IP アドレスは、リソースへの割り当て処理を行う間、あたかもパーキング状態のように動作できます。

ライブ マイグレーションに 20 分以上かかると、VM インスタンスに割り当てられたスタンダード階層の外部 IP アドレスが、パーキング状態に移行することがあります。VM に割り当てられたプレミアム階層の外部 IP アドレスは、長時間のライブ マイグレーション中のトラフィックを単に破棄します。

プロジェクトにデフォルト階層を設定する

プロジェクトに、デフォルトのネットワーク階層を定義するには、次の手順に従います。リソース自体に階層を指定しなければ、プロジェクト内で新しく作成された有効なリソースはこの階層を使用します。プロジェクトのデフォルト階層を変更した場合も、既存のリソースの階層は変わりません。

Console

  1. Google Cloud Platform Console の [Network Service Tiers] ページに移動します。
    [Network Service Tiers] ページに移動
  2. [階層を変更] ボタンをクリックします。
  3. [プレミアム] または [標準] を選択します。
  4. [変更] をクリックします。

gcloud

gcloud compute project-info update \
    --default-network-tier [NETWORK_TIER]

ここで、[NETWORK_TIER]PREMIUM または STANDARD です。デフォルトは PREMIUM です。

API

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/setNetworkTier
{
  "networkTier": "STANDARD"
}

ここで、[PROJECT_ID] をプロジェクト ID に置き換えます。

リソースに指定したネットワーク階層は常に、プロジェクトに定義したデフォルト階層よりも優先されます。たとえば、プロジェクトのデフォルト階層がスタンダードでも、グローバル外部 IP アドレス(プレミアム階層を使用する必要があります)と、HTTP(S) ロードバランサのグローバル転送ルールを、プレミアム階層で作成できます。

階層構成レベル(クリックで拡大)
階層構成レベル(クリックで拡大)

静的外部アドレスの作成

静的リージョン外部 IP アドレスを作成する場合、ネットワーク階層には PREMIUMSTANDARD を指定できます。

スタンダード階層を使用して、静的リージョン外部 IP アドレスを予約するには、次の操作を実行します。

Console

  1. Google Cloud Platform Console の [外部 IP アドレス] ページに移動します。
    [外部 IP アドレス] ページに移動
  2. [静的アドレスを予約] をクリックします。
  3. [タイプ] で、[地域] を選択し、次にスタンダード階層をサポートするリージョンを選択します。
  4. [ネットワーク サービス階層] で [標準] を選択します。
  5. 必要に応じて他のフィールドに値を入力します。
  6. [予約] をクリックします。

gcloud

gcloud compute addresses create my-standard-tier-ip-address \
     --region [REGION] \
     --network-tier STANDARD

次のように指定します。

  • [REGION] には、どのリージョンでリージョン アドレスを作成するかを指定します。

他のコマンドライン フラグについては、gcloud のドキュメントをご覧ください。

API

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/[REGION]/addresses
{
  "name": "my-standard-tier-ip-address",
  "networkTier": "STANDARD"
}

次のように指定します。

  • [PROJECT_ID] には、プロジェクト ID を指定します。
  • [REGION] には、どのリージョンで転送ルールを作成するかを指定します。

転送ルールの作成

新しい転送ルールを作成するときに、ネットワーク階層を指定できます。指定できる値は PREMIUM(デフォルト)と STANDARD です。

--address フラグを指定して外部 IP アドレスを指定する場合は、そのアドレスの階層と、転送ルールに対して指定する階層が同一であることが必要です。転送ルールを作成するときに --address フラグを指定しなかった場合は、該当する階層のエフェメラル IP アドレスが自動的に割り当てられます。

スタンダード階層は、リージョン転送ルールに対してのみ使用できます。グローバル転送ルールではプレミアム階層を使用する必要があります。

ロードバランサは、2 つの異なる転送ルールを階層ごとに 1 つずつ使用することで、プレミアム階層とスタンダード階層の両方を使用できます。特定の接続用の階層を選択するには、関連する IP アドレスをリクエストで指定します。

Console

コンソールでスタンダード階層の転送ルールを作成するには、ロードバランサを作成するか、既存のロードバランサを更新する必要があります。ロードバランサに複数のリージョンのバックエンド サービスが設定されている場合は、スタンダード階層を使用できません。ロードバランサの選択と作成の方法については、負荷分散のドキュメントをご覧ください。

  1. Google Cloud Platform Console の [負荷分散] ページに移動します。
    [負荷分散] ページに移動
  2. 既存のロードバランサの名前をクリックし、[編集] をクリックします。
  3. [フロントエンドの設定] をクリックします。
  4. [フロントエンド IP とポートの追加] をクリックします。
  5. [ネットワーク サービス階層] で [標準] をクリックします。
  6. 必要に応じて他のフィールドに値を入力します。
  7. [完了] をクリックします。
  8. [更新] をクリックします。

gcloud

gcloud compute forwarding-rules create my-standard-tier-regional-rule \
     --network-tier STANDARD \
     --address my-standard-tier-ip-address \
     --region [REGION] \
     --ports [PORTS] \
     --target-http-proxy=[TARGET_HTTP_PROXY] \
     | --target-https-proxy=[TARGET_HTTPS_PROXY] \
     | --target-ssl-proxy=[TARGET_SSL_PROXY] \
     | --target-tcp-proxy=[TARGET_TCP_PROXY] \
     | --target-pool=[TARGET_POOL] \
     | --target-instance=[TARGET_INSTANCE]

次のように指定します。

  • [REGION] には、どのリージョンで転送ルールを作成するかを指定します。
  • [TARGET_HTTP_PROXY][TARGET_HTTPS_PROXY][TARGET_SSL_PROXY][TARGET_TCP_PROXY][TARGET_POOL][TARGET_INSTANCE] には、指定するターゲット フラグに応じて、それぞれルールのターゲットを指定します。

他のコマンドライン フラグについては、gcloud のドキュメントをご覧ください。

API

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/[REGION]/forwardingRules
{
  "name": "my-standard-tier-regional-rule",
  "networkTier": "STANDARD",
  "IPAddress": "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/[REGION]/addresses/my-standard-tier-ip-address",
  "IPProtocol": "tcp",
  "target": "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/[REGION]/targetPools/[TARGET_POOL]"
}

次のように指定します。

  • [PROJECT_ID] には、プロジェクト ID を指定します。
  • [REGION] には、どのリージョンで転送ルールを作成するかを指定します。
  • [TARGET_HTTP_PROXY][TARGET_HTTPS_PROXY][TARGET_SSL_PROXY][TARGET_TCP_PROXY][TARGET_POOL][TARGET_INSTANCE] には、指定するターゲット フラグに応じて、それぞれルールのターゲットを指定します。

インスタンス

インスタンスの作成

作成するインスタンスがインターネットに直接接続するものである場合は、ネットワーク階層を指定できます。指定できる値は PREMIUM(デフォルト)と STANDARD です。このネットワーク階層が意味を持つのは、インスタンスが直接インターネットと通信する場合のみです。インスタンスがロードバランサ経由でしかインターネットに到達できない場合は、ネットワーク階層を指定する必要はありません。ロードバランサ転送ルールに対して指定された階層が接続に使用されるからです。

予約済みアドレスを使用して静的外部 IP を割り当てる場合は、アドレスのネットワーク階層がインスタンスのネットワーク階層と一致している必要があります。エフェメラル外部 IP アドレスを割り当てる場合は、インスタンスのネットワーク階層に対応するプールから IP アドレスが割り当てられます。

Console

  1. Google Cloud Platform Console の [VM インスタンス] ページに移動します。
    [VM インスタンス] ページに移動
  2. [インスタンスを作成] をクリックします。
  3. [管理、セキュリティ、ディスク、ネットワーク、単一テナンシー] をクリックします。
  4. [ネットワーキング] タブをクリックします。
  5. [ネットワーク インターフェース] で、デフォルトのネットワーク インターフェースの [編集] 鉛筆アイコンをクリックします。
  6. [ネットワーク サービス階層] で [標準] を選択します。
  7. 必要に応じて他のフィールドに値を入力します。
  8. [作成] をクリックします。

gcloud

gcloud compute instances create my-standard-tier-instance \
    --network-tier STANDARD

他のコマンドライン フラグについては、gcloud のドキュメントをご覧ください。

API

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances
{
  "name": "my-standard-tier-instance",
  "networkInterfaces":[
   {
    "network": "global/networks/default",
    "name": "nic0",
    "accessConfigs": [
     {
     "name": "External NAT",
     "type":"ONE_TO_ONE_NAT",
     "networkTier":"STANDARD"
     }
    ]
   }
  ],
  "IPAddress": "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/[REGION]/addresses/my-standard-tier-ip-address",
  ... other parameters
}

次のように指定します。

  • [PROJECT_ID] には、プロジェクト ID を指定します。
  • [REGION] には、リソースのリージョンを指定します。
  • [ZONE] には、インスタンスを作成するゾーンを指定します。

他の必須および省略可能なパラメータのリストについては、API のドキュメントをご覧ください。

アクセス構成のインスタンスへの追加

インスタンスのアクセス構成を作成するとき(つまり、エフェメラルまたは静的外部 IP をインスタンスに割り当てるとき)に、インスタンスの階層も指定できます。既存のアドレスを指定する場合は、そのアドレスの階層とインスタンスに対して指定する階層が同一でなければなりません。指定できる値は PREMIUMSTANDARD です。

gcloud

gcloud compute instances add-access-config [INSTANCE_NAME] \
    [--network-interface [INTERFACE_NAME]; default=”nic0” \
    [--access-config-name=[ACCESS_CONFIG_NAME]; default="external-nat"] \
    [--address=[ADDRESS]] \
    [--network-tier PREMIUM | STANDARD; default=”PREMIUM”]]

次のように指定します。

  • [INSTANCE_NAME] には、インスタンスの名前を指定します。
  • [INTERFACE_NAME] には、インターフェースの名前を指定します。デフォルトは nic0 で、これはインスタンス上のデフォルト インターフェースの名前です。
  • [ACCESS_CONFIG_NAME] には、インターフェースのアクセス構成の名前を指定します。
  • [ADDRESS] には、IP アドレス リソースの URL を指定します(IP アドレスを指定する場合)。

API

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/addAccessConfig?networkInterface=nic0
{
  "name": [INSTANCE_NAME],
  "networkTier": "STANDARD",
  ... other parameters
}
  • [INSTANCE_NAME] には、インスタンスの名前を指定します。
  • [PROJECT_ID] には、プロジェクト ID を指定します。
  • [ZONE] には、インスタンスのゾーンを指定します。

他の必須および省略可能なパラメータのリストについては、API のドキュメントをご覧ください。

スタンダード階層を使用するインスタンス テンプレートの作成

インスタンス テンプレートの作成時にネットワーク階層を構成するには、次のコマンドを使用します。

Console

  1. Google Cloud Platform Console の [インスタンス テンプレート] ページに移動します。
    [インスタンス テンプレート] ページに移動
  2. [インスタンス テンプレートを作成] をクリックします。
  3. [管理、セキュリティ、ディスク、ネットワーク、単一テナンシー] をクリックします。
  4. [ネットワーキング] タブをクリックします。
  5. [ネットワーク サービス階層] で [標準] を選択します。
  6. 必要に応じて他のフィールドに値を入力します。
  7. [作成] をクリックします。

gcloud

gcloud compute instance-templates create my-standard-tier-instance-template \
    --network-tier STANDARD

他のコマンドライン フラグについては、gcloud のドキュメントをご覧ください。

API

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceTemplates
{
  "name": "my-standard-tier-instance-template",
  "networkInterfaces[].accessConfigs[].networkTier": "STANDARD",
  ... other parameters
}

他の必須および省略可能なパラメータのリストについては、API のドキュメントをご覧ください。

次のステップ

  • インスタンスの詳細について、Compute Engine インスタンスのドキュメントを参照する。
  • ロードバランサと転送ルールの詳細について、負荷分散のドキュメントを参照する。
  • インスタンス テンプレートの詳細については、Compute Engine インスタンス テンプレートのドキュメントを参照する。
このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Network Service Tiers のドキュメント