Network Service Tiers の使用

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

仕様

Network Service Tiers は、有効な Google Cloud リソースでのみサポートされます。スタンダード ティアは一部のリージョンでのみご利用いただけますが、プレミアム ティアはすべての Google Cloud リージョンでご利用いただけます。

外部 IP アドレスプール

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

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

プレミアム ティアでは、外部 HTTP(S) ロードバランサ、SSL プロキシ ロードバランサ、TCP プロキシ ロードバランサはグローバル外部 IP アドレスを使用しますが、ネットワーク ロードバランサと VM インスタンスはリージョン外部 IP アドレスを使用します。各リージョンには、グローバル外部 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 Console で、[Network Service Tiers] ページに移動します。

    [Network Service Tiers] ページに移動

  2. [階層を変更] をクリックします。

  3. [プレミアム] または [スタンダード] を選択して、[変更] をクリックします。

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 アドレスの作成

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

スタンダード ティアを使用する静的リージョン外部 IP アドレスを予約するには、次の手順に従います。

Console

  1. Cloud Console で、[外部 IP アドレス] ページに移動します。

    [外部 IP アドレス] ページに移動

  2. [静的アドレスを予約] をクリックします。

  3. [タイプ] で、[リージョン] を選択し、スタンダード ティアをサポートするリージョンを選択します。

  4. [ネットワーク サービス階層] で [スタンダード] を選択します。

  5. 必要に応じて他のフィールドに値を入力します。

  6. [予約] をクリックします。

gcloud

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

REGION は、リージョン IP アドレスを作成するリージョンに置き換えます。

他のコマンドライン フラグについては、gcloud compute アドレスをご覧ください。

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 アドレスを指定する場合は、その IP アドレスは転送ルールに指定した階層に存在している必要があります。
  • 転送ルールを作成するときに --address フラグを指定しない場合、Google Cloud は適切な階層のエフェメラル IP アドレスを割り振ります。

スタンダード ティアは、リージョン転送ルールでのみ使用できます。グローバル転送ルールは常にプレミアム ティアを使用します。

ロードバランサは、2 つの異なる転送ルールを階層ごとに 1 つずつ使用することで、プレミアム ティアとスタンダード ティアの両方を使用できます。この方法は、あるアプリケーションでプレミアム ティアの低レイテンシが求められ、別のアプリケーション(たとえば、静的コンテンツの提供など)では、高レイテンシが必要で、スタンダード ティアでの利用が可能な場合に役立ちます。

Console

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

  1. Cloud Console で、[負荷分散] ページに移動します。

    [負荷分散] ページに移動

  2. 既存のロードバランサの名前をクリックして、編集)をクリックします。

  3. [フロントエンドの構成] をクリックします。

  4. [フロントエンド IP とポートの追加] をクリックします。

  5. [ネットワーク サービス階層] で [スタンダード] をクリックします。

  6. 必要に応じて他のフィールドに値を入力します。

  7. [完了]、[更新] の順にクリックします。

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_PROXYTARGET_HTTPS_PROXYTARGET_SSL_PROXYTARGET_TCP_PROXYTARGET_POOLTARGET_INSTANCE: 指定するターゲット フラグに応じて、それぞれルールのターゲットを指定します。

他のコマンドライン フラグについては、gcloud compute forwarding-rules をご覧ください。

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_PROXYTARGET_HTTPS_PROXYTARGET_SSL_PROXYTARGET_TCP_PROXYTARGET_POOLTARGET_INSTANCE: 指定するターゲット フラグに応じて、それぞれルールのターゲットを指定します。

VM インスタンス

VM インスタンスの作成

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

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

Console

  1. Cloud Console で、[VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動

  2. [インスタンスを作成] をクリックします。

  3. [管理、セキュリティ、ディスク、ネットワーク、単一テナンシー] をクリックします。

  4. [ネットワーキング] タブをクリックします。

  5. [ネットワーク インターフェース] で、デフォルトのネットワーク インターフェースの [編集]()をクリックします。

  6. [ネットワーク サービス階層] で [スタンダード] を選択します。

  7. 必要に応じて他のフィールドに値を入力します。

  8. [作成] をクリックします。

gcloud

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

他のコマンドライン フラグについては、gcloud compute インスタンスをご覧ください。

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
  • ZONE: インスタンスを作成するゾーン
  • REGION: リソースのリージョン

    このほかの必須パラメータと省略可能なパラメータのリストについては、REST リソース: インスタンスをご覧ください。

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

インスタンスのアクセス構成を作成するとき(エフェメラルまたは静的外部 IP アドレスをインスタンスに割り当てるとき)に、インスタンスの階層も指定できます。既存の 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=IP_ADDRESS \
    [--network-tier PREMIUM | STANDARD; default=”PREMIUM”]]

次のように置き換えます。

  • INSTANCE_NAME: インスタンスの名前
  • INTERFACE_NAME: インターフェースの名前。デフォルトは nic0(インスタンス上のデフォルト インターフェースの名前)です。
  • ACCESS_CONFIG_NAME: インターフェースのアクセス構成の名前
  • IP_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
}

次のように置き換えます。

  • PROJECT_ID: プロジェクト ID
  • ZONE: インスタンスのゾーン
  • INSTANCE_NAME: インスタンスの名前

このほかの必須パラメータと省略可能なパラメータのリストについては、REST リソース: インスタンスをご覧ください。

インスタンスのネットワーク階層の更新

update-access-config を使用して、インスタンスの階層を変更できます。ネットワーク階層に指定できる値は PREMIUMSTANDARD です。インスタンスに IP アドレスがある場合、または IP アドレスを割り当てる場合は、このコマンドで指定する階層と一致している必要があります。

Console

  1. Cloud Console で、[VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動

  2. インスタンスの名前をクリックします。

  3. [編集] をクリックします。

  4. [ネットワーク インターフェース] で、デフォルトのネットワーク インターフェースの [編集]()をクリックします。

  5. [ネットワーク サービス階層] で [スタンダード] を選択します。

  6. [保存] をクリックします。

gcloud

gcloud compute instances update-access-config INSTANCE_NAME \
    --network-interface nic0 \
    --network-tier STANDARD

INSTANCE_NAME は、インスタンス名で置き換えます。

API

  POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/updateAccessConfig?networkInterface=nic0
{
  "networkTier": "STANDARD",
  ... other parameters
}

次のように置き換えます。

  • PROJECT_ID: プロジェクト ID
  • ZONE: インスタンスのゾーン
  • INSTANCE_NAME: インスタンスの名前

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

インスタンス テンプレートの作成時にネットワーク階層を構成する手順は次のとおりです。

Console

  1. Cloud Console で、[インスタンス テンプレート] ページに移動します。

    [インスタンス テンプレート] ページに移動

  2. [インスタンス テンプレートを作成] をクリックします。

  3. [管理、セキュリティ、ディスク、ネットワーク、単一テナンシー] をクリックします。

  4. [ネットワーキング] タブをクリックします。

  5. [ネットワーク サービス階層] で [スタンダード] を選択します。

  6. 必要に応じて他のフィールドに値を入力します。

  7. [作成] をクリックします。

gcloud

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

他のコマンドライン フラグについては、gcloud compute instance-templates をご覧ください。

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
}

次のように置き換えます。

  • PROJECT_ID: プロジェクト ID
  • ZONE: インスタンス テンプレートのゾーン

このほかの必須パラメータと省略可能なパラメータのリストについては、REST リソース: instanceTemplates をご覧ください。