AWS Glue Studio でのコネクタと接続の使用
AWS Glue には、JDBC 接続を使用する最も一般的なデータストア (Amazon Redshift、Amazon Aurora、Microsoft SQL Server、MySQL、MongoDB、PostgreSQL など) に対するサポートが組み込まれています。また、AWS Glue では、抽出、変換、ロード (ETL) ジョブ用にカスタム JDBC ドライバも使用できます。SaaS アプリケーションなど、ネイティブにサポートされていないデータストアに対しては、コネクタを使用することができます。
コネクタ とは AWS Glue Studio 内でデータストアに対するアクセスを支援するための、オプションのコードパッケージです。AWS Marketplace で提供されている複数のコネクタをサブスクライブすることができます。
ETL ジョブの作成時には、ネイティブにサポートされているデータストアを使用するか、AWS Marketplace からのコネクタ、または独自のカスタムコネクタを使用できます。コネクタを使用するには、最初にコネクタのための接続を作成する必要があります。接続には、特定のデータストアに接続するために必要なプロパティが含まれます。ETL ジョブでは、データソースおよびデータターゲットとの接続を使用します。コネクタと接続は、データストアへのアクセスを容易にするために連携して動作します。
トピック
コネクタと接続の使用に関する概要
接続には、特定のデータストアに接続するために必要なプロパティが含まれます。作成した接続は AWS Glue Data Catalog に保存されます。コネクタを選択し、そのコネクタに基づいて接続を作成します。
ネイティブにサポートされていないデータストアへのコネクタは、AWS Marketplace 内でサブスクライブすることができます。その後、接続を作成するときにこれらのコネクタを使用します。さらに、デベロッパーは独自のコネクタを作成し、それを接続の作成に使用することもできます。
カスタムのコネクタ、または AWS Marketplace からのコネクタを使用して作成された接続は、タイプを AWS Glue Studio として、AWS Glue コンソール内の UNKNOWN
に表示されます。
以下のステップで、AWS Glue Studio でコネクタを使用するための全体的なプロセスを説明します。
-
AWS Marketplace 内でコネクタをサブスクライブするか、独自のコネクタを開発して、AWS Glue Studio にアップロードします。詳細については、「AWS Glue Studio にコネクタを追加する」を参照してください。
-
コネクタの使用方法に関する情報を確認します。この情報は、コネクタ製品ページの [Usage] (使用方法) タブに表示されます。例えば、[Usage] (使用状況) タブで、「AWS Glue Connector for Google BigQuery
」をクリックした場合、[Additional Resources] (その他のリソース) セクションには、このコネクタの使用に関するブログへのリンクが表示されます。他のコネクタについては、コネクタの製品ページ Cloudwatch Logs connector for AWS Glue のように、[Overview] (概要) セクションで使用手順に関するリンクが表示されます。 -
接続を作成します。使用するコネクタを選択し、ログイン認証情報、URI 文字列、仮想プライベートクラウド (VPC) 情報など、接続に関する追加情報を提供します。詳細については、「コネクタ用の接続を作成する」を参照してください。
-
ジョブ用に IAM ロールを作成します。ジョブは、作成時に指定する [IAM role] (IAM ロール) のアクセス許可があることを想定します。この IAM ロールには、データストアを承認し、そこからのデータ抽出、およびデータを書き込むために必要なアクセス許可を有する必要があります。詳細については、「ETL ジョブに必要な IAM アクセス許可を確認する」および「コネクタの使用に必要なアクセス許可」を参照してください。
-
ETL ジョブを作成し、その ETL ジョブのためにデータソースプロパティを設定します。カスタムコネクタプロバイダーの指示に従って、接続オプションと認証情報を指定します。詳細については、「カスタムコネクタを使用したジョブのオーサリング」を参照してください。
-
AWS Glue Studio での ETL ジョブの編集 での説明を参考に、変換を追加するか新しいデータストアを追加しながら、ETL ジョブをカスタマイズします。
-
データターゲットにコネクタを使用している場合は、ETL ジョブ用のデータターゲットプロパティを設定します。カスタムコネクタプロバイダーの指示に従って、接続オプションと認証情報を指定します。詳細については、「カスタムコネクタを使用したジョブのオーサリング」を参照してください。
-
ジョブのプロパティを変更する での説明のように、ジョブのプロパティを構成して、ジョブの実行環境をカスタマイズします。
-
ジョブを実行します。
AWS Glue Studio にコネクタを追加する
コネクタとは、データストアと AWS Glue 間の通信を容易にするための、一連のコードのことです。AWS Marketplace で提供されているコネクタをサブスクライブするか、独自のカスタムコネクタを作成することが可能です。
AWS Marketplace コネクタをサブスクライブする
AWS Glue Studio を使用すると、AWS Marketplace からコネクタを簡単に導入できます。
AWS Marketplace から AWS Glue Studio にコネクタを追加する方法
-
AWS Glue Studio コンソールのナビゲーションペインで、[Connectors] (コネクタ) をクリックします。
-
[Connectors] (コネクタ) ページで、[Go to AWS Marketplace] をクリックします。
-
AWS Marketplace の [Featured products] (注目の製品) で、使用するコネクタを選択します。表示されているコネクタの 1 つを選択するか、または検索することができます。コネクタを、名前またはタイプにより検索したり、オプションを使用して検索結果を絞り込むことができます。
表示されているコネクタのいずれかを使用するには、[View product] (製品を表示する) をクリックします。検索結果からコネクタを見つけた場合は、そのコネクタの名前を選択します。
-
コネクタの製品ページで、そのコネクタに関するタブを開いて情報を表示します。そのコネクタを購入する場合は、[Continue to Subscribe] (続行してサブスクライブする) をクリックします。
-
支払い情報を入力し、[Continue to Configure] (設定に進む) をクリックします。
-
[Configure this software] (このソフトウェアを設定する) ページで、デプロイの方法と使用するコネクタのバージョンを選択します。[Continue to Launch] (続行して起動する) をクリックします。
-
[Launch this software] (このソフトウェアを起動する) ページでは、コネクタプロバイダから提供される [Usage Instructions] (使用手順) を確認することができます。続行する準備が整ったら、[Activate connection in AWS Glue Studio] (AWS Glue Studio で接続をアクティブ化にする) を選択します。
少し待機すると、コンソールに、AWS Glue Studio の [Create marketplace connection] (マーケットプレイス接続の作成) ページが表示されます。
-
コネクタ用の接続を作成する の説明を参考に、このコネクタを使用する接続を作成します。
または、[Activate connector only] (アクティブなコネクタのみ) を選択し、この時点での接続の作成をスキップすることも可能です。後にコネクタを使用する際には、先に接続を作成する必要があります。
カスタムコネクタを作成する
独自のコネクタを作成し、そのコネクタのコードを AWS Glue Studio にアップロードすることもできます。
カスタムコネクタは、AWS Glue Spark ランタイム API を介して AWS Glue Studio に組み込まれます。Spark、Athena、または JDBC インターフェイスと準拠している任意のコネクタを、AWS Glue Spark ランタイムを使用してプラグインすることができます。これにより、カスタムコネクタで使用できる任意の接続オプションを渡すことができます。
AWS Glue 接続でのすべての接続プロパティをカプセル化して、ETL ジョブにその接続名を指定することができます。Data Catalog 接続を統合することで、単一の Spark アプリケーションからの複数の呼び出しや、異なるアプリケーション間での同じ接続プロパティの使用ができるようにします。
接続には、他のオプションを指定することもできます。AWS Glue Studio が生成するジョブスクリプトには、指定された接続オプションを使用してコネクタをプラグインする接続を使用する Datasource
エントリが含まれています。例:
Datasource = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"dbTable":"Account","connectionName":"my-custom-jdbc- connection"}, transformation_ctx = "DataSource0")
AWS Glue Studio にカスタムコネクタを追加する方法
-
カスタムコネクタ用のコードを作成します。詳細については、「カスタムコネクタの開発」を参照してください。
-
コネクタに、AWS Glue 機能に対するサポートを追加します。以下に、これらの機能について、さらにそれらが AWS Glue Studio で生成されたジョブスクリプトでどのように使用されるかに関する例をいくつか挙げてみます。
-
データ型のマッピング – コネクタは、基盤データストアから列を読み込む際に、列をタイプキャストすることができます。例えば
{"INTEGER":"STRING"}
のdataTypeMapping
では、レコードの解析とDynamicFrame
の構築時に、Integer
型のすべての列をString
型の列に変換します。これにより、ユーザーは任意のタイプに列をキャストすることができます。DataSource0 = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"dataTypeMapping":{"INTEGER":"STRING"}", connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0")
-
並列読み取りのパーティション化 – AWS Glue は、列にあるデータを分割することで、データストアから並列データを読み取れるようにします。パーティション列、パーティションの下限、パーティションの上限、およびパーティション数を指定する必要があります。この機能により、データの並列処理と、Spark アプリケーションに割り当てる複数の Spark エグゼキュータの使用が可能になります。
DataSource0 = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"upperBound":"200","numPartitions":"4", "partitionColumn":"id","lowerBound":"0","connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0")
-
AWS Secrets Manager を使用した認証情報の保存 – Data Catalog 接続には、AWS Secrets Manager に保存されているシークレットのための
secretId
も含めることができます。AWS シークレットにより、承認と認証に関する情報を安全に保存し、また、AWS Glue の実行時にその情報を提供できます。または、以下に示すように、Spark スクリプトからsecretId
を指定することもできます。DataSource = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"connectionName":"test-connection-jdbc", "secretId"-> "my-secret-id"}, transformation_ctx = "DataSource0")
-
行述語と列射影によるソースデータのフィルタリング – AWS Glue Spark ランタイムでは、行述語と列射影を使用しながら、SQL クエリをプッシュダウンすることでソースにあるデータをフィルタリングすることもできます。これにより ETL ジョブは、フィルタリングされたデータを、プッシュダウンをサポートするデータストアからより迅速にロードできます。
SELECT id, name, department FROM department WHERE id < 200.
は、JDBC データ・ソースにプッシュダウンされた SQL クエリの例です。DataSource = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"query":"SELECT id, name, department FROM department WHERE id < 200","connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0")
-
ジョブのブックマーク – AWS Glue は、JDBC ソースからのデータの増分ロードをサポートしています。AWS Glue は、最後に処理された (データストアからの) レコードを追跡し、後続の ETL ジョブ実行で新しいデータレコードを処理します。ジョブのブックマークは、その列が順番に増減しているのであれば、ブックマークキーのデフォルト列としてプライマリキーを使用します。ジョブのブックマークの詳細については、AWS Glue デベロッパーガイドの「ジョブ ブックマーク」を参照してください。
DataSource0 = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"jobBookmarkKeys":["empno"], "jobBookmarkKeysSortOrder" :"asc", "connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0")
-
-
カスタムコネクタを JAR ファイルとしてパッケージ化し、そのファイルを Amazon S3 にアップロードします。
-
カスタムコネクタをテストします。詳細については、GitHub の「Glue カスタムコネクタ: ローカル検証テストガイド
」で手順を参照してください。 -
AWS Glue Studio コンソールのナビゲーションペインで、[Connectors] (コネクタ) をクリックします。
-
[Connectors] (コネクタ) ページで、[Create custom connector] (カスタムコネクタを作成) をクリックします。
-
[Create custom connector] (カスタムコネクタの作成) ページで、次の情報を入力します。
-
カスタムコード JAR ファイルの Amazon S3 内ロケーションへのパス。
-
AWS Glue Studio によって使用されるコネクタの名前。
-
コネクタのタイプ (JDBC、Spark、または Athena)。
-
コネクタを使用するために AWS Glue Studio が呼び出す、カスタムコード内のエントリポイントの名前。
-
JDBC コネクタの場合、このフィールドは JDBC ドライバのクラス名です。
-
Spark コネクタの場合、このフィールドは、データソースの完全修飾クラス名、またはそのエイリアスである必要があります。これは、
format
演算子を使用して Spark データソースをロードする際に使用します。
-
-
(JDBC のみ) データストアの JDBC 接続で使用されるベース URL。
-
(オプション) カスタムコネクタの説明。
-
-
[Create connector] (コネクターを作成) をクリックします。
-
コネクタ用の接続を作成する の説明を参考に、[Connectors] (コネクタ) ページで、そのコネクタを使用する接続を作成します。
コネクタ用の接続を作成する
AWS Glue 接続は、特定のデータストアの接続情報を保存する Data Catalog オブジェクトです。接続には、ログイン認証情報、URI 文字列、Virtual Private Cloud (VPC) 情報などが含まれます。データカタログで接続を作成することで、クローラーまたはジョブを作成するたびに、すべての接続の詳細を指定する必要がなくなります。
AWS Glue コンソールを使用して作成された接続は、AWS Glue Studio には表示されません。
コネクタのために接続を作成するには
-
AWS Glue Studio コンソールのナビゲーションペインで、[Connectors] (コネクタ) をクリックします。
-
接続を作成するコネクタを選択し、[Create connection] (接続を作成する) をクリックします。
-
[Create connection] (接続の作成) ページで、接続の名前、およびその説明 (オプション) を入力します。
-
接続の詳細を入力します。選択したコネクタのタイプに応じて、追加情報の入力を促されます。
-
ユーザー名やパスワードなど、必要な認証情報を入力するか、AWS シークレットを選択します。
-
JDBC を使用するコネクタの場合は、データストアに JDBC URL を作成するために必要な情報を入力します。
-
Virtual Private Cloud (VPC) を使用する場合は、VPC のネットワーク情報を入力します。
-
-
[Create connection] (接続の作成) を選択します。
再び [Connectors] (コネクタ) ページが表示され、作成された接続が情報バナーに表示されます。AWS Glue Studio で説明したように、コネクタを使用するジョブを作成する ジョブで接続を使用することができるようになりました。
Kafka 接続を作成する
Kafka 接続を作成するときには、ドロップダウンメニューから Kafka を選択すると追加設定が表示され、構成できるようになります。
-
Kafka クラスターの詳細
-
認証
-
暗号化
-
ネットワークオプション
Kafka クラスターの詳細を設定する
-
クラスターの場所を選択します。Amazon Managed Streaming for Apache Kafka (MSK) クラスターまたは Customer managed Apache Kafka クラスターから選択できます。Amazon Managed streaming for Apache Kafka の詳細については、Amazon Managed Streaming for Apache Kafka (MSK) を参照してください。
注記 Amazon Managed Streaming for Apache Kafka は TLS および SASL/SCRAM-SHA-512 認証方法のみをサポートします。
-
Kafka ブートストラップサーバーの URL を入力します。各サーバーをカンマで区切ることで、複数のサーバーを入力できます。URL の末尾に
:<port number>
を足してポート番号を入力します。例:
b-1.vpc-test-2.034a88o.kafka-us-east-1.amazonaws.com:9094
認証方法の選択

