独自の JDBC ドライバーを使用した JDBC 接続の追加 - AWS Glue

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

独自の JDBC ドライバーを使用した JDBC 接続の追加

JDBC 接続を使用する際に、独自の JDBC ドライバーを使用できます。AWS Glue クローラーが使用するデフォルトドライバーがデータベースに接続できない場合、独自の JDBC ドライバーを使用できます。例えば、Postgres データベースで SHA-256 を使用したいが、古い Postgres ドライバーがこれをサポートしていない場合は、独自の JDBC ドライバーを使用できます。

サポート対象データソース

サポート対象データソース サポートされていないデータソース
MySQL Snowflake
Postgres
Oracle
Redshift
SQL Server
Aurora*

* ネイティブの JDBC ドライバーが使用されている場合にサポートされます。すべてのドライバー機能を使用できるわけではありません。

JDBC 接続への JDBC ドライバーの追加

注記

独自の JDBC ドライバーバージョンを導入する場合、AWS Glue クローラーは AWS Glue ジョブと Amazon S3 バケットのリソースを使用して、用意したドライバーが自分の環境で実行されるようにします。リソースの追加使用量はアカウントに反映されます。AWS Glue クローラーとジョブのコストは、請求の AWS Glue カテゴリに含まれます。さらに、独自の JDBC ドライバーを用意しても、クローラーがドライバーの機能をすべて活用できるわけではありません。

独自の JDBC ドライバーを JDBC 接続に追加するには:
  1. JDBC ドライバーファイルを Amazon S3 の場所に追加します。バケットおよび/またはフォルダを作成または使用できます。

  2. AWS Glue コンソールで、左側のメニューの [データカタログ][接続] を選択し、新しい接続を作成します。

  3. [接続プロパティ] のフィールドに入力し、[接続タイプ] で JDBC を選択します。

  4. [接続アクセス] に、[JDBC URL][JDBC ドライバーのクラス名] を入力します (オプション)。ドライバークラス名は、AWS Glue クローラーがサポートするデータソースのものである必要があります。

    このスクリーンショットは、JDBC が選択されたデータソースと、[データソースの追加] ウィンドウ内の接続を示しています。
  5. JDBC ドライバーが置かれている Amazon S3 パスを [JDBC ドライバーの Amazon S3 パス] で選択します (オプションフィールド)。

  6. ユーザー名とパスワード、またはシークレットを入力する場合は、認証情報タイプのフィールドに入力します。完了したら、[接続を作成] を選択します。

    注記

    テスト接続は現在サポートされていません。用意した JDBC ドライバーを使用してデータソースをクローリングする場合、クローラーはこのステップをスキップします。

  7. 新しく作成した接続をクローラーに追加します。AWS Glue コンソールで、左側のメニューの [データカタログ][クローラー] を選択し、新しいクローラーを作成します。

  8. [クローラーの追加] ウィザードの [ステップ 2] で [データソースの追加] を選択します。

    このスクリーンショットは、JDBC が選択されたデータソースと、[データソースの追加] ウィンドウ内の接続を示しています。
  9. データソースとして [JDBC] を選択し、これまでの手順で作成した接続を選択します。完了

  10. クローラーで独自の JDBC ドライバーを使用するには、 AWS Glue クローラーが使用するロールに次のアクセス許可を追加します。

    • ジョブアクション CreateJobDeleteJobGetJobGetJobRunStartJobRun にアクセス権限を付与します。

    • IAM アクション iam:PassRole にアクセス権限を付与します。

    • Amazon S3 アクション s3:DeleteObjectss3:GetObjects3:ListBuckets3:PutObject にアクセス権限を付与します。

    • サービスプリンシパルに IAM ポリシーのバケット/フォルダへのアクセス権限を付与します。

    IAM ポリシーの例:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::bucket-name/driver-parent-folder/driver.jar", "arn:aws:s3:::bucket-name" ] } ] }
  11. VPC を使用している場合は、インターフェイスエンドポイントを作成し、これをルートテーブルに追加して AWS Glue へのアクセスを許可する必要があります。詳細については、「AWS Glue 用のインターフェイス VPC エンドポイントの作成」を参照してください。

  12. Data Catalog で暗号化を使用している場合は、 AWS KMS インターフェイスエンドポイントを作成し、ルートテーブルに追加します。詳細については、「AWS KMS用の VPC エンドポイントの作成」を参照してください。