Data Transfer Essentials リソースを作成する

トラフィックが Data Transfer Essentials の課金用に構成されていると識別されるようにするには、サービスを選択して、選択したエンドポイントに関連付ける必要があります。このページでは、必要な Data Transfer Essentials リソース(構成と宛先)を作成する方法について説明します。

始める前に

Data Transfer Essentials の構成または宛先を作成する前に、次の操作を行います。

  1. まだ行っていない場合は、Google Cloud CLI をインストールします

  2. アカウントで gcloud CLI を認証します。

    gcloud auth login
    
  3. プロジェクトを設定します。

    gcloud config set project PROJECT_ID
    

    PROJECT_ID は、実際の プロジェクト ID に置き換えます。

  4. プロジェクトで Network Connectivity API を有効にします。

  5. 権限を構成します。

  6. Data Transfer Essentials で選択するサービスがサポートされているかどうかを確認します。Data Transfer Essentials は、 サポートされているサービスとリージョンでのみ構成できます。

    gcloud

    gcloud network-connectivity multicloud-data-transfer-supported-services list コマンドを使用します。

    gcloud network-connectivity multicloud-data-transfer-supported-services list \
        --location=LOCATION
    

    LOCATION は、地域 ID(europe-west3 など)に置き換えます。 Google Cloud

    次のサンプル出力は、サポートされている階層を使用しているため、Data Transfer Essentials を使用してサービスを構成できることを示しています。

    NAME                   SERVICE_CONFIGS
    cloud-sql              [{'eligibilityCriteria': 'NETWORK_SERVICE_TIER_PREMIUM_ONLY'}]
    cloud-storage          [{'eligibilityCriteria': 'REQUEST_ENDPOINT_REGIONAL_ENDPOINT_ONLY'}]
    compute-engine         [{'eligibilityCriteria': 'NETWORK_SERVICE_TIER_STANDARD_ONLY'}]
    

    特定のサービスの適格性を確認するには、 gcloud network-connectivity multicloud-data-transfer-supported-services describe コマンドを使用します。

    gcloud network-connectivity multicloud-data-transfer-supported-services describe SERVICE1 \
        --location=LOCATION
    

    SERVICE1 は、サービスを表す有効な文字列に置き換えます。サポートされているサービスとリージョンをご覧ください。

    API

    multicloudDataTransferSupportedServices.get メソッドを使用します。

    GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:getMulticloudDataTransferSupportedServices
    

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

    • PROJECT_ID: オブジェクトの ID
    • LOCATION:地域 ID(europe-west3 など) Google Cloud

    次のサンプル出力は、サポートされている階層を使用しているため、Data Transfer Essentials を使用して構成できるサービスを示しています。

    {
      "multicloudDataTransferSupportedServices": [
        {
          "name": "cloud-sql",
          "serviceConfigs": [
            {
              "eligibilityCriteria": "NETWORK_SERVICE_TIER_PREMIUM_ONLY"
            }
          ]
        },
        {
          "name": "cloud-storage",
          "serviceConfigs": [
            {
              "eligibilityCriteria": "REQUEST_ENDPOINT_REGIONAL_ENDPOINT_ONLY"
            }
          ]
        },
        {
          "name": "compute-engine",
          "serviceConfigs": [
            {
              "eligibilityCriteria": "NETWORK_SERVICE_TIER_STANDARD_ONLY"
            }
          ]
        }
      ]
    }
    

    特定のサービスの適格性を確認するには、次の方法を使用します。

    GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:getMulticloudDataTransferSupportedServices
    {
    "service": "SERVICE1"
    }
    

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

  7. 指定する自律システム番号(ASN)が認識されているかどうかを確認します。トラフィックは、認識された ASN を使用する宛先にのみ構成できます。

設定を作成する

指定したサービスを含む Data Transfer Essentials 構成を作成します。プロジェクトごとにリージョンごとに作成できる構成は 1 つだけです。

