AWS Glue 接続プロパティ - AWS Glue

AWS Glue 接続プロパティ

このトピックでは、AWS Glue 接続のプロパティについて説明します。

必要な接続プロパティ

AWS Glue コンソールで設定を定義する場合は、次のプロパティに値を指定する必要があります。

接続名

接続の一意の名前を入力します。

接続タイプ

JDBC またはいずれかの接続タイプを選択します。

JDBC 接続タイプの詳細については、「AWS Glue JDBC 接続プロパティ」を参照してください。

Amazon Virtual Private Cloud 環境 (Amazon VPC) 内のデータソースへ接続するには、Network を選択します。

選択したタイプに応じて、AWS Glue コンソールにその他の必須フィールドが表示されます。例えば、Amazon RDS を選択した場合は、データベースエンジンを選択する必要があります。

要求される SSL 接続

このオプションを選択すると、AWS Glue では、データストア接続が信頼できる Secure Sockets Layer (SSL) 経由であることの確認が必要です。

このオプションを選択したときに利用できる追加オプションなどの詳細については、「AWS Glue SSL 接続プロパティ」を参照してください。

MSK クラスターを選択 (Amazon Managed Streaming for Apache Kafka (MSK) のみ)

別の AWS アカウントからの MSK クラスターを指定します。

Kafka ブートストラップサーバーの URL (Kafka のみ)

ブートストラップサーバーの URL のカンマ区切りリストを指定します。ポート番号を含めます。例: b-1.vpc-test-2.o4q88o.c6.kafka.us-east-1.amazonaws.com:9094, b-2.vpc-test-2.o4q88o.c6.kafka.us-east-1.amazonaws.com:9094, b-3.vpc-test-2.o4q88o.c6.kafka.us-east-1.amazonaws.com:9094

AWS Glue JDBC 接続プロパティ

AWS Glue は、JDBC 接続を介して次のデータストアに接続できます。

  • Amazon Redshift

  • Amazon Aurora

  • Microsoft SQL Server

  • MySQL

  • Oracle

  • PostgreSQL

  • Amazon RDS for MariaDB

重要

現在、ETL ジョブは 1 つのサブネット内でしか JDBC 接続を使用できません。1 つのジョブに複数のデータストアがある場合は、同じサブネットにある必要があります。

JDBC 接続タイプの追加プロパティを次に示します。

JDBC URL

JDBC データストアの URL を入力します。ほとんどのデータベースエンジンの場合、このフィールドは次の形式になります。この形式では、protocolhostport、および db_name を独自の情報に置き換えます。

jdbc:protocol://host:port/db_name

データベースエンジンに応じて、別の JDBC URL の形式が必要な場合があります。この形式では、コロン (:) とスラッシュ (/) の使用方法が若干異なるか、データベースを指定するためのキーワードが異なる場合があります。

JDBC をデータストアに接続するためには、データストアの db_name が必要です。db_name は、指定された usernamepassword を使用してネットワーク接続を確立するために使用されます。接続すると、AWS Glue はデータストア内の他のデータベースにアクセスして、クローラーを実行したり ETL ジョブを実行したりできます。

次の JDBC URL の例は、いくつかのデータベースエンジンの構文を示しています。

  • dev データベースを使用して Amazon Redshift クラスターデータストアに接続するには

    jdbc:redshift://xxx.us-east-1.redshift.amazonaws.com:8192/dev

  • employee データベースを使用して Amazon RDS for MySQL データストアに接続するには

    jdbc:mysql://xxx-cluster.cluster-xxx.us-east-1.rds.amazonaws.com:3306/employee

  • employee データベースを使用して Amazon RDS for PostgreSQL データストアに接続するには

    jdbc:postgresql://xxx-cluster.cluster-xxx.us-east-1.rds.amazonaws.com:5432/employee

  • employee サービス名を使用して Amazon RDS for Oracle データストアに接続するには

    jdbc:oracle:thin://@xxx-cluster.cluster-xxx.us-east-1.rds.amazonaws.com:1521/employee

    Amazon RDS for Oracle の構文は次のパターンに従います。これらのパターンでは、hostportservice_nameSID を独自の情報に置き換えます。

    • jdbc:oracle:thin://@host:port/service_name

    • jdbc:oracle:thin://@host:port:SID

  • employee データベースを使用して Amazon RDS for Microsoft SQL Server データストアに接続するには

    jdbc:sqlserver://xxx-cluster.cluster-xxx.us-east-1.rds.amazonaws.com:1433;databaseName=employee

    Amazon RDS for SQL Server の構文は次のパターンに従います。これらのパターンでは、server_nameport、および db_name を独自の情報に置き換えます。

    • jdbc:sqlserver://server_name:port;database=db_name

    • jdbc:sqlserver://server_name:port;databaseName=db_name

  • employee データベースの Amazon Aurora PostgreSQL インスタンスに接続するには、データベースインスタンスのエンドポイント、ポート、およびデータベース名を次のように指定します。

    jdbc:postgresql://employee_instance_1.xxxxxxxxxxxx.us-east-2.rds.amazonaws.com:5432/employee

  • Amazon RDS for MariaDB データストアに接続する (employee データベースを持つ) には、データベースインスタンスのエンドポイント、ポート、およびデータベース名を指定します。

    jdbc:mysql://xxx-cluster.cluster-xxx.aws-region.rds.amazonaws.com:3306/employee

