

# BigQuery 接続を作成する
<a name="creating-bigquery-connection"></a>

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

**BigQuery への接続を設定するには:**

1. Google Cloud Platform で、関連するリソースを作成して特定します。
   + 接続したい BigQuery テーブルを含む GCP プロジェクトを作成または特定します。
   + BigQuery API を有効にします。詳細については、「[Use the BigQuery Storage Read API to read table data](https://cloud.google.com/bigquery/docs/reference/storage/#enabling_the_api)」を参照してください。

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

   BigQuery 認証情報ウィザードを使用すると、[認証情報の作成](https://console.cloud.google.com/apis/credentials/wizard?api=bigquery.googleapis.com) というステップを迅速に実行できます。

   GCP でサービスアカウントを作成するには、[サービスアカウントを作成する](https://cloud.google.com/iam/docs/service-accounts-create) にあるチュートリアルに従ってください。
   + **プロジェクト** を選択するときは、BigQuery テーブルを含むプロジェクトを選択します。
   + サービスアカウントの GCP IAM ロールを選択するときは、BigQuery テーブルの読み取り、書き込み、作成を行う BigQuery ジョブを実行するための適切な権限を付与するロールを追加または作成します。

   サービスアカウントの認証情報を作成するには、[サービスアカウントキーを作成する](https://cloud.google.com/iam/docs/keys-create-delete#creating) にあるチュートリアルに従ってください。
   + キータイプを選択するときは、**[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"
   }
   ```

1. AWS Secrets Manager で、ダウンロードした認証情報ファイルを使用してシークレットを作成します。**[プレーンテキスト]** タブを選択し、JSON 形式のファイルコンテンツを貼り付けることができます。Secrets Manager でシークレットを作成するには、AWS Secrets Manager ドキュメントの [AWS Secrets Manager シークレットを作成する](https://docs.aws.amazon.com//secretsmanager/latest/userguide/create_secret.html) にあるチュートリアルに従ってください。シークレットを作成したら、次のステップのためにシークレット名 *secretName* を保存しておきます。

1. AWS Glue データカタログで、[https://docs.aws.amazon.com/glue/latest/dg/console-connections.html](https://docs.aws.amazon.com/glue/latest/dg/console-connections.html) にある手順に従って接続を作成します。接続を作成したら、次のステップのために接続名 *connectionName* を保存しておきます。
   + **[接続タイプ]** を選択するときは、Google BigQuery を選択してください。
   + **[AWS Secret]** をクリックして、*secretName* を入力します。

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

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