BigQuery 接続を作成する - AWS Glue

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

BigQuery 接続を作成する

AWS Glue から Google BigQuery へ接続するには、Google Cloud Platform の認証情報を作成して AWS Secrets Manager シークレットに保存し、そのシークレットを Google BigQuery AWS Glue 接続に関連付ける必要があります。

BigQuery への接続を設定するには:
  1. Google Cloud Platform で、関連するリソースを作成して特定します。

  2. Google Cloud Platform で、サービスアカウントの認証情報を作成してエクスポートします。

    BigQuery 認証情報ウィザードを使用すると、「認証情報の作成」というステップを迅速に実行できます。

    GCP でサービスアカウントを作成するには、「サービス アカウントを作成する」にあるチュートリアルに従ってください。

    • プロジェクトを選択するときは、BigQuery テーブルを含むプロジェクトを選択します。

    • サービスアカウントの GCP IAM ロールを選択するときは、BigQuery テーブルの読み取り、書き込み、作成を行う BigQuery ジョブを実行するための適切な権限を付与するロールを追加または作成します。

    サービスアカウントの認証情報を作成するには、「サービス アカウント キーを作成する」にあるチュートリアルに従ってください。

    • キータイプを選択するときは、[JSON] を選択します。

    これで、サービスアカウントの認証情報が記載された JSON ファイルがダウンロードされたはずです。これは次のように表示されます。

    { "type": "service_account", "project_id": "*****", "private_key_id": "*****", "private_key": "*****", "client_email": "*****", "client_id": "*****", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": "*****", "universe_domain": "googleapis.com" }
  3. ダウンロードした認証情報ファイルを base64 でエンコードします。AWS CloudShell セッションなどでは、コマンドラインから cat credentialsFile.json | base64 -w 0 コマンドを実行してこれを実行できます。このコマンドの出力 credentialString を保持してください。

  4. AWS Secrets Manager で、Google Cloud Platform の認証情報を使用してシークレットを作成します。Secrets Manager でシークレットを作成するには、AWS Secrets Manager ドキュメントの「AWS Secrets Manager シークレットを作成する」にあるチュートリアルに従ってください。シークレットを作成したら、次のステップのためにシークレット名 secretName を保存しておきます。

    • キーと値のペアを選択するときは、credentialString という値を持つキー credentials のペアを作成します。

  5. AWS Glue データカタログで、https://docs.aws.amazon.com/glue/latest/dg/console-connections.html にある手順に従って接続を作成します。接続を作成したら、次のステップのために接続名 connectionName を保存しておきます。

    • [接続タイプ] を選択するときは、Google BigQuery を選択してください。

    • [AWS Secret] をクリックして、secretName を入力します。

  6. AWS Glue ジョブに関連付けられている IAM ロールに secretName を読み取るアクセス許可を付与します。

  7. AWS Glue ジョブ設定で、[Additional network connection] として [connectionName] を指定します。