6

ここで回答されたすべての質問を読みました。そのうちの 5 つです。そして、それらはすべて、現在利用可能な AWS 製品について古くなっています。

そのため、AWS の初心者として、自分の問題を解決する方法、または AWS ソリューションのみを使用して問題を解決するための最良の方法を知りたいと考えています。第三者を避けたい。私がググったアプローチの1つを引用することはわかっていますが、それを参照するためだけです。

とにかく、私には達成すべき目標があり、これは基本的に SQL Server 2012 Integrations Services を AWS 製品のみを使用するものに置き換えることです。現在、私は FTP サーバーにアクセスして、一連の CSV ファイルをドライブにダウンロードし、それらを読み取り、データセットに変換して、指定したテーブルにロードしています。このプロセスは、毎日 3 回実行されるようにスケジュールされています。

私の最初の提案は、ファイルを S3 にアップロードし、AWS Glue Crawlers を使用してファイルをクロールし、自分で作成した AWS Glue Data Catalog を ETL で RDS に入力することでした。これまでのところ、FTP を接続して S3 にアップロードする Lambda 関数を実現できました。また、AWS Athena を使用してデータを取得し、すべてが正常に機能しているかどうかを確認することもできました。

しかし今、私は ETL を作成してテーブルを RDS にコピー/作成し、データを書き込むのに苦労しています。同じ RDS VPC、サブネット、およびセキュリティ グループの下に My Glue 接続を作成しました。また、セキュリティ グループには、どこからでも受信するすべての TCP があります (私はこれを離れません。これはテストのためだけです)。JDBC を使用しています。次の JDBC URL を記述します。

jdbc:sqlserver://my-database-name.xsdfxsdsfsfsx.us-east-1.rds.amazonaws.com:1433;databaseName=my-database-name

AWS Glue 内で「接続のテスト」を使用して作成した接続をテストでき、問題なく動作しました。しかし、ジョブ チュートリアルを使用してジョブを作成し、それを実行すると、ログ エラー内に次のように表示されます。

com.amazon.ws.emr.hadoop.fs.shaded.org.apache.http.conn.HttpHostConnectException: Connect to 167.254.77.1:8088 [/167.254.77.1] failed: Connection refused (Connection refused)

Amazon RDSオプションを使用して接続を作成しようとしましたが、インスタンスを選択した後の 2 番目の画面で次のエラーが表示されます。

Unable to find a suitable security group. Change connection type to JDBC and retry adding your connection.

IAM を確認したところ、AWS サービス内にAWSGlueServiceRoleDefaultロールがあります:ドキュメントでスクリプト化されているように、AWS 管理ポリシーのグルー信頼サービスとAWSGlueServiceRoleです。

不足しているもの、または機能させるために修正する方法を知りたいです。または、私の目標を達成するためのより良いアプローチがあるとしても。

4

1 に答える 1