AWS Glue は、認証用の Simple Authentication and Security Layer (SASL) フレームワークをサポートしています。SASL フレームワークは、さまざまな認証メカニズムをサポートしており、AWS Glue は、SCRAM プロトコル (ユーザーネームとパスワード) と GSSAPI (Kerberos プロトコル) の両方を提供します。
ドロップダウンメニューから認証方法を選択するときには、次のクライアント認証方法を選択できます。
-
None - 認証なし。これは、テスト目的で接続する場合に便利です。
-
SASL/SCRAM-SHA-512 - これを選択すると、この認証方法のための認証情報が指定されます。2 つのオプションがあります。
-
AWS Secrets Manager を使用 (推奨) - このオプションを選択すると、認証情報が AWS Secrets Manager に保存され、必要になった際に AWS Glue からその情報へアクセスすることを許可できます。SSL または SASL 認証の認証情報を格納するシークレットを指定します。
-
ユーザー名とパスワードを直接提供します。
-
-
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 クライアントキーのパスワードを入力できます。

暗号化設定の構成
-
Kafka 接続に SSL 接続が必要な場合は、[Require SSL connection] (SSL 接続が必要) チェックボックスを選択します。SSL 経由で接続できない場合、接続は失敗することに留意してください。暗号化用の SSL は、任意の認証方法 (SASL/SCRAM-SHA-512、SASL/GSSAPI、SSL クライアント認証) で使用することができるオプションです。
認証方式が [SSL client authentication] (SSL クライアント認証) に設定されている場合、このオプションは自動的に選択され、変更を防ぐために無効化されます。
-
(オプション)。認証機関 (CA) からプライベート証明書の場所を選択します。証明書の場所は S3 が存在する場所の中である必要があることに留意してください。[Browse] (参照) を選択して、接続された S3 バケットからファイルを選択します。パスは
s3://bucket/prefix/filename.pem
の形式で指定する必要があります。ファイル名と .pem 拡張子で終わる必要があります。 -
認証機関 (CA) からの証明書の検証はスキップできます。[Skip validation of certificate from certificate authority (CA)] (認証機関 (CA) からの証明書の検証をスキップする) チェックボックスを選択してください。このチェックボックスにチェックは入っていない場合、AWS Glue は、3 つのアルゴリズムの証明書を検証します。
-
SHA256withRSA
-
SHA384withRSA
-
SHA512withRSA
-

