顧客管理のプライベート ネットワーク経由で AWS または Azure から転送する

Google Cloud Cross-Cloud Interconnect または Partner Interconnect を使用して確立されたプライベート ネットワーク接続は、AWS または Azure と Cloud Storage 間のデータ転送に大きなメリットをもたらします。

  • 費用最適化の可能性: 下り(外向き)の費用を削減できる可能性があります。これは、既存の相互接続があるお客様や、大規模なデータ転送や定期的なデータ転送を行うお客様にとって有益であり、長期的に大幅なコスト削減につながります。
  • 専用ネットワーク帯域幅: 相互接続を使用すると、一貫した大容量のスループットと低レイテンシを実現できます。これは、大規模で時間制約のある移行やリアルタイムのデータ同期に不可欠です。
  • コンプライアンスのニーズを満たす: 規制要件によりデータを公共のインターネットから分離する必要があるワークロードに最適です。この機能を使用すると、インターコネクトを使用してデータを非公開で転送し、コンプライアンスの遵守、データ主権のサポート、監査の簡素化を実現できます。

概要

このドキュメントでは、次の手順について説明します。

  • Cross-Cloud Interconnect を注文して構成する
  • S3 または Azure でエンドポイントを作成する
  • ハイブリッド接続でリージョン内部プロキシ ネットワーク ロードバランサを設定する
  • ロードバランサを Service Directory に登録する
  • 転送を作成する
  • トラフィックが相互接続を使用していることを確認する

必要な権限

次の各セクションを完了するには、特定の権限が必要です。これらの権限は、その一連の手順のドキュメントに記載されています。

相互接続オプション

Storage Transfer Service は、Cross-Cloud Interconnect(CCI)または Partner Interconnect を介して AWS と Azure からデータを転送できます。

以下の手順は CCI に固有のものですが、Partner Interconnect のネットワーキングを構成する場合にも適用されます。

Cross-Cloud Interconnect を注文して構成する

Cross-Cloud Interconnect は、Google Cloud と他のクラウド プロバイダ間の専用の物理接続です。

CCI 接続がすでに存在する場合は、次のセクションに進みます。

AWS

Amazon Web Services に接続するの手順に沿って、新しい Cross-Cloud Interconnect を注文して構成します。Google Cloud と AWS でネットワーキングを構成するには、適切な権限が必要です。

AWS と Google Cloud の間で CCI を注文して構成する手順について説明した動画をご覧ください。

Azure

Microsoft Azure に接続するの手順に沿って、新しい Cross-Cloud Interconnect を注文して構成します。Google Cloud と Azure でネットワーキングを構成するには、適切な権限が必要です。

Azure と Google Cloud の間で CCI を注文して構成する手順について説明する動画をご覧ください。

Cloud Storage バケットがリージョン バケットの場合、ネットワーク レイテンシを短縮するために、バケットと同じリージョンで CCI を構成する必要があります。

S3 または Azure でエンドポイントを作成する

S3 アカウントまたは Azure アカウントにエンドポイントを作成します。

AWS

Amazon Web Services アカウントで、S3 に接続する VPC エンドポイントを作成します。

AWS の手順(インターフェース VPC エンドポイントを使用して AWS サービスにアクセスする)に沿って、エンドポイントを作成します。

Azure

こちらの手順に沿って、Azure のストレージ アカウントにプライベート エンドポイントを構成します。

Storage Transfer Service には *.blob.core.microsoft.net エンドポイントが必要です。*.dfs.core.microsoft.net エンドポイントはサポートされていません。

作成したら、エンドポイントの IP アドレスをメモします。次のセクションでロードバランサを作成するときに、IP アドレスを指定する必要があります。

ハイブリッド接続でリージョン内部プロキシ ネットワーク ロードバランサを設定する

Google Cloud で、ハイブリッド接続を使用してリージョン内部プロキシ ネットワーク ロードバランサを設定します。これにより、ロードバランサと同じ VPC ネットワークで実行されているクライアントに制限され、前のセクションで作成した S3 VPC エンドポイントまたは Azure Storage プライベート エンドポイントにトラフィックを転送する内部 IP アドレスが提供されます。

ロードバランサは、Cloud Interconnect とインターフェースする VLAN アタッチメントと同じプロジェクトと VPC ネットワークに作成する必要があります。相互接続自体は同じ組織内の別のプロジェクトに存在できますが、アタッチメントはロードバランサと同じ VPC とリージョンに存在する必要があります。

ハイブリッド接続 NEG にエンドポイントを追加するの手順に達したら、S3 VPC エンドポイントまたは Azure Storage プライベート エンドポイントの IP アドレスを指定します。