ユーザーネーム
注記

ユーザー名とパスワードを直接入力するのではなく、AWS シークレットを使用して接続認証情報を保存することをお勧めします。詳細については、「AWS Secrets Manager への接続認証情報の保存」を参照してください。

JDBC データストアにアクセスする権限を持つユーザー名を指定します。

[Password] (パスワード)

JDBC データストアへのアクセス権を持つユーザー名のパスワードを入力します。

ポート

Amazon RDS​ Oracle インスタンスに接続するために JDBC URL で使用するポートを入力します。このフィールドは、Amazon RDS Oracle インスタンスに対して [Require SSL connection] (SSL 接続が必要) を選択したときにしか表示されません。

VPC

データストアを含むVirtual Private Cloud (VPC) の名前を選択します。AWS Glue コンソールには、現在のリージョンの VPC がすべて表示されます。

サブネット

データストアを含む VPC 内のサブネットを選択します。AWS Glue コンソールには VPC 内のデータストアのすべてのサブネットが一覧表示されます。

セキュリティグループ

データストアに関連付けられているセキュリティグループを選択します。AWS Glue には、AWS Glue の接続を許可するインバウンドソースルールを持つ 1 つ以上のセキュリティグループが必要です。AWS Glue​ コンソールには、VPC へのインバウンドアクセスが許可されているすべてのセキュリティグループが一覧表示されます。AWS Glue は、VPC サブネットにアタッチされている Elastic Network Interface にこれらのセキュリティグループを関連付けます。

AWS Glue SSL 接続プロパティ

[Require SSL connection] (SSL 接続が必要) プロパティの詳細は、次の通りです。

SSL 接続が必要でない場合、AWS Glue では SSL を使用してデータストアへの接続を暗号化できなくても無視されます。設定の手順については、データストアのドキュメントを参照してください。このオプションを選択すると、AWS Glue​ が接続できない場合、開発エンドポイントでのジョブ実行、クローラー、または ETL のステートメントは失敗します。

このオプションは、AWS Glue クライアント側で検証されます。JDBC 接続の場合、AWS Glue は、証明書とホスト名の検証を使用する SSL 経由でのみ接続を行います。SSL 接続サポートは、次の場合に利用できます。

  • Oracle Database

  • Microsoft SQL Server

  • PostgreSQL

  • Amazon Redshift

  • MySQL (Amazon RDS インスタンスのみ)

  • Amazon Aurora MySQL (Amazon RDS インスタンスのみ)

  • Amazon Aurora PostgreSQL (Amazon RDS インスタンスのみ)

  • Kafka (Amazon Managed Streaming for Apache Kafka を含む)

注記

Amazon RDS Oracle データストアが [Require SSL connection] (SSL 接続が必要) を使用できるようにするためには、Oracle インスタンスへのオプショングループを作成してアタッチする必要があります。

  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. オプショングループを Amazon RDS Oracle インスタンスに追加します。Amazon RDS​ コンソールで、オプショングループを追加する方法についての詳細は、「オプショングループを作成する」を参照してください。

  3. オプションSSL のオプショングループに追加します。SSL に指定したポートは、後で Amazon RDS Oracle インスタンスの ​AWS Glue JDBC 接続 URL を作成するときに使用されます。Amazon RDS コンソールでオプションを追加する方法の詳細については、Amazon RDS ユーザーガイドの「オプショングループにオプションを追加する」を参照してください。の。Oracle SSL のオプションの詳細については、Amazon RDS ユーザーガイドの「Oracle SSL」を参照してください。

  4. AWS Glue​ コンソールで、Amazon RDS​ Oracle インスタンスへの接続を作成します。接続定義で、[Require SSL connection] を選択します。Amazon RDS Oracle SSL オプションで使用しているポートを、求められれば入力します。

接続に [Require SSL connection] (SSL 接続が必要) が選択されている場合は、次の追加のオプションプロパティを使用できます。

S3 のカスタム JDBC 証明書

オンプレミスまたはクラウドデータベースとの SSL 通信に現在使用している証明書がある場合は、この証明書を AWS Glue データソースまたはターゲットへの SSL 接続に使用できます。カスタムルート証明書が含まれている Amazon Simple Storage Service (Amazon S3) の場所を入力します。AWS Glue はこの証明書を使用してデータベースへの SSL 接続を確立します。AWS Glue は X.509 証明書のみを処理します。証明書は DER エンコードし、Base64 エンコード PEM 形式で指定する必要があります。