gcloud

gcloud network-connectivity multicloud-data-transfer-configs create コマンドを使用します。

gcloud network-connectivity multicloud-data-transfer-configs create CONFIGURATION_NAME \
    --location=LOCATION \
    --description=DESCRIPTION \
    --services=SERVICE-A,...

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

  • CONFIGURATION_NAME: 構成の名前。
  • LOCATION: 構成のリージョン。
  • DESCRIPTION: 構成とその目的の説明。
  • SERVICE-A,...: Data Transfer Essentials を構成するサービスを表す一連の文字列。有効な文字列については、 サポートされているサービスとリージョンをご覧ください。

次のサンプル コマンドは、compute-enginecloud-storagecloud-sql サービスの europe-west3 リージョンに config1 という名前の構成を作成します。

gcloud network-connectivity multicloud-data-transfer-configs create config1 \
    --location=europe-west3 \
    --description="configuration for europe-west3" \
    --services=compute-engine,cloud-storage,cloud-sql

API

multicloudDataTransferConfigs.create メソッドを使用します。

POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/multicloudDataTransferConfigs/CONFIGURATION_NAME
{
  "description": "DESCRIPTION",
  "services": {
    "SERVICE-A",
    "SERVICE-B"
  }
}

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

  • PROJECT_ID: 実際のプロジェクトの ID。
  • LOCATION: 構成のリージョン。
  • CONFIGURATION_NAME: 構成の名前。
  • DESCRIPTION: 構成とその目的の説明。
  • SERVICE-A,...: Data Transfer Essentials を構成するサービスを表す一連の文字列。有効な文字列については、 サポートされているサービスとリージョンをご覧ください。

必要に応じて、requestID クエリ パラメータを使用して API リクエストを識別します。リクエストを再試行すると、サーバーは識別子を使用して、すでにレスポンスが返されたリクエストを無視できます。

次の JSON スニペットは、compute-enginecloud-storagecloud-sql サービスの europe-west3 リージョンに config1 という名前の構成を作成します。