次のセクションで指定する必要があるため、NLB のフロントエンド IP アドレスとポートをメモしておきます。

接続を検証する

続行する前に、ロードバランサがリモート ストレージ エンドポイントに接続できることを確認することをおすすめします。

手順は次のとおりです。

  1. ロードバランサと同じ VPC ネットワークに Compute Engine VM を作成します。
  2. VM から curl を使用して、ロードバランサの IP アドレスとポートへの接続をテストします。

    curl -v --resolve HOSTNAME:LOAD_BALANCER_IP:PORT https://HOSTNAME
    

    ここで

    • <var>HOSTNAME</var> は、移行元のストレージ プロバイダのホスト名です。
      • AWS S3 の場合は、バケットのリージョンの S3 API エンドポイント(例: s3.us-west-1.amazonaws.com)を使用します。
      • Azure Storage の場合は、ストレージ アカウントの blob エンドポイント(例: mystorageaccount.blob.core.windows.net)を使用します。
    • <var>PORT</var> は、ロードバランサの転送ルールで構成したポートです(通常は 443)。
    • <var>LOAD_BALANCER_IP</var> は、ロードバランサのフロントエンド IP アドレスです。

リモート エンドポイントからのレスポンス(エラーを含む)は、接続が成功したことを示します。接続タイムアウトは、ネットワーク設定の構成が間違っていることを示しています。続行する前に、この問題を解決する必要があります。

Service Directory に NLB を登録する

Service Directory に NLB を登録します。Storage Transfer Service は、Service Directory を使用してロードバランサのアドレスを解決し、直接接続します。

手順に沿って内部ロードバランサを登録します。転送ルールを指定するときに作成したロードバランサの IP アドレスとポートを使用します。

作成したら、サービスのセルフリンクをメモします。形式は projects/{project_id}/locations/{location}/namespaces/{namespace}/services/{service} です。この値は、転送ジョブの作成時に必要になります。

転送を作成する

サービス エージェントに次の権限を付与します。サービス エージェントを取得して、サービス エージェントに権限を付与する手順については、Google マネージド サービス エージェントの権限をご覧ください。

Cross-Cloud Interconnect を使用する転送ジョブを作成するには、Storage Transfer Service REST API を使用する必要があります。次のようにリクエストを送信します。privateNetworkService フィールドは、Service Directory サービスの selfLink を指定する場所です。

AWS

POST https://storagetransfer.googleapis.com/v1/transferJobs

{
  "status": "ENABLED",
  "projectId": "PROJECT_ID",
  "transferSpec": {
    "awsS3DataSource": {
        "privateNetworkService": "SERVICE_SELF_LINK",
        "bucketName": "S3_BUCKET_NAME",
        "awsAccessKey": {
          "accessKeyId": "ACCESS_KEY_ID",
          "secretAccessKey": "SECRET_ACCESS_KEY"
        }
    },
    "gcsDataSink": {
        "bucketName": "GCS_BUCKET_NAME"
    }
  }
}

Azure

POST https://storagetransfer.googleapis.com/v1/transferJobs

{
  "status": "ENABLED",
  "projectId": "PROJECT_ID",
  "transferSpec": {
      "azureBlobStorageDataSource": {
          "privateNetworkService": "SERVICE_SELF_LINK",
          "storageAccount": "AZURE_SOURCE_NAME",
          "container": "AZURE_CONTAINER",
          "azureCredentials": {
              "sasToken": "AZURE_SAS_TOKEN",
          }
      },
      "gcsDataSink": {
          "bucketName": "GCS_BUCKET_NAME"
      }
  }
}

ここで

  • SERVICE_SELF_LINK は、Service Directory サービスのセルフリンクです。形式は projects/{project_id}/locations/{location}/namespaces/{namespace}/services/{service} です。

他のフィールドについては、transferSpec リファレンス ドキュメントをご覧ください。

トラフィックが相互接続を使用していることを確認する

Cloud Monitoring を使用して、AWS または Azure からインターコネクトを通過するトラフィックを確認します。

  1. Google Cloud コンソールで、[ハイブリッド接続] > [Cloud Interconnect] に移動します。
  2. AWS/Azure 環境に接続する VLAN アタッチメントを選択します。
  3. 接続の詳細ページで、[モニタリング] タブを選択します。データ転送を示す指標を探します。詳細は以下のとおりです。
    • 上り(内向き)バイト数: この指標は、AWS または Azure から Google Cloud VPC に入ってくるデータを示します。
    • 動作ステータス: 物理接続と BGP セッションの両方が正常な動作状態であることを確認します。