バケットの移動と名前変更

バケットを作成する際、設定したプロパティの一部(バケットの名前、地理的位置、バケットが属するプロジェクトなど)は永続的で、変更できません。ただし、実際にはバケットの移動や名前変更は可能です。

  • 古いバケットにデータがない場合は、バケットを削除して、新しいロケーションで、または新しいプロジェクトで、新しい名前の別のバケットを作成します。

  • バケットにデータが含まれている場合は、新しい名前、ロケーション、プロジェクトを指定して新しいバケットを作成し、データを古い方のバケットから新しいバケットにコピーしたうえで、古いバケットとその内容を削除します。手順については、下記をご覧ください。

    • 新しいバケットに古いバケットと同じ名前を付ける場合は、別の名前のバケットにデータを一時的に移動する必要があります。これにより、元のバケットが削除され、バケット名を再利用できるようになります。
    • ロケーション間でデータを移動すると、ネットワークの使用料金が発生します。また、データの移動には、ソースデータのストレージ クラスと宛先バケットのロケーションに応じて追加料金が発生する場合があります。詳しくは、Cloud Storage の料金をご覧ください。

必要な権限

コンソール

Google Cloud コンソールを使用してこのガイドを完了するには、適切な IAM 権限が必要です。アクセスするバケットが自分で作成していないプロジェクト内に存在する場合は、必要な権限を含むロールをプロジェクト オーナーに付与する必要があります。

特定のアクションに必要な権限の一覧については、Google Cloud コンソールに適用される IAM 権限をご覧ください。

関連するロールのリストについては、Cloud Storage のロールをご覧ください。また、特定の制限された権限を持つカスタムロールを作成することもできます。

コマンドライン

コマンドライン ユーティリティを使用してこのガイドを完了するには、適切な IAM 権限が必要です。アクセスするバケットが自分で作成していないプロジェクト内に存在する場合は、必要な権限を含むロールをプロジェクト オーナーに付与する必要があります。

特定の操作に必要な権限の一覧については、gcloud storage コマンドの IAM 権限をご覧ください。

関連するロールのリストについては、Cloud Storage のロールをご覧ください。また、特定の制限された権限を持つカスタムロールを作成することもできます。

REST API

JSON API

JSON API を使用してこのガイドを完了するには、適切な IAM 権限が付与されている必要があります。アクセスするバケットが自分で作成していないプロジェクト内に存在する場合は、必要な権限を含むロールをプロジェクト オーナーに付与する必要があります。

特定のアクションに必要な権限の一覧については、JSON メソッドの IAM 権限をご覧ください。

関連するロールのリストについては、Cloud Storage のロールをご覧ください。また、特定の制限された権限を持つカスタムロールを作成することもできます。

バケット間でデータを移動する

コンソール

Google Cloud コンソールから Cloud Storage Transfer Service を使用します。

  1. 転送先バケットがない場合は、バケットを作成します
  2. Google Cloud コンソールで [転送] ページを開きます。

    [転送] ページを開く

  3. [転送ジョブを作成] をクリックします。
  4. 段階的チュートリアルに沿って、各手順を完了するごとに [次のステップ] をクリックします。

    • 転送元の選択: ソースタイプとして Google Cloud Storage バケットを使用します。目的のバケットの名前を直接入力するか、[参照] をクリックして必要なバケットを選択します。

    • 転送先の選択: 目的のバケットの名前を直接入力するか、[参照] をクリックして必要なバケットを選択します。

    • 設定の選択: [転送後にファイルをソースから削除する] オプションを選択します。

    • スケジュールのオプション: このセクションは無視してください。

  5. 段階的なチュートリアルの完了後、[作成] をクリックします。

    これで古いバケットから新しいバケットへのオブジェクトのコピーが開始されます。この処理には時間がかかる場合がありますが、[作成] をクリックしたら Google Cloud コンソールから移動しても構いません。

    転送の進行状況を確認するには:

    Google Cloud コンソールで [転送] ページを開きます。

    [転送] ページを開く

    失敗した Cloud Storage オペレーションの詳細なエラー情報を Google Cloud コンソールで確認する方法については、トラブルシューティングをご覧ください。

  6. 設定時に [転送完了後に転送元オブジェクトを削除する] チェックボックスをオンにしていれば、転送が完了した後、古いバケットからオブジェクトを削除するために必要な操作はありません。ただし、古いバケットを削除することもできます。その場合は別途行う必要があります。

コマンドライン

  1. まだ作成していない場合は、転送先バケットを作成します

  2. 転送元バケットの内容を転送先バケットにコピーするには、次のいずれかの方法を使用します。

    • 転送元バケットから転送先バケットにすべてのオブジェクトを再帰的にコピーするには、--recursive オプションを指定して gcloud storage cp コマンドを使用します。

      gcloud storage cp --recursive gs://SOURCE_BUCKET/* gs://DESTINATION_BUCKET

      ここで

      • SOURCE_BUCKET は、元のバケットの名前です。例: old-bucket

      • DESTINATION_BUCKET は、データ移動先のバケットの名前です。例: my-bucket

    • 転送元バケットから転送先バケットにすべてのオブジェクトとマネージド フォルダを再帰的にコピーするには、--include-managed-folders オプションと --recursive オプションを指定して gcloud alpha storage cp コマンドを使用します。

      gcloud alpha storage cp --include-managed-folders --recursive gs://SOURCE_BUCKET/* gs://DESTINATION_BUCKET

      ここで

      • SOURCE_BUCKET は、元のバケットの名前です。例: old-bucket

      • DESTINATION_BUCKET は、データ移動先のバケットの名前です。例: my-bucket

  3. 転送元バケットを削除するには、次のいずれかの方法を使用します。

    • 転送元バケットからすべてのオブジェクトと転送元バケット自体を再帰的に削除するには、--recursive オプションを指定して gcloud storage rm コマンドを使用します。

      gcloud storage rm --recursive gs://SOURCE_BUCKET

      ここで、SOURCE_BUCKET は元のバケットの名前です。例: old-bucket

    • 転送元バケットからすべてのオブジェクトとマネージド フォルダ、および転送元バケット自体を再帰的に削除するには、--recursive オプションを指定して gcloud alpha storage rm コマンドを使用します。

      gcloud alpha storage rm --recursive gs://SOURCE_BUCKET

      ここで、SOURCE_BUCKET は元のバケットの名前です。例: old-bucket

    • 転送元バケット自体を削除せずに、転送元バケットからオブジェクトとマネージド フォルダを削除するには、--recursive フラグを指定しないで gcloud alpha storage rm コマンドを使用します。

      gcloud alpha storage rm --all-versions gs://SOURCE_BUCKET/**

      ここで、SOURCE_BUCKET は元のバケットの名前です。例: old-bucket

REST API

JSON API

  1. 転送先バケットがない場合は、バケットを作成します

  2. 転送元バケットから転送先バケットに各オブジェクトをコピーします。

  3. 転送元バケット内の各オブジェクトを削除します。

  4. 転送元バケットを削除します。

XML API

  1. 転送先バケットがない場合は、バケットを作成します

  2. 転送元バケットから転送先バケットに各オブジェクトをコピーします。

  3. 転送元バケット内の各オブジェクトを削除します。

  4. 転送元バケットを削除します。

次のステップ