2
1

More than 1 year has passed since last update.

2023/08 Glueについて〜2章〜(1からConnectorの作成をしたい)

Last updated at Posted at 2023-08-04

Glue Connectorとは

どの役割のConnectorになるかで意味は違ってくるので、今回の要件であるS3からデータを読み取りし、RDSへimportする場合についての意味で説明します。
簡単に言えば、crawlerやjob実行をする上での、dataのimport先のVPCやそのサブネット、セキュリティグループの情報を持って適用してくれるツールのようなものです。
例えば社内システムの場合、セキュリティをしっかり組んでいると思うので、Connectorの設定をしておかないと、接続時に弾かれるエラーが表示されてしまいます。
その接続を担保してくれるものだと認識してください。
Connector自体は作成しなくても、crawlerやJobを実行できるという話もあるのですが、僕は作成した方がいいと思います。
実際Connectorなしで試したのですが、うまくいきませんでした。(原因の追求は深く行なっていませんが)
先の話ですが、Job作成時にコンソール上でもスクリプト上でもVPCまでは設定することができるのですが、サブネットやセキュリティグループまでの設定を行うことができないので、やはり作っておくことをお勧めします。

実際に作成してみよう

スクリーンショット 2023-08-04 13.31.20.png
・まずはGlueのコンソール画面から、Connections→Create Connectionと進みましょう

スクリーンショット 2023-08-04 13.33.52.png
Nameに名前入力をし、Connection typeを選択しましょう。
今回はRDSに対して、crawlerでスキャンを行いたいので、JDBC or Amazon RDSを選択しましょう
今回はAmazon RDSを選択します。
〜一言〜
・JDBC = Java Database Connectivity
いろいろなリレーショナルデータベースに接続するために使われ、MySQL,PostgreSQL,Oraacle,SQL Server等に対応をしています。これを選択すると接続設定でデータベースのホスト名、ポート、データベース名等を指定して、接続を行います。
・Amazon RDS
これを指定するとARNを指定して、接続を行います。

どちらを選択しても接続できるので、好きな方を選択して適切な情報を入力してください。

スクリーンショット 2023-08-04 13.45.08.png
ARNを設定した後に、Database nameを指定します。
一つ困るのが、Credential typeのところです。
AWSを普段から使っている方々からすると、Secrets Managerを使いたいところですが、ここではUsername and passwordの方を選択してください。
ここでSMを選択すると、crawlerは適切に行われるのですが、job実行時にエラーが表示されてしまいます。

あとは右下にあるCreate Connectionを押下すればConnectorの作成ができます。

crawlerでスキャンを行なった時のエラーについて

次の項目でも記述しますが、セキュリティグループで特定のportのみの接続許可を行なっていると、crawler作成→実行時に下記のエラーができることがあります。(今回直面しました)

At least one security group must open all ingress ports.To limit traffic, 
the source security group in your inbound rule can be restricted 
to the same security group 
(Service: AWSGlueJobExecutor; Status Code: 400; Error Code: InvalidInputException; 
Request ID: 76433951-299c-400d-92e4-67ba1347526e; Proxy: null)

少なくとも1つのセキュリティグループはすべてのイングレスポートを開放しなければならない。」とのことです。
AWSの知見の深い方に意見をお借りして、今回はGlueConnector用のセキュリティグループを作成するという方向で解決をしました。

次回 crawler作成・実行について

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1