このページでは、 Google Cloudから開始されたアマゾン ウェブ サービス(AWS)向け Partner Cross-Cloud Interconnect 接続を正しく作成し、プロビジョニングする手順について説明します。
AWS からアクティベーション キーを取得していない場合は、Google Cloudから Partner Cross-Cloud Interconnect for AWS 接続を開始してプロビジョニングできます。
Partner Cross-Cloud Interconnect for AWS のプロビジョニング プロセスを開始する前に、次の点を確認してください。
- アマゾン ウェブ サービス(AWS)アカウントをすでに持っている。
- トランスポートを接続するために、まだ存在しない場合は Virtual Private Cloud(VPC)ネットワークを作成する必要がある。
接続を成功させるには、transport リソースを作成する必要があります。次の手順に沿ってトランスポートを作成します。
始める前に
始める前に、次のセクションを確認してください。
プロジェクトを作成または選択する
AWS 用 Partner Cross-Cloud Interconnect を簡単に構成できるように、まず、有効なプロジェクトを特定します。
- 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.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Install the Google Cloud CLI.
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init -
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Install the Google Cloud CLI.
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init Google Cloud CLI を使用している場合は、
gcloud config setコマンドを使用してプロジェクト ID を設定します。gcloud config set project PROJECT_ID
PROJECT_IDは、一意のプロジェクト ID に置き換えます。このページの gcloud CLI の手順では、プロジェクト ID がすでに設定されていることを前提としています。
プロジェクト ID が正しく設定されていることを確認するには、
gcloud config listコマンドを使用します。gcloud config list --format='text(core.project)'
Google Cloud コンソールで、[Network Connectivity API] ページに移動します。
[有効にする] をクリックします。
PROJECT: プロジェクトの名前LOCATION: 接続をプロビジョニングする Google Cloud リージョンの名前(例:us-west1)PROJECT: トランスポートを作成するプロジェクトの名前LOCATION: 接続をプロビジョニングする Google Cloud リージョンの名前(例:us-west1)TRANSPORT_ID: トランスポート リソースの名前NETWORK: トランスポートを作成するネットワークREMOTE_PROFILE: 接続をプロビジョニングするプロファイルBANDWIDTH: 接続用に選択した帯域幅(例:BPS_1G)AWS_ACCOUNT_ID: AWS アカウントの IDIP_RANGE: IP アドレス範囲のカンマ区切りリストSTACK_TYPE(省略可): IP アドレス バージョンのスタックタイプ。IPV4_ONLYまたはIPV4_IPV6にする必要があります。デフォルトはIPV4_ONLYです。LOCATION: 接続をプロビジョニングする Google Cloud リージョンの名前(例:us-west1)OPERATION_ID: オペレーションの IDgeneratedActivationKeyフィールドの値。peeringNetworkフィールドの値。TRANSPORT_NAME: 作成したトランスポートの名前。VPC_NETWORK: ルートを一覧で表示する VPC ネットワークの名前PEERING_NETWORK:transportリソースのpeeringNetworkフィールドからコピーしたTransportリソースによって提供される VPC ネットワークの名前PROJECT: ピアリングするプロジェクトの名前NETWORK: ピアリングを追加するネットワーク リソースの名前TRANSPORT_ID: トランスポート リソースの名前NETWORK: ルートテーブルを一覧で表示する VPC ネットワークの名前LOCATION: トランスポート リソースのロケーションPROJECTは、ルートを一覧で表示するプロジェクトの名前に置き換えます。NETWORK: ルートテーブルを一覧で表示する VPC ネットワークの名前- Cloud Interconnect のアーキテクチャと機能に関する一般的な質問とその回答を確認するには、Cloud Interconnect に関するよくある質問をご覧ください。
- Cloud Interconnect の詳細を確認するには、Cloud Interconnect の概要をご覧ください。
- Cloud Interconnect の計画と構成を行う際のベスト プラクティスを確認する。ベスト プラクティスをご覧ください。
- Google Cloud リソース名を確認する。Cloud Interconnect API をご覧ください。
Network Connectivity API を有効にする
Cloud Interconnect を使用してタスクを行う前に、Network Connectivity API を有効にする必要があります。
コンソール
Network Connectivity API を有効にする手順は次のとおりです。
また、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"
次の値を置き換えます。
transport リソースを作成する
transport リソースの作成プロセスでは、帯域幅、ネットワーク、remoteProfile、remoteAccountId の各フィールドを指定する必要があります。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
}'
次の値を置き換えます。
出力で、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
次のように置き換えます。
transport リソースの作成が完了すると、出力に "done": true という行が表示されます。出力から次の値をコピーして、後の手順で使用します。
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
次の値を置き換えます。
コマンドが成功すると、出力の state フィールドの値は ACTIVE になります。
API
VPC ネットワーク ピアリングを確立するには、compute.networks.addPeering メソッドを使用します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK/addPeering
次の値を置き換えます。
接続を確認する
ピアリングされた 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
次の値を置き換えます。
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
次の値を置き換えます。