このフィールドを空白のままにすると、デフォルトの証明書が使用されます。

カスタム JDBC 証明書文字列

JDBC データベース固有の証明書情報を入力します。これは、ドメインの一致または識別名 (DN) の一致に使用される文字列です。Oracle Database の場合、この文字列は tnsnames.ora ファイルの security セクションの SSL_SERVER_CERT_DN パラメータにマッピングされます。Microsoft SQL Server の場合、この文字列は hostNameInCertificate として使用されます。

Oracle Database の SSL_SERVER_CERT_DN パラメータの例を次に示します。

cn=sales,cn=OracleContext,dc=us,dc=example,dc=com
Kafka のプライベート CA 証明書の場所

Kafka データストアとの SSL 通信に現在使用している証明書がある場合は、この証明書を AWS Glue接続に使用できます。このオプションは Kafka データストアには必須で、Amazon Managed Streaming for Apache Kafka データストアにはオプションです。カスタムルート証明書が含まれている Amazon Simple Storage Service (Amazon S3) の場所を入力します。AWS Glue はこの証明書を使用して Kafka データストアへの SSL 接続を確立します。AWS Glue は X.509 証明書のみを処理します。証明書は DER エンコードし、Base64 エンコード PEM 形式で指定する必要があります。

証明書の検証をスキップ

証明書の検証をスキップ」 チェックボックスをオンにして、AWS Glue によるカスタム証明書の検証をスキップします。検証することを選択すると、AWS Glue は証明書の署名アルゴリズムとサブジェクトパブリックキーアルゴリズムを検証します。証明書の検証に失敗すると、この接続を使用する ETL ジョブまたはクローラーはすべて失敗します。

許可される署名アルゴリズムは、SHA256withRSA、SHA384withRSA、または SHA512withRSA のみです。サブジェクトパブリックキーアルゴリズムの場合、キーの長さは 2048 以上にする必要があります。

Kafka クライアントのキーストアの場所

Kafka クライアント側認証用のクライアントキーストアファイルの Amazon S3 の場所。パスは s3://bucket/prefix/filename.jks の形式である必要があります。ファイル名と .jks 拡張子で終わる必要があります。

Kafka クライアントキーストアのパスワード (オプション)

指定されたキーストアにアクセスするためのパスワード。

Kafka クライアントキーのパスワード (オプション)

キーストアは、複数のキーで構成することができるので、これは、Kafkaサーバー側のキーで使用されるクライアントキーにアクセスするためのパスワードです。

クライアント認証用の Apache Kafka 接続プロパティ

AWS Glue は、Apache Kafka 接続を作成するときの認証用の Simple Authentication and Security Layer (SASL) フレームワークをサポートしています。SASL フレームワークは、さまざまな認証メカニズムをサポートしており、AWS Glue では、SCRAM プロトコル (ユーザー名とパスワード) と GSSAPI (Kerberos プロトコル) の両方が使用できます。

AWS Glue Studio を使用して、次のクライアント認証方法のいずれかを設定します。詳細については、「AWS Glue Studio ユーザーガイド」の「コネクタ用の接続を作成する」を参照してください。

  • None - 認証なし。これは、テスト目的で接続する場合に便利です。

  • SASL/SCRAM-SHA-512 - この認証方法を選択すると、認証情報を指定することができます。2 つのオプションがあります。

    • AWS Secrets Manager を使用 (推奨) - このオプションを選択すると、ユーザー名とパスワードを AWS Secrets Manager に保存して、必要なときに AWS Glue がアクセスできるようにできます。SSL または SASL 認証の認証情報を格納するシークレットを指定します。詳細については、「AWS Secrets Manager への接続認証情報の保存」を参照してください。

    • 有効なユーザー名とパスワードを直接指定します。

  • SASL/GSSAPI (Kerberos) - このオプションを選択すると、キータブファイル、krb5.conf ファイルの場所を選択して、Kerberos プリンシパル名と Kerberos サービス名を入力することができます。キータブファイルと krb5.conf ファイルの場所は、Simple Storage Service (Amazon S3) がある場所の中にする必要があります。MSK は SALS/GSSAPI をまだサポートしていないため、このオプションは Customer Managed Apache Kafka クラスターでのみ使用できます。詳細については、MIT Kerberos ドキュメント: キータブを参照してください。

  • SSL クライアント認証 - このオプションを選択すると、Simple Storage Service (Amazon S3) を参照することで Kafka クライアントキーストアの場所を選択できます。オプションで、Kafka クライアントキーストアのパスワードと Kafka クライアントキーのパスワードを入力できます。