Cloud Storage バケットへの接続

このページでは、機会学習データを保存する際のオプションとして Cloud Storage を紹介し、Cloud Storage 上のデータ オブジェクトに Cloud TPU からアクセスできるようにする方法について説明します。

始める前に

Cloud TPU クイックスタート ガイドまたは VM と TPU のリソース管理に関するドキュメントで説明している手順に従って、Google Cloud Platform プロジェクトを構成し、Compute Engine VM と Cloud TPU リソースを作成します。

Cloud Storage へのデータの書き込み

Console

  1. GCP Console の Cloud Storage ページに移動します。

    Cloud Storage ページに移動

  2. 次のオプションを指定して新しいバケットを作成します。

    • 任意の一意な名前
    • デフォルトのストレージ クラス: Regional
    • ロケーション: us-central1

gsutil

  1. gsutil mb コマンドを使用して、Cloud Storage バケットを作成します。

    gsutil mb -l ${TPU_REGION} gs://YOUR-BUCKET-NAME/

    ここで

    • TPU_REGION は、Cloud TPU を作成したリージョンです。Cloud TPU は、次のリージョンで利用できます。

      米国

      Cloud TPU v2 およびプリエンプティブル v2 us-central1
      Cloud TPU v3 およびプリエンプティブル v3 us-central1
      Cloud TPU v2 Pod(ベータ版) us-central1

      ヨーロッパ

      Cloud TPU v2 およびプリエンプティブル v2 europe-west4
      Cloud TPU v3 およびプリエンプティブル v3 europe-west4
      Cloud TPU v2 Pod(ベータ版) europe-west4
      Cloud TPU v3 Pod(ベータ版) europe-west4

      アジア太平洋

      Cloud TPU v2 およびプリエンプティブル v2 asia-east1
    • YOUR-BUCKET-NAME は、作成するバケットの名前です。

  2. gsutil cp コマンドを使用して、Cloud Storage バケットにファイルを書き込みます。

    gsutil cp -r ${LOCAL_DATA_DIR} ${CLOUD_DATA_DIR}

    ここで

    • LOCAL_DATA_DIR は、データへのローカルパスです。例: $HOME/your-data
    • CLOUD_DATA_DIR は、Cloud Storage 内のパスです。例: gs://YOUR-BUCKET-NAME

Cloud TPU に Cloud Storage へのアクセス権を付与する

Cloud TPU に Cloud Storage オブジェクトに対する読み取り / 書き込みアクセス権を付与する必要があります。そのためには、Cloud TPU で使用されるサービス アカウントに必要なアクセス権を付与する必要があります。次の手順に従って、Cloud TPU サービス アカウントを検索し、必要なアクセス権を付与します。

Cloud TPU サービス アカウントの検索

Cloud TPU サービス アカウントの名前を特定します。名前の形式は次のとおりです。

    service-[PROJECT_NUMBER]@cloud-tpu.iam.gserviceaccount.com

プロジェクト番号の検索方法をご覧ください。

サービス アカウントを承認する

Cloud Storage にトレーニング データを保存する場合、Cloud TPU サービス アカウントにはバケットに対する読み取りと書き込みの権限が必要です。

Console

  1. Cloud Storage のブラウザページに移動して、所有するバケットを表示します。

    Cloud Storage ブラウザに移動

  2. ACL を変更するバケットに移動します。

  3. 該当のバケットで、[Edit Bucket Permissions] を選択します。

  4. このバケットから読み取る場合は、TPU サービス アカウントに対してリソースからの読み取りの権限を付与する必要があります。それには、サービス アカウントに Storage Legacy > Storage Legacy Bucket Reader 役割を付与します。

  5. このバケットに書き込む場合は、TPU サービス アカウントに対してリソースへの書き込み権限を付与する必要があります。それには、サービス アカウントに Storage Legacy > Storage Legacy Bucket Writer 役割を付与します。

gsutil

  1. このバケットから読み取る場合は、TPU サービス アカウントに読み取り権限を付与します。

    gsutil acl ch -u [SERVICE_ACCOUNT]:READER gs://[BUCKET_NAME]

  2. このバケットに書き込む場合は、TPU サービス アカウントに書き込み権限を付与します。

    gsutil acl ch -u [SERVICE_ACCOUNT]:WRITER gs://[BUCKET_NAME]

Cloud TPU に IAM 権限を使用(代替の方法)

各バケットへのアクセスを明示的にホワイトリストに登録するのではなく、より広範な権限を付与する場合は、Identity Access Management(IAM)の Storage Admin 役割を Cloud TPU サービス アカウントに付与できます。

  1. プロジェクトの Cloud IAM ページに移動します。

    Cloud IAM に移動

  2. [+ 追加] ボタンをクリックして、メンバーをプロジェクトに追加します。

  3. [メンバー] テキスト ボックスに Cloud TPU サービス アカウントの名前を入力します。

  4. [役割] プルダウン リストをクリックします。

  5. 次の役割を有効にします。

    • プロジェクト > 閲覧者

    • ストレージ > ストレージ管理者

次のステップ

  • Cloud Storage バケットの作成とこれらのバケットへのデータの書き込みの詳細については、Cloud Storage のドキュメントをご覧ください。
  • GCP サービス アカウントの詳細については、認証の概要をご覧ください。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...