Cloud Storage は、他のオブジェクト ストレージ プラットフォームと互換性があるため、さまざまなソースからデータをシームレスに統合できます。このページでは、クロス プラットフォーム オブジェクト データの管理に使用できる Cloud Storage ツールについて説明します。
XML API
Cloud Storage XML API は、Amazon Simple Storage Service(Amazon S3)などのサービスと連携できるツールやライブラリとの相互運用性を備えています。これらのツールやライブラリと Cloud Storage を使用するには、そのツールまたはライブラリが使用するリクエスト エンドポイントを Cloud Storage URI https://storage.googleapis.com
に変更し、Cloud Storage の HMAC キーを使用するようにツールまたはライブラリを構成します。開始の詳しい手順については、Amazon Simple Storage Service(Amazon S3)からの単純な移行をご覧ください。
V4 署名プロセスによる認証
V4 署名プロセスを使用すると、Cloud Storage XML API への署名付きリクエストを作成できます。V4 署名プロセスを実行するときに、認証のリクエスト ヘッダーで使用できる署名を作成します。RSA 署名または Amazon S3 のワークフローと HMAC 認証情報を使用して、署名プロセスを行うことができます。リクエストの認証の詳細については、署名をご覧ください。
Google Cloud CLI
gcloud CLI は、Cloud Storage にアクセスするための推奨のコマンドライン ツールです。また、Amazon S3 などの HMAC 認証を使用する他のクラウド ストレージ サービスにアクセスし、操作することもできます。Amazon S3 の認証情報を ~/.aws/credentials に追加すると、gcloud storage
コマンドを使用して Amazon S3 バケット内のオブジェクトを管理できるようになります。次に例を示します。
次のコマンドは、Amazon S3 バケット
my-aws-bucket
内のオブジェクトを一覧表示します。gcloud storage ls s3://my-aws-bucket
次のコマンドは、Amazon S3 バケットと Cloud Storage バケットの間でデータを同期します。
gcloud storage rsync s3://my-aws-bucket gs://example-bucket --delete-unmatched-destination-objects --recursive
この同期を最適化する方法の詳細など、詳しくは、gcloud storage rsync
のドキュメントをご覧ください。
ドットを含む Amazon S3 バケット名の無効な証明書
gcloud CLI を使用して、名前にドットが含まれる Amazon S3 バケットにアクセスしようとすると、invalid certificate
エラーが発生する場合があります。Amazon S3 では、名前にドットを使用した仮想ホスト形式のバケットの URL がサポートされていないためです。Amazon S3 のリソースを使用する場合は、storage/s3_endpoint_url
プロパティを次のように設定することで、パス形式のバケット URL を使用するように gcloud CLI を構成できます。
storage/s3_endpoint_url https://s3.REGION_CODE.amazonaws.com
ここで、REGION_CODE
はリクエストするバケットを含むリージョンです。例: us-east-2
storage/s3_endpoint_url
プロパティは、次のいずれかの方法で変更できます。
プロパティをすべての gcloud CLI コマンドに適用する
gcloud config set
コマンドを使用します。名前付き構成を作成し、
--configuration
プロジェクト全体のフラグを使用してコマンドごとにそれを適用します。
gsutil コマンドライン
gsutil は、コマンドラインから Cloud Storage にアクセスするための従来のツールです。また、Amazon S3 などの HMAC 認証を使用する他のクラウド ストレージ サービスにアクセスし、操作することもできます。Amazon S3 の認証情報を ~/.aws/credentials に追加すると、gsutil を使用して Amazon S3 バケット内のオブジェクトを管理できるようになります。次に例を示します。
次のコマンドは、Amazon S3 バケット
my-aws-bucket
内のオブジェクトを一覧表示します。gsutil ls s3://my-aws-bucket
次のコマンドは、Amazon S3 バケットと Cloud Storage バケットの間でデータを同期します。
gsutil rsync -d -r s3://my-aws-bucket gs://example-bucket
この同期を最適化する gsutil の設定方法など、詳細については、gsutil rsync ドキュメントを参照してください。
ドットを含む Amazon S3 バケット名の無効な証明書
gsutil を使用して名前にドットが含まれる Amazon S3 バケットにアクセスしようとすると、invalid certificate
エラーが発生することがあります。Amazon S3 では、名前にドットを使用した仮想ホスト型バケットの URL がサポートされていないためです。Amazon S3 のリソースを使用する場合は、gsutil の.boto 構成ファイルに次のエントリを追加して、パススタイルのバケット URL を使用するように gsutil を構成できます。
[s3]
calling_format = boto.s3.connection.OrdinaryCallingFormat
Storage Transfer Service によるデータのインポート
Storage Transfer Service を使用すると、Amazon S3 バケット、Microsoft Azure Blob Storage コンテナ、一般的な HTTP/HTTPS ロケーションから大量のオンライン データを Cloud Storage にインポートできます。Storage Transfer Service では、定期的な転送のスケジュール設定、ソース オブジェクトの削除、転送オブジェクトの選択を実行できます。
さらに、Amazon S3 イベント通知を使用する場合、Storage Transfer Service のイベント ドリブン転送を設定して、このような通知をリッスンし、Cloud Storage バケットと Amazon S3 ソースとの同期を自動的に保持できます。
次のステップ
- Amazon S3 から Cloud Storage への簡単な移行をすばやく完了する。
- リクエストの認証に使用する署名を作成する。