POST https://networkconnectivity.googleapis.com/v1/projects/my-project/locations/europe-west3/multicloudDataTransferConfigs/config1
{
  "description": "configuration for europe-west3",
  "services": {
    "compute-engine": {},
    "cloud-storage": {},
    "cloud-sql": {}
}

Terraform

次の Terraform の例では、構成を作成します。

resource "google_network_connectivity_multicloud_data_transfer_config" "default" {
  name        = "config"
  location    = "europe-west1"
  description = "A basic multicloud data transfer config"
  services {
    service_name = "big-query"
  }
  services {
    service_name = "cloud-storage"
  }
}

Data Transfer Essentials の構成の作成には最大 24 時間かかります。構成の状態を確認するには、 構成の詳細を表示します

サービスを追加または削除するには、 構成を更新します

新しい構成を作成する前に、 既存の構成を削除します

構成の宛先を作成する

Data Transfer Essentials 構成の宛先を作成します。宛先リソースは、既存の構成と、エンドポイントを持つ外部 IP プレフィックスの関連付けを作成します。エンドポイントには、クラウド サービス プロバイダ(CSP)の識別子とその ASN が含まれます。

宛先は一度に 1 つずつ作成します。

gcloud

gcloud network-connectivity multicloud-data-transfer-configs destinations create コマンドを使用します。

gcloud network-connectivity multicloud-data-transfer-configs destinations create DESTINATION_NAME \
    --multicloud-data-transfer-config=CONFIGURATION_NAME \
    --location=LOCATION \
    --description=DESCRIPTION \
    --ip-prefix=IP_PREFIX \
    --endpoints=asn=ASN,csp=CSP

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

  • DESTINATION_NAME: 宛先の名前。 名前はリージョン内で一意でなければなりません。
  • CONFIGURATION_NAME: 構成の名前。
  • LOCATION: 構成のリージョン。
  • DESCRIPTION: 宛先とその目的の説明。
  • IP_PREFIX: 範囲(203.0.113.0/242001:db8::/32 など)または値(203.0.113.62001:db8:2:2:2:2:2:2 など)として指定された宛先の IP プレフィックス。IP プレフィックスは、構成内で 1 回のみ使用し、少なくとも 1 つのエンドポイントに関連付ける必要があります。最大 5 つのエンドポイントに関連付けることができます。

  • 宛先に追加するエンドポイントに対応する文字列を指定します。

    • ASN: プレフィックスをアドバタイズする ASN。認識された ASN をご覧ください。
    • CSP: プレフィックスをアドバタイズする ASN の CSP を表す文字列。

    同じコマンドで endpoints フラグを複数回指定できます。宛先には少なくとも 1 つのエンドポイントが必要で、5 つを超えるエンドポイントを設定することはできません。

次のサンプル コマンドは、指定された IP プレフィックスとエンドポイントの europe-west3 リージョンで、構成 config1 の宛先 destination1 を作成します。

gcloud network-connectivity multicloud-data-transfer-configs destinations create destination1 \
    --multicloud-data-transfer-config=config1 \
    --location=europe-west3 \
    --description="destination1 for config1" \
    --ip-prefix=203.0.113.0/24 \
    --endpoints=asn=16509,csp="aws"

API

multicloudDataTransferConfigs.destinations.create メソッドを使用します。

POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/multicloudDataTransferConfigs/CONFIGURATION_NAME/destinations/DESTINATION_NAME
{
  "description": "DESCRIPTION",
  "ipPrefix": "IP_PREFIX",
  "endpoints": [
    {
      "asn": "ASN",
      "csp": "CSP"
    }
  ]
}

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

  • PROJECT_ID: 実際のプロジェクトの ID。
  • LOCATION: 構成のリージョン。
  • CONFIGURATION_NAME: 構成の名前。
  • DESTINATION_NAME: 宛先の名前。 名前はリージョン内で一意でなければなりません。
  • DESCRIPTION: 宛先とその目的の説明。
  • IP_PREFIX: 範囲(203.0.113.0/242001:db8::/32 など)または値(203.0.113.62001:db8:2:2:2:2:2:2 など)として指定された宛先の IP プレフィックス。IP プレフィックスは、構成内で 1 回のみ使用し、1 つの ASN に対してのみ使用する必要があります。

  • 宛先に追加するエンドポイントに対応する文字列を指定します。

    • ASN: プレフィックスをアドバタイズする ASN。認識された ASN をご覧ください。
    • CSP: プレフィックスをアドバタイズする ASN の CSP を表す文字列。

    同じ呼び出しで複数のエンドポイントを指定できます。宛先には少なくとも 1 つのエンドポイントが必要で、5 つを超えるエンドポイントを設定することはできません。

次のサンプル コマンドは、指定された IP プレフィックスとエンドポイントの europe-west3 リージョンで、構成 config1 の宛先 destination1 を作成します。

POST https://networkconnectivity.googleapis.com/v1/projects/my-project/locations/europe-west3/multicloudDataTransferConfigs/config1/destinations/destination1
{
  "description": "destination1 for config1",
  "ipPrefix": "203.0.113.0/24",
  "endpoints": [
    {
      "asn": "16509",
      "csp": "aws"
    }
  ]
}

Terraform

次の Terraform の例では、宛先を作成します。

resource "google_network_connectivity_destination" "default" {
  name                            = "destination"
  location                        = "europe-west1"
  multicloud_data_transfer_config = google_network_connectivity_multicloud_data_transfer_config.default.name
  description                     = "A basic destination"
  ip_prefix                       = "10.0.0.0/8"
  endpoints {
    asn = "14618"
    csp = "AWS"
  }
}

宛先の状態を確認するには、 宛先の詳細を表示します

エンドポイントを追加または削除するには、宛先を更新します

または、宛先を削除します

次のステップ