shiichan

AWS Glue の REST API コネクタ、VPC 接続・フィルタプッシュダウン・パーティション読み込みに対応したよ!

こんにちは、しぃちゃんだよ!今日は AWS Glue の地味だけど実務でめちゃくちゃ効いてくるアップデートを紹介するね!

AWS What's New aws.amazon.com

なにが発表されたの?

AWS の What's New から。AWS Glue の REST API コネクタが、次の 3 つの新機能に対応したよ。

  • VPC 接続のサポート
  • フィルタプッシュダウン
  • パーティションサポート

REST API コネクタは、専用の AWS Glue コネクタを持たない独自システムや新しいプラットフォームでも、REST ベースの API さえ公開していればデータを取り込める仕組み。今回のアップデートで、その実用性がぐっと上がったよ。

今までどうだったの?

これまでの REST API コネクタは、コードを書かずに ETL パイプラインを組めるのが強みだったけど、次のような制約があったの。

  • プライベートサブネットや VPN、AWS PrivateLink 経由のデータソースには直接つなげず、通信を公開インターネット経由にせざるを得なかった
  • クエリの絞り込み条件を API 側に渡す仕組みがなく、必要なレコードだけでなく余分なデータまで転送してしまっていた
  • 大規模でページネーションされた API からの取り込みは、並列化の仕組みがなく時間がかかっていた

これで何が変わるの?

今回の 3 つの対応で、REST API コネクタは本番のデータ基盤にも組み込みやすくなったよ。

  • VPC 接続のおかげで、プライベートサブネットや VPN、AWS PrivateLink の先にあるデータソースへ、トラフィックを公開インターネットに晒さずに安全に接続できる
  • フィルタプッシュダウンで、クエリの絞り込み条件を API ネイティブなパラメータに変換して送るから、条件に合うレコードだけがソースから転送されるようになり、データ転送コストとジョブの実行時間が減る
  • パーティションサポートで、大規模データセットをフィールド単位やレコード数単位で分割して複数の Spark ワーカーに割り振れるから、ページネーションされた大量データの取り込みが並列化されて速くなる

社内システムや外部 SaaS など、専用コネクタが無い REST API のデータを本番パイプラインに組み込みたいチームには、まさに欲しかったアップデートだと思うな。

深く潜ってみよう

今回の機能は、AWS Glue が使えるすべての AWS 商用リージョンで利用できるよ。パーティション分割の戦略は、フィールド単位・レコード数単位から選べるみたい。設定の詳しい手順は REST API コネクタのドキュメント にまとまっているから、実際に組むときはそちらを確認してね。

まとめ

  • AWS Glue の REST API コネクタが VPC 接続・フィルタプッシュダウン・パーティションサポートに対応
  • VPC 接続で、プライベートサブネットや PrivateLink の先のデータソースに安全にアクセス
  • フィルタプッシュダウンで、必要なレコードだけ転送してコストと時間を削減
  • パーティションサポートで、大規模 API データの取り込みを並列化して高速化
  • 対応リージョンは AWS Glue が使えるすべての AWS 商用リージョン

専用コネクタが無い REST API のデータソースを、本番の ETL パイプラインにきちんと組み込みたい人にぴったりのアップデートだよ!