正式リリースになったAWS Glueを使ってみる ~準備編~

こんにちは、Michaelです。
今回は、正式リリースになったフルマネージドETLサービス「AWS Glue」を使ってみます。AWS Glueを使い始めるにはIAMロールの設定など事前の準備が意外と大変なため、今回は準備編として環境設定をしていきます。

AWS Glueの環境設定

AWS Glueの使用にあたっては、以下の2項目について設定をしておく必要があります。
以下の項目は、使用するリソースによって必要な設定は変わりますが、今回はS3やRDS、Redshiftのデータストアに対応できるように設定をしていきます。

1. AWS Glue用のIAM設定
2. データストアアクセスの環境設定

AWS Glue用IAMの設定

IAMの設定は、以下の3つを設定します。

・AWS Glue用のIAMロール
・Notebook serverを使用する場合のIAMロール
・IAMユーザーに対するGlueコンソールへのアクセス権限

まずは、AWS Glue用のIAMロールを作成します。
AWSコンソールからIAMを選択し、左ペインから「ロール」を選択します。
「新しいロールの作成」をクリックし、「AWSサービスロール」の一覧から、「AWS Glue Service Role」を探し、「選択」をクリックします。

「ポリシーのアタッチ」で以下のIAMポリシーを選択します。選択したら「次のステップ」をクリックします。

・AWSGlueServiceRole
・AmazonS3FullAccess


作成するロール名を設定します。今回は「AWSGlueServiceRoleDefault」を設定して、「ロールを作成」をクリックし、IAMロールを作成します。


続いて、AWS GlueでNotebook serverを使用する場合に必要になるNotebook server用のIAMロールを作成します。
AWS Glue用のIAMロールと同じ要領で、以下のポリシーをアタッチしたIAMロールを「AWSGlueServiceNotebookRoleDefault」として作成しておきます。


IAMユーザーに対してAWS Glueのアクセス権限を与える場合には、左ペインの「ユーザー」から権限を与えるユーザーを選択し、以下の4つのポリシーをアタッチしておきます。

・AWSGlueConsoleFullAccess
・CloudWatchLogsReadOnlyAccess
・AWSCloudFormationReadOnlyAccess
・AmazonAthenaFullAccess

以上で、IAMの設定は完了です。

データストアアクセスの環境設定

AWS Glueでは、S3のほかRDS、Redshiftといったデータストアと連携することができます。RDS、RedshiftについてはVPC内にリソースを配置するため、VPC外のS3と連携するには、VPCエンドポイントの設定が必要になります。
ここからは、VPC内外のデータソースとの連携ができるようにVPCの設定を行っていきます。


まずはVPCとS3を接続できるようにVPSエンドポイントを設定します。
AWSコンソールから「VPC」を開き、左ペインから「エンドポイント」を選択します。エンドポイント一覧の右上の「エンドポイントの作成」をクリックします。


「エンドポイントの作成」で以下項目を設定し、S3へアクセスするVPCエンドポイントを作成します。

項目 設定値
VPC エンドポイントを設定するVPC
サービス com.amazonaws.us-east-1.s3
ポリシー フルアクセス
サブネット 設定する対象のサブネットを選択


続いて、AWS GlueとVPC内のリソースが通信できるようにセキュリティグループを設定します。
左ペインからセキュリティグループを選択して、VPCのリソースで使用するセキュリティグループを選択します。画面下の「インバウンドのルール」のタブをクリックして、以下のように自身のグループIDを参照するルールを設定します。

タイプ プロトコル ポート範囲 ソース
全てのTCP TCP 0-65535 セキュリティグループと同じグループID

また、「アウトバウンドのルール」についてもインバウンドと同様に、以下のような自己参照ルールを追加します。

タイプ プロトコル ポート範囲 ソース
全てのTCP TCP 0-65535 セキュリティグループと同じグループID


最後に、DNSの設定を確認します。
左ペインからVPCを選択し、AWS Glueと連携するVPCを選択します。画面下の「概要」で「DNS解決」、「DNSホスト名」がともに「はい」になっていることを確認します。なっていない場合には、選択したVPCを右クリックして「DNS解決の編集」、または「DNSホスト名の編集」で設定を変更しておきます。


以上で、AWS Glueの環境設定は完了となります。
次回は実際にAWS Glueを使っていきたいと思います。
次回もお楽しみに!

この記事を書いた人

aws-recipe-user