始める前に

Transfer Service for On Premises Data ジョブを初めて作成するときに、必要な API を有効にして、適切な権限が付与されるようにする必要があります。

初回設定中にエラーが発生した場合は、設定手順に必要な権限がログイン ユーザーに付与されていることを確認してください。多くの場合、これらの権限はすべてのユーザーに付与されているわけではありません。プロジェクト管理者のサポートが必要になることがあります。

初回設定を行うには:

  1. Google Storage Transfer API を有効にします。

    API を有効にする

    1. API を有効にするプロジェクトを確認し、[次へ] をクリックします。

    2. [有効にする] をクリックします。

  2. Pub/Sub API を有効にします。

    API を有効にする

    1. API を有効にするプロジェクトを確認し、[次へ] をクリックします。

    2. [有効にする] をクリックします。

  3. Google Cloud プロジェクト管理者(resourcemanager.projects.setIamPolicy 権限を持つユーザー)を使用して、次の対象に Identity and Access Management の権限またはロールを付与します。
    • オンプレミス用 Transfer 管理者アカウント - 転送を実行するユーザーをサポートするスーパー ユーザー アカウント。この管理者は、オンプレミス用 Transfer エージェントを管理し、帯域幅の使用量上限を設定します。
    • オンプレミス用 Transfer ユーザー アカウント - 転送の作成と実行に使用するアカウント。通常、これらのアカウントには転送ジョブの削除権限はありません。
    • オンプレミス用 Transfer サービス アカウント - オンプレミス用 Transfer で転送を行うために使用する Google が管理するサービス アカウント
    • オンプレミス用 Transfer エージェント ID - オンプレミス用 Transfer エージェントの実行に使用する ID。これは、サービス アカウントか、オンプレミス エージェントを設定するユーザー アカウントのいずれかになります。

    Google Cloud プロジェクトの管理者アカウントは、転送ユーザーを設定し、必要な権限をオンプレミス用 Transfer サービス アカウントに付与する必要がありますが、転送ジョブを開始する必要はありません。

    IAM ロールの付与については、リソースに対するアクセス権の付与、変更、取り消しをご覧ください。

    オンプレミス用 Transfer のカスタムロールの作成方法については、オンプレミス用 Transfer の IAM 権限IAM カスタムロールについてをご覧ください。

    1. オンプレミス用 Transfer 管理者アカウントを設定するには、アカウントに次の IAM の権限とロールを割り当てます。
      ロール / 権限 機能
      resourcemanager.projects.getIamPolicy この権限は、転送に必要な権限がオンプレミス用 Transfer サービス アカウントにあることを確認するために使用します。
      Storage Transfer 管理者 (roles/storagetransfer.admin プロジェクト設定やエージェントのモニタリングなど、転送プロジェクトでの管理アクションを有効にします。 付与される権限の詳細については、Storage Transfer Service の事前定義ロールをご覧ください。
    2. オンプレミス用 Transfer ユーザー アカウントを設定するには、アカウントに次の権限とロールを割り当てます。
      ロール / 権限 機能
      resourcemanager.projects.getIamPolicy 転送に必要な Pub/Sub 権限がオンプレミス用 Transfer サービス アカウントにあることを確認するために使用されます。
      Storage Transfer ユーザー (roles/storagetransfer.user ユーザーが、転送の作成、取得、更新、一覧表示をできるようになります。 付与される権限の詳細については、Storage Transfer Service の事前定義ロールをご覧ください。
      ストレージ オブジェクト管理者 (roles/storage.objectAdmin ユーザーが、転送の一部として Cloud Storage オブジェクトを作成、更新、削除できるようになります。 このアカウントが転送で使用するすべての Cloud Storage バケットに付与する必要があります。

      付与されている権限の詳細については、Cloud Storage の事前定義ロールをご覧ください。
    3. オンプレミス用 Transfer では、Google が管理するサービス アカウントを使用してデータを移動します。サービス アカウントの形式は通常 project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com です。特定の PROJECT_NUMBER を確認するには、 googleServiceAccounts.get API 呼び出しを使用します。

      転送を完了するために必要なリソースにオンプレミス用 Transfer サービス アカウントがアクセスできるようにするには、次のロールまたは同等の権限をオンプレミス用 Transfer サービス アカウント に割り当てます。

      ロール / 権限 機能
      Storage オブジェクト作成者(roles/storage.objectCreator オンプレミス用 Transfer が、この転送に接続された Cloud Storage バケットに転送ログを作成できるようになります。 転送で使用されるすべての Cloud Storage バケットに付与します。状況に応じて、オンプレミス用 Transfer の実行元プロジェクトにプロジェクト レベルでロールを付与できます。

      これらのロールで付与される権限の詳細については、Cloud Storage の事前定義ロールをご覧ください。
      Storage オブジェクト閲覧者(roles/storage.objectViewer オンプレミス用 Transfer が、Cloud Storage との間でファイルが転送済みかどうかを判断できます。
      Pub/Sub 編集者(roles/pubsub.editor オンプレミス用 Transfer が、Google Cloud からオンプレミス用 Transfer エージェントへの通信に使用される Pub/Sub トピックを自動的に作成し、変更できるようになります。 オンプレミス用 Transfer の実行元のプロジェクトにプロジェクト レベルでロールを適用します。

      このロールで付与される権限の詳細については、Pub/Sub のロールをご覧ください。
      Storage レガシー バケット読み取り (roles/storage.legacyBucketReader オンプレミス用 Transfer が Cloud Storage バケットのメタデータを読み取ることができるようにします。 転送で使用される各 Cloud Storage バケットに付与します。
    4. オンプレミス用 Transfer エージェント サービス アカウント、またはオンプレミス用 Transfer エージェントを実行するユーザー アカウントを設定するには、次の権限とロールを割り当てます。
      ロール / 権限 機能
      ストレージ オブジェクト管理者 (roles/storage.objectAdmin オンプレミス用 Transfer エージェントが、転送の一部として Cloud Storage オブジェクトを作成、更新、削除できるようになります。 転送で使用されるすべての Cloud Storage バケットに付与します。状況に応じて、オンプレミス用 Transfer の実行元プロジェクトにプロジェクト レベルでロールを付与できます。

      このロールで付与される権限の詳細については、Cloud Storage の事前定義ロールをご覧ください。
      Pub/Sub パブリッシャー (roles/pubsub.publisher オンプレミス用 Transfer エージェントが、Pub/Sub トピックを使用して Google Cloud と情報を共有できるようになります。 このロールで付与される権限の詳細については、Pub/Sub のロールをご覧ください。
      Pub/Sub サブスクライバー (roles/pubsub.subscriber Google Cloud が、Pub/Sub トピックを使用してオンプレミス用 Transfer エージェントと情報を共有できるようになります。 このロールで付与される権限の詳細については、Pub/Sub のロールをご覧ください。
      Pub/Sub 編集者(roles/pubsub.editor オンプレミス用 Transfer エージェントに Pub/Sub サブスクリプションの作成、取得、削除が許可されます。これにより、エージェントは Google Cloud とオンプレミス用 Transfer エージェント間の通信に使用される Pub/Sub トピックを取得できます。 このロールで付与される権限の詳細については、Pub/Sub のロールをご覧ください。
  4. 次の手順で、物理または仮想の Linux マシンに Docker Community Edition をインストールします。

    1. Docker Community Edition をインストールするには、次のコマンドを実行します。

       curl -fsSL https://get.docker.com -o get-docker.sh
      
       sudo sh get-docker.sh
      
       sudo systemctl enable docker
      

      インストール エラーが発生した場合は、トラブルシューティングをご覧ください。

    2. このマシンのエージェントが Google Cloud に認証するようにします。

      認証を有効にするには、次のコマンドを実行して、マシンのデフォルトの gcloud 認証情報を Docker ボリュームに保存します。

      sudo docker run -ti --name gcloud-config \
          gcr.io/google.com/cloudsdktool/cloud-sdk \
          gcloud auth application-default login
      
  5. 次のコマンドを実行してエージェントを起動します。

    sudo docker run -d --ulimit memlock=64000000 --rm \
    --volumes-from gcloud-config \
    -v /:/transfer_root \
    gcr.io/cloud-ingest/tsop-agent:latest \
    --enable-mount-directory \
    --project-id=PROJECT_ID \
    --hostname=$(hostname)
    

    PROJECT_ID は、プロジェクトの ID に置き換えます。

次のステップ