Google Cloud から開始される接続を作成する

このページでは、 Google Cloudから開始されたアマゾン ウェブ サービス(AWS)向け Partner Cross-Cloud Interconnect 接続を正しく作成し、プロビジョニングする手順について説明します。

AWS からアクティベーション キーを取得していない場合は、Google Cloudから Partner Cross-Cloud Interconnect for AWS 接続を開始してプロビジョニングできます。

Partner Cross-Cloud Interconnect for AWS のプロビジョニング プロセスを開始する前に、次の点を確認してください。

接続を成功させるには、transport リソースを作成する必要があります。次の手順に沿ってトランスポートを作成します。

始める前に

始める前に、次のセクションを確認してください。

プロジェクトを作成または選択する

AWS 用 Partner Cross-Cloud Interconnect を簡単に構成できるように、まず、有効なプロジェクトを特定します。

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Install the Google Cloud CLI.

  5. 外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。

  6. gcloud CLI を初期化するには、次のコマンドを実行します。

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  8. Verify that billing is enabled for your Google Cloud project.

  9. Install the Google Cloud CLI.

  10. 外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。

  11. gcloud CLI を初期化するには、次のコマンドを実行します。

    gcloud init
  12. Google Cloud CLI を使用している場合は、gcloud config set コマンドを使用してプロジェクト ID を設定します。

    gcloud config set project PROJECT_ID

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

    このページの gcloud CLI の手順では、プロジェクト ID がすでに設定されていることを前提としています。

  13. プロジェクト ID が正しく設定されていることを確認するには、gcloud config list コマンドを使用します。

    gcloud config list --format='text(core.project)'
  14. Network Connectivity API を有効にする

    Cloud Interconnect を使用してタスクを行う前に、Network Connectivity API を有効にする必要があります。

    コンソール

    Network Connectivity API を有効にする手順は次のとおりです。

    1. Google Cloud コンソールで、[Network Connectivity API] ページに移動します。

      [Network Connectivity API] に移動

    2. [有効にする] をクリックします。

    また、API の有効化で説明されているように、Google Cloud コンソールの API ライブラリを使用して API を有効にすることもできます。

    アクティベーション キーがない場合に Google Cloud から接続を開始する

    利用可能なプロファイルの一覧を取得する

    接続をプロビジョニングするリージョンで、特定のプロジェクト内で使用可能なプロファイルを一覧で表示する手順は次のとおりです。

    API

    空のリクエスト本文を含む networkconnectivity.remoteTransportProfiles.list メソッドを使用します。

    $ curl -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://networkconnectivity.googleapis.com/v1beta/projects/PROJECT/locations/LOCATION/remoteTransportProfiles"
    

    次の値を置き換えます。

    • PROJECT: プロジェクトの名前
    • LOCATION: 接続をプロビジョニングする Google Cloud リージョンの名前(例: us-west1

    transport リソースを作成する

    transport リソースの作成プロセスでは、帯域幅、ネットワーク、remoteProfileremoteAccountId の各フィールドを指定する必要があります。advertisedRoutes は省略可能なフィールドですが、AWS からの接続を確保するには、このフィールドを指定する必要があります。このフィールドには、IPv4 サブネットと IPv6 サブネットのリストを指定できます。ネットワークでサブネットを自動的に作成している場合は、 Google Cloudの 10.128.0.0/9 値を使用します。

    トランスポート リソースを作成する手順は次のとおりです。

    API

    次の例のように、TRANSPORT_ID を指定して networkconnectivity.transports.create メソッドを使用します。

    curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" "https://networkconnectivity.googleapis.com/v1beta/projects/PROJECT/locations/LOCATION/transports?="TRANSPORT_ID" --data '{
    "network": "NETWORK",
    "remoteProfile": "REMOTE_PROFILE",
    "bandwidth": "BANDWIDTH",
    "remoteAccountId": "AWS_ACCOUNT_ID",
    "advertisedRoutes": ["IP_RANGE_1","IP_RANGE_2"],
    "stackType": "STACK_TYPE
    }'
    

    次の値を置き換えます。

    • PROJECT: トランスポートを作成するプロジェクトの名前
    • LOCATION: 接続をプロビジョニングする Google Cloud リージョンの名前(例: us-west1
    • TRANSPORT_ID: トランスポート リソースの名前
    • NETWORK: トランスポートを作成するネットワーク
    • REMOTE_PROFILE: 接続をプロビジョニングするプロファイル
    • BANDWIDTH: 接続用に選択した帯域幅(例: BPS_1G
    • AWS_ACCOUNT_ID: AWS アカウントの ID
    • IP_RANGE: IP アドレス範囲のカンマ区切りリスト
    • STACK_TYPE(省略可): IP アドレス バージョンのスタックタイプ。IPV4_ONLY または IPV4_IPV6 にする必要があります。デフォルトは IPV4_ONLY です。

    出力で、name フィールドの値を見つけます。形式は projects/PROJECT/locations/LOCATION/operations/OPERATION_ID です。ここで、OPERATION_ID はオペレーションの ID です。

    オペレーションのステータスを確認するには、networkconnectivity.operations.get メソッドを使用します。

    GET https://networkconnectivity.googleapis.com/v1/locations/LOCATION/operations/OPERATION_ID
    

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

    • LOCATION: 接続をプロビジョニングする Google Cloud リージョンの名前(例: us-west1
    • OPERATION_ID: オペレーションの ID

    transport リソースの作成が完了すると、出力に "done": true という行が表示されます。出力から次の値をコピーして、後の手順で使用します。

    • generatedActivationKey フィールドの値。
    • peeringNetwork フィールドの値。

    AWS API の手順を完了する

    前述の手順で生成したアクティベーション キーを使用して、AWS の API リファレンス ドキュメントの手順どおりに操作してください。

    VPC ネットワーク ピアリングを確立する

    VPC ネットワーク ピアリングをGoogle Cloud 側で事前に確立できます。これを行うには、前に作成した transport リソースから返された peeringNetwork を使用し、同じスタックタイプでピアリングを作成します。デフォルトのスタックタイプは、transport リソースと同じく IPV4_ONLY を使用します。

    AWS ルートを受信するには、Import custom routes フィールドを有効にする必要があります。

    接続で MTU の問題が発生しないよう、ピアリング VPC ネットワークの MTU には最大値が明示的に設定されています。MTU が 8896 未満の場合、WARNING: Some requests generated warnings: - Network MTU 1460B does not match the peer's MTU 8896B という警告が表示されることがあります。この場合は、 Google Cloud の VPC ネットワークと AWS VPC ネットワーク間で一致する MTU 構成を使用していることを確認する必要があります。これらが一致しない場合は、MTU 値を最も小さい値と一致するようオーバーライドする必要がある場合があります。たとえば、 Google Cloud で 8896 を使用し、AWS で 8800 を使用している場合、 Google Cloud のすべての構成を 8800 にする必要があります。

    gcloud

    VPC ネットワーク ピアリングを確立するには、gcloud compute networks peerings create コマンドを使用します。

    gcloud compute networks peerings create "TRANSPORT_NAME" \
        --network="VPC_NETWORK"
        --peer-network="PEERING_NETWORK" \
        --import-custom-routes
        --export-custom-routes
    

    次の値を置き換えます。

    • TRANSPORT_NAME: 作成したトランスポートの名前。
    • VPC_NETWORK: ルートを一覧で表示する VPC ネットワークの名前
    • PEERING_NETWORK: transport リソースの peeringNetwork フィールドからコピーした Transport リソースによって提供される VPC ネットワークの名前

    コマンドが成功すると、出力の state フィールドの値は ACTIVE になります。

    API

    VPC ネットワーク ピアリングを確立するには、compute.networks.addPeering メソッドを使用します。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK/addPeering
    

    次の値を置き換えます。

    • PROJECT: ピアリングするプロジェクトの名前
    • NETWORK: ピアリングを追加するネットワーク リソースの名前

    接続を確認する

    ピアリングされた VPC ネットワークとルートテーブルの一覧を確認することで、接続が確立されたことを確認できます。AWS の構成が完了すると、AWS ルートが一覧に表示されます。

    gcloud

    ピアリングされた VPC ネットワークを一覧で表示するには、gcloud compute networks peerings list コマンドを使用します。

    gcloud compute networks peerings list
    

    出力は次のようになります。

    DEST_RANGE   TYPE                   NEXT_HOP_REGION  PRIORITY  STATUS
    10.0.0.0/16  DYNAMIC_PEERING_ROUTE  us-east4         0         accepted
    10.0.0.0/16  DYNAMIC_PEERING_ROUTE  us-east4         0         accepted
    

    特定のトランスポートのルートを一覧で表示するには、gcloud compute networks peerings list-routes コマンドを使用します。

    gcloud compute networks peerings list-routes TRANSPORT_ID\
        --direction=INCOMING \
        --network=NETWORK \
        --region=LOCATION
    

    次の値を置き換えます。

    • TRANSPORT_ID: トランスポート リソースの名前
    • NETWORK: ルートテーブルを一覧で表示する VPC ネットワークの名前
    • LOCATION: トランスポート リソースのロケーション

    API

    ピアリングされたネットワークを一覧で表示するには、compute.networks.list メソッドを使用します。

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT/global/networks
    

    PROJECT は、ネットワークを一覧で表示するプロジェクトの名前に置き換えます。

    ルートを一覧で表示するには、compute.routes.listPeeringRoutes メソッドを使用します。

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK/listPeeringRoutes
    

    次の値を置き換えます。

    • PROJECT は、ルートを一覧で表示するプロジェクトの名前に置き換えます。
    • NETWORK: ルートテーブルを一覧で表示する VPC ネットワークの名前

    次のステップ