設定アプリケーションを使用して Google Cloud プロジェクトを構成する

このドキュメントでは、Appliance Cloud 設定アプリケーションを使用して、Google Cloud の権限と Cloud Storage を構成する方法について説明します。

Appliance Cloud 設定アプリケーションは、転送セッション ID、転送先の Cloud Storage バケット、Cloud Key Management Service(Cloud KMS)の設定などの情報の入力を求めます。Appliance Cloud 設定アプリケーションは、入力された情報を使用して、転送の Google Cloud 権限、優先 Cloud Storage バケット、Cloud KMS 鍵を構成します。

準備

以下があることを確認してください。

  • アプライアンスの注文に使用したプロジェクトの名前とビジネス拠点。

  • アプライアンスの注文時に指定したアプライアンス ID、セッション ID、バケット名、バケットの接頭辞、暗号鍵。これらの情報は、Google Transfer Appliance の準備権限とストレージというタイトルのメールに記載されています。

  • 「Google Transfer Appliance の準備権限とストレージ」というタイトルのメールの Storage Transfer Service サービス エージェント。次のような形式です。

    project-TENANT_IDENTIFIER@storage-transfer-service.iam.gserviceaccount.com

    この例で、TENANT_IDENTIFIER は、この特定のプロジェクトに固有の生成された番号です。

    Storage Transfer Service を使用して、アプライアンスから Cloud Storage バケットにデータを転送します。

IAM ロールを割り当てる

プロジェクトと Cloud Storage バケットには、適切な IAM ロールが付与されている必要があります。

プロジェクト オーナーの場合は、roles/owner で十分です。次のセクション(Appliance Cloud 設定アプリケーションをダウンロードする)に進みます。

roles/owner がない場合は、次のロールが必要です。

  • roles/serviceusage.serviceUsageAdmin: プロジェクトで必要な API を有効にします。
  • roles/iam.serviceAccountCreator: 新しいサービス アカウントを作成します。
  • roles/iam.serviceAccountKeyAdmin: サービス アカウント キーを作成およびダウンロードします。プロジェクト レベルで付与できます。また、権限アプリによって作成されたアプライアンス サービス アカウントに付与することもできます。
  • roles/storagetransfer.admin: Storage Transfer Service サービス アカウントを作成します。
  • roles/transferappliance.viewer: Cloud Storage バケットと Cloud Key Management Service 鍵の詳細を取得します。
  • roles/storage.admin: Cloud Storage バケットを作成していない場合は、プロジェクト レベルで付与できます。既存の Cloud Storage バケットを使用している場合は、バケットレベルで付与できます。
  • roles/cloudkms.admin: Cloud KMS 鍵を作成していない場合は、プロジェクト レベルで付与するか、既存の Cloud KMS 鍵を使用している場合は鍵レベルで付与できます。

ロールの表示

プロジェクトとそのリソースについてプリンシパルが持つ IAM ロールを表示するには、次の手順を行います。

  1. Google Cloud コンソールの [IAM] ページに移動します。

    IAM ページに移動

  2. このページには、プロジェクトで IAM ロールを持つすべてのプリンシパルが表示されます。

Appliance Cloud 設定アプリケーションをダウンロードする

Appliance Cloud 設定アプリケーションをダウンロードするには:

  1. Google Cloud コンソールの [スタート] ページを開きます。

    Google Cloud コンソールの [スタート] ページを開く

  2. 転送に使用したプロジェクトの名前がプロジェクト セレクタに表示されていることを確認します。プロジェクト セレクタには、現在作業中のプロジェクトが表示されます。

    プロジェクト セレクタから Google Cloud プロジェクトを選択する

    転送に使用しているプロジェクトの名前が表示されない場合は、プロジェクト セレクタをクリックして正しいプロジェクトを選択します。

  3. 「Cloud Shell をアクティブにする」をクリックします。

    メニューバーから devshell を起動。

  4. Cloud Shell で、wget コマンドを使用して Appliance Cloud 設定アプリケーションをダウンロードします。

    wget https://storage.googleapis.com/transferappliance/cloudsetup/ta_cloudsetup_x86_64-linux -O ta_cloudsetup_x86_64-linux
    

Appliance Cloud 設定アプリケーションを実行する

Cloud Shell で次のコマンドを実行して、Appliance Cloud 設定アプリケーションを起動します。

chmod 0777 ta_cloudsetup_x86_64-linux && ./ta_cloudsetup_x86_64-linux

プロジェクトの構成に必要な手順を順を追って説明します。

アプリケーションの出力

Appliance Cloud 設定アプリケーションは、次のアクションを実行します。

  • Cloud Storage バケットへのデータ転送に使用される Appliance サービス アカウントに権限を付与します。
  • 顧客管理の暗号鍵を使用する場合は、Appliance サービス アカウントに Cloud KMS 鍵データにアクセスする権限を付与します。
  • 次の情報を表示します。

    • 顧客管理の Cloud KMS 暗号鍵を使用する場合は、Google Cloud 暗号鍵リソース名
    • Google Cloud Cloud Storage の宛先バケット名
    • Google Cloud Cloud Storage の宛先バケット接頭辞(指定した場合)。
    • 該当する場合は、Online Transfer サービス アカウント名と Storage Transfer Service サービス エージェント名。

表示される情報は、Cloud Shell のホーム ディレクトリ(SESSION_ID-output.txt)にも保存されます。ここで、SESSION_ID は、この転送に固有のセッション ID です。

この特定の転送の権限が付与されたサービス アカウントの名前は、Cloud Shell のホーム ディレクトリ(cloudsetup.log)に保存されます。

Google に CMEK 情報を送信する

顧客管理の暗号鍵を指定した場合は、「Google Transfer Appliance の準備権限とストレージ」という件名のメールのフォームに必要事項を入力して、鍵情報を送信します。

サービス アカウント キーをダウンロードする

Online Transfer Service アカウントのサービス アカウント キーをダウンロードして保存します。

gcloud iam service-accounts keys create key.json \
  --iam-account=APPLIANCE_SERVICE_ACCOUNT_EMAIL

APPLIANCE_SERVICE_ACCOUNT_EMAIL の値が権限アプリの出力に表示されます。

...

Appliance Service Account Name:
example-sa@example-project.iam.gserviceaccount.com

アプライアンスを受け取ったら、アプライアンスの /tmp ディレクトリに鍵をアップロードします。

トラブルシューティング

エラー 400: サービス アカウントが存在しません

事象:

Appliance Cloud 設定アプリケーションに次のメッセージが表示されます。

Service account ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com
does not exist.

ここで、SESSION_ID は、Appliance Cloud 設定アプリケーションに提供されるセッション ID です。

解決策:

転送のセッション ID を確認します。セッション ID は転送セッションごとに一意で、Transfer Appliance チームで共有されます。セッション ID が届かない場合は、data-support@google.com にお問い合わせください。

エラー: KMS のロケーションの一覧表示

事象:

Appliance Cloud 設定アプリケーションに次のメッセージが表示されます。

Error: listing kms locations

解決策:

Cloud Shell で次の操作を行います。

  1. gcloud auth login を実行して再認証します。

  2. Appliance Cloud 設定アプリケーションを再試行します。

エラーが解決しない場合は、Transfer Appliance チーム(data-support@google.com)にお問い合わせください。

エラー: Cloud KMS 鍵制約の作成エラー

事象:

Appliance Cloud 設定アプリケーションに次のようなメッセージが表示されます。

Error: creating cloud kms key violates constraint error: code = FailedPrecondition
desc= europe-west6 violates constraint 'constraints/gcp.resourceLocations' on
the resource 'projects/test/locations/europe-west6'

解決策:

Google Cloud プロジェクトには、特定のロケーションで Cloud Key Management Service 鍵を作成できない組織のポリシーがある場合があります。考えられる解決策は次のとおりです。

  • Cloud Key Management Service 鍵を作成する別の場所を選択します。
  • 目的のロケーションで Cloud Key Management Service 鍵の作成を許可するように組織のポリシーを更新します。

詳細については、リソース ロケーションの制限をご覧ください。