(オプション) ネットワークオプション
以下は、VPC、サブネット、およびセキュリティグループを設定するためのオプションのステップです。AWS Glue ジョブを仮想プライベートクラウド (VPC) サブネット内の Amazon EC2 インスタンスで実行する必要がある場合は、追加の VPC に固有の設定情報を提供する必要があります。
-
データストアが含まれる VPC (仮想プライベートクラウド) を選択します。
-
VPC を持つサブネットを選択します。
-
VPC サブネット内のデータストアへのアクセスを許可するセキュリティグループを 1 つ以上選択します。セキュリティグループは、サブネットに接続されている ENI に関連付けられています。すべての TCP ポートに対して、自己参照のインバウンドルールを持つセキュリティグループを少なくとも 1 つ選択する必要があります。

カスタムコネクタを使用したジョブのオーサリング
AWS Glue Studio では、データソースノードとデータターゲットノードの両方に対し、コネクタと接続を使用できます
データソースに対しコネクタを使用するジョブを作成する
新しいジョブの作成時に、データソースとデータターゲットで使用するコネクタを選択できます。
データソースまたはデータターゲットに対しコネクタを使用するジョブを作成するには
AWS Management Console にサインインして、AWS Glue Studio コンソール (https://console.aws.amazon.com/gluestudio/
) を開きます。 -
[Connectors] (コネクタ) ページの [Your connections] (使用する接続)リソースリストで、ジョブで使用する接続を選択してから、[Create job] (ジョブを作成) をクリックします。
または、AWS Glue Studio Glue Studio の [Jobs] (ジョブ) ページの [Create job] (ジョブを作成) で、[Source and target added to the graph] (グラフに追加されたソースとターゲット) を選択します。[Source] (ソース) ドロップダウンリストから、ジョブで使用するカスタムコネクタを選択します。また、[Target] (ターゲット) のためにコネクタを選択することもできます。
-
[Create] (作成) をクリックして、ビジュアルジョブエディタを開きます。
-
「コネクタを使用するノードのソースプロパティを設定する」 にある説明に従い、データソースノードを設定します。
-
「AWS Glue Studio での ETL ジョブの編集」を参考に、変換、追加のデータストア、データターゲットを追加しながら、ETL ジョブを作成します。
-
「ジョブのプロパティを変更する」のように、ジョブのプロパティを設定して、ジョブの実行環境をカスタマイズします。
-
このジョブを保存して、実行します。
コネクタを使用するノードのソースプロパティを設定する
データソース用にコネクタを使用するジョブを作成すると、ビジュアルジョブエディタには、コネクタ用に設定されたデータソースのノードを含むジョブグラフが表示されます。このノードには、データソースのプロパティを設定する必要があります。
コネクタを使用するデータソースノードのプロパティを設定するには
-
ジョブグラフでコネクタのデータソースノードを選択するか、新しいノードを追加して [Node type] (ノードタイプ) でコネクタを選択します。次に、右側のノードの詳細パネルで、[Data source properties] (データソースのプロパティ) タブを選択します (まだ選択されていない場合)。
-
[Data source properties] (データソースのプロパティ) タブで、このジョブに使用する接続を選択します。
各接続タイプに必要な追加情報を入力します。
-
(オプション) 必要な情報を指定した後は、[Output schema] (出力スキーマ) タブを選択することで、出力されたデータソース用のデータスキーマを、ノードの詳細パネルに表示できるようになります。このタブに表示されるスキーマは、ジョブグラフに追加される任意の子ノードによって使用されます。
-
(オプション) ノードおよびデータソースのプロパティを設定した後、ノードの詳細パネルの [Data preview] (データのプレビュー) タブを選択して、データソースからのデータセットをプレビューできます。ジョブ内の任意のノードに対してこのタブを初めて選択すると、データにアクセスする IAM ロールを指定するよう求められます。この機能を使用するには費用がかかり、IAM ロールを指定するとすぐに請求が開始します。
コネクタを使用するノードのターゲットプロパティの設定
データターゲットタイプにコネクタを使用する場合は、データターゲットノードのプロパティを設定する必要があります。
コネクタを使用するデータターゲットノードでプロパティを設定するには
-
ジョブグラフで、コネクタのデータターゲットノードを選択します。次に、右側のノードの詳細パネルで、[Data target properties] (データターゲットのプロパティ) タブを選択します (選択されていない場合)。
-
[Data target properties] (データターゲットのプロパティ) タブで、ターゲットへの書き込みに使用する接続を選択します。
各接続タイプに必要な追加情報を入力します。
-
必要な情報を指定した後は、[Output schema] (出力スキーマ) タブを選択することで、出力されたデータソース用のデータスキーマを、ノードの詳細パネルに表示できるようになります。
コネクタと接続を管理する
コネクタと接続を管理するには、AWS Glue Studio の [Connectors] (コネクタ) ページを使用します。
コネクタと接続の詳細を表示する
[Connectors] (コネクタ) ページの [Your connectors] (使用中のコネクタ)、および [Your connections] (使用中の接続) リソーステーブルで、コネクタと接続に関する概要情報を表示できます。詳細な情報を表示するには、以下の手順を実行します。
AWS Glue コンソールを使用して作成された接続は、AWS Glue Studio には表示されません。
コネクタまたは接続の詳細を表示するには
-
AWS Glue Studio コンソールのナビゲーションペインで、[Connectors] (コネクタ) をクリックします。
-
詳細情報を表示するコネクタまたは接続を選択します。
-
[Actions] (アクション)、[View details] (詳細を表示) の順にクリックして、選択したコネクタまたは接続の詳細ページを開きます。
-
詳細ページでは、コネクタまたは接続に対し、[Edit] (編集) または [Delete] (削除) を選択できます。
-
コネクタの場合は、[Create connection] (接続を作成する) をクリックすることで、そのコネクタを使用する新しい接続を作成できます。
-
接続の場合は、[Create job] (ジョブを作成する) をクリックすると、その接続を使用するジョブを作成できます。
-
コネクタと接続を編集する
[Connectors] (コネクタ) ページを使用して、コネクタと接続に保存されている情報を変更します。
コネクタまたは接続を変更するには
-
AWS Glue Studio コンソールのナビゲーションペインで、[Connectors] (コネクタ) をクリックします。
-
変更するコネクタまたは接続を選択します。
-
[Actions] (アクション) を選択して、[Edit] (編集) を選択します。
また、[View details] (詳細を表示する) をクリックし、コネクタまたは接続の詳細ページを開いて、[Edit] (編集) を実行することもできます。
-
[Edit connector] (コネクタを編集する) または [Edit connection] (接続を編集する) ページで、情報を更新した上で、[Save] (保存) をクリックします。
コネクタおよび接続を削除する
コネクタと接続を削除するには、[Connectors] (コネクタ) ページを使用します。コネクタを削除すると、そのコネクタのために作成された接続もすべて削除されます。
AWS Glue Studio からコネクタを削除する方法
-
AWS Glue Studio コンソールのナビゲーションペインで、[Connectors] (コネクタ) をクリックします。
-
削除するコネクタまたは接続を選択します。
-
[Actions] (アクション) を選択してから、[Delete] (削除) をクリックします。
または、[View details] (詳細を表示する) をクリックし、コネクタまたは接続の詳細ページで、[Delete] (削除) を実行することもできます。
-
「
Delete
」と入力し、コネクタまたは接続を削除することを確認した上で、[Delete] (削除) をクリックします。コネクタを削除すると、そのコネクタのために作成された接続もすべて削除されます。
ここで削除される接続を使用していたジョブも、すべて機能しなくなります。これらのジョブは、別のデータストアを使用するように編集することも、あるいは削除することもできます。ジョブを削除する方法については、「ジョブの削除」を参照してください。
コネクタを削除しても、そのコネクタの AWS Marketplace に対するサブスクリプションはキャンセルされません。削除されたコネクタのサブスクリプションを削除するには、「コネクタのサブスクリプションをキャンセルする」の手順に従います。
コネクタのサブスクリプションをキャンセルする
AWS Glue Studio から接続とコネクタをキャンセルした後、不要になったコネクタのサブスクリプションを AWS Marketplace でキャンセルできます。
コネクタのサブスクリプションをキャンセルしても、コネクタや接続はアカウントから削除されません。コネクタと、それに関連する接続を使用するジョブは、以後コネクタを使用できなくなり失敗します。
AWS Marketplace から、コネクタのサブスクリプション解除または再サブスクライブを行う際には、その前に、対象の AWS Marketplace 製品に関連付けられた既存の接続とコネクタを削除する必要があります。
AWS Marketplace でコネクタのサブスクリプションを解除するには
-
AWS Marketplace コンソール (https://console.aws.amazon.com/marketplace
) にサインインします。 -
[Manage subscriptions] (サブスクリプションを管理する) をクリックします。
-
[Manage subscriptions] (サブスクリプションの管理) ページで、キャンセルするコネクタのサブスクリプションの横にある [Manage] (管理) をクリックします。
-
[Actions] (アクション)、[Delete Application] (アプリケーションの削除) の順にクリックします。
-
実行中のインスタンスがアカウントで課金されることを受け入れるチェックボックスをオンにして、[Yes, cancel subscription] (はい、サブスクリプションをキャンセルします) をクリックします。
カスタムコネクタの開発
コードを記述すると、データストアとの間でデータの読み取りや書き込みを実行したり、AWS Glue Studio ジョブで使用するためにデータのフォーマットを行ったりできます。Spark、Athena、JDBC データストアのためのコネクタを作成できます。実装する必要がある基本的なインターフェイスの概要は、GitHub に掲載されているサンプルコードで提供しています。
コネクタコードを作成するには、ローカルの開発環境が必要です。コネクタを書き込むには、任意の IDE やコマンドラインエディタを使用することもできます。開発環境の例には以下があります。
-
ローカルの AWS Glue ETL Mavenライブラリを使用したローカル Scala 環境 (AWS Glueデベロッパーガイドの「Developing Locally with Scala」を参照)。
-
https://www.jetbrains.com/idea/
からダウンロードして使用する、IntelliJ IDE。
トピック
Spark コネクタの開発
Spark DataSource API V2 (Spark 2.4) を使用して、データ読み取りのために Spark コネクタを作成することができます。
カスタム Spark コネクタを作成するには
Spark コネクタ開発のための AWS Glue GitHub サンプルライブラリ (https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Spark/README.md
Athena コネクタの開発
Athena コネクタを作成し、AWS Glue および AWS Glue Studio でカスタムのデータソースをクエリするために使用できます。
カスタムの Athena コネクタを作成するには
Athena コネクタ開発のための AWS Glue GitHub サンプルライブラリ(https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/Athena
JDBC コネクタの開発
データストアにアクセスするために、JDBC を使用するコネクタを作成できます。
カスタムの JDBC コネクタを作成するには
-
ローカルの開発環境に、AWS Glue Spark ランタイムライブラリをインストールします。手順については、AWS Glue GitHub のサンプルライブラリ (https://github.com/aws-samples/aws-glue-samples/tree/master/GlueCustomConnectors/development/GlueSparkRuntime/README.md
) を参照してください。 -
データソースからデータを取得するための JDBC ドライバーを実装します。Java SE 8 向けの Java ドキュメント
を参照してください。 作成しているコード内に、AWS Glue Studio がコネクタの位置を特定するために使用するエントリポイントを記述します。[Class name] (クラス名) フィールドは、JDBC ドライバーへの完全なパスを指定する必要があります。
-
GlueContext
API を使用して、コネクタによりデータを読み取ります。必要に応じてユーザーは、AWS Glue Studio コンソールを使用して、データソースへの接続を設定するための他の入力オプションを追加できます。カスタム JDBC コネクタを使用しながら、JDBC データベースとの間で読み取りおよび書き込みを行うコードの例については、「Custom and AWS Marketplace connectionType values」を参照してください。
AWS Glue Studio でのカスタムコネクタ使用例
カスタムコネクタの使用例については、次のブログを参照してください。
-
Apache Hudi: Writing to Apache Hudi tables using AWS Glue Custom Connector
-
Google BigQuery: Migrating data from Google BigQuery to Amazon S3 using AWS Glue custom connectors
-
Snowflake (JDBC): Performing data transformations using Snowflake and AWS Glue
-
SingleStore: Building fast ETL using SingleStore and AWS Glue
Salesforce: Ingest Salesforce data into Amazon S3 using the CData JDBC custom connector with AWS Glue
-
MongoDB: Building AWS Glue Spark ETL jobs using Amazon DocumentDB (with MongoDB compatibility) and MongoDB
-
Amazon Relational Database Service (Amazon RDS): Building AWS Glue Spark ETL jobs by bringing your own JDBC drivers for Amazon RDS
-
MySQL (JDBC): https://github.com/aws-samples/aws-glue-samples/blob/master/GlueCustomConnectors/development/Spark/SparkConnectorMySQL.scala
AWS Marketplace 向け AWS Glue コネクターの開発
AWS パートナーであれば、作成したカスタムコネクタを AWS Marketplace にアップロードし、それを AWS Glue のお客様に販売することができます
コネクタコードの開発プロセスは、カスタムコネクタの場合と同様です。ただし、コネクタコードのアップロードと検証のプロセスには、より詳細な要素が含まれます。手順については、GitHub ウェブサイトの「 Creating Connectors for AWS Marketplace
AWS Glue Studio でのコネクタおよび接続の使用に関する制約事項
カスタムコネクタ、または AWS Marketplace で提供されているコネクタを使用する際は、以下の制限事項に注意してください。
-
カスタムコネクタ用に作成された接続では、TestConnection API は使用できません。
-
Data Catalog 接続でのパスワードの暗号化は、カスタムコネクタではサポートされていません。
-
JDBC コネクタを使用するデータソースノードでフィルター述語を指定した場合は、ジョブブックマークを使用できなくなります。