AWS Glue
開発者ガイド

データストアに接続を追加する

接続は、クローラとジョブが AWS Glue で特定のタイプのデータストアにアクセスするために使用されます。AWS Glue コンソールを使用して接続を追加する方法の詳細については、「AWS Glue コンソールでの接続の操作」を参照してください。

接続が使用されるタイミング

データストアで必要とされる場合、接続はデータストアをクロールして AWS Glue データカタログ でメタデータを分類するときに使用されます。接続は、データストアをソースまたはターゲットとして使用するジョブでも使用されます。

AWS Glue データカタログ で接続を定義する

データストアの種類によっては、データにアクセスするために追加の接続情報が必要になります。この情報には、追加のユーザー名とパスワード (AWS 認証情報とは異なる)、 またはデータストアに接続するために必要なその他の情報が含まれる場合があります。

AWS Glue が JDBC データストアに接続した後、操作を実行するためにデータストアからのアクセス権限が必要になります。接続の際に提供するユーザー名は、必要なアクセス権限または特権を持っている必要があります。たとえば、クローラが JDBC データストアからメタデータを取得するには、SELECT 権限が必要です。同様に、JDBC ターゲットへの書き込みを行うジョブには、既存のテーブルにデータを INSERT、UPDATE、および DELETE する権限が必要です。

JDBC プロトコルを使用すると、AWS Glue は以下のデータストアに接続できます。

  • Amazon Redshift

  • Amazon Relational Database Service

    • Amazon Aurora

    • MariaDB

    • Microsoft SQL Server

    • MySQL

    • Oracle

    • PostgreSQL

  • パブリックにアクセス可能なデータベース

    • Amazon Aurora

    • MariaDB

    • Microsoft SQL Server

    • MySQL

    • Oracle

    • PostgreSQL

通常、Amazon S3 に接続は必要ありません。ただし、Virtual Private Cloud (VPC) 内から Amazon S3 にアクセスする場合、Amazon S3 VPC エンドポイントが必要です。詳細については、「Amazon S3 における Amazon VPC エンドポイント」を参照してください。

接続情報で、データが VPC を通してアクセスされているかどうかも検討し、それに応じてネットワークパラメータを設定する必要があります。 AWS Glue では、JDBC エンドポイントのプライベート IP が必要です。データベースへの接続は、オンプレミスデータベースへのプライベート IP アクセスを付与する際に VPN および DirectConnect を使用して行うことができます。

オンプレミスのデータベースに接続する方法の詳細については、ブログ投稿 How to access and analyze on-premises data stores using AWS Glue を参照してください。

VPC の JDBC データストアに接続する

通常、パブリックインターネットを通じてアクセスできないように、リソースは Amazon Virtual Private Cloud (Amazon VPC) 内に作成します。デフォルトでは、AWS Glue から VPC のリソースにアクセスすることはできません。AWS Glue が VPC 内のリソースにアクセスできるようにするには、VPC サブネット ID やセキュリティグループ ID など、追加の VPC 固有設定情報を指定する必要があります。AWS Glue はこの情報を、関数がプライベート VPC 内の他のリソースに安全に接続できる Elastic Network Interface のセットアップに使用します。

Elastic Network Interface を使用して VPC データにアクセスする

AWS Glue が VPC 内の JDBC データストアに接続する場合、AWS Glue は VPC データにアクセスするために、アカウントに Elastic Network Interface (プレフィックス Glue_) を作成します。AWS Glue にアタッチされている限り、このネットワークインターフェースを削除することはできません。Elastic Network Interface 作成の一部として、AWS Glue はこれに 1 つ以上のセキュリティグループを関連付けます。AWS Glue がネットワークインターフェイスを作成できるようにするには、リソースに関連付けられているセキュリティグループがソースルールを使用したインバウンドアクセスを許可する必要があります。このルールには、リソースに関連付けられたセキュリティグループが含まれています。これにより、Elastic Network Interface は同じセキュリティグループを持つデータストアにアクセスできるようになります。

AWS Glue がコンポーネントと通信できるようにするには、すべての TCP ポートに対して自己参照のインバウンドルールを持つセキュリティグループを指定します。自己参照ルールを作成することで、ソースをすべてのネットワークではなく VPC 内の同じセキュリティグループに制限することができます。VPC のデフォルトのセキュリティグループには、すでに ALL Traffic の自己参照インバウンドルールがある場合があります。

Amazon VPC コンソールでルールを作成します。AWS マネジメントコンソール を介してルールの設定を更新するには、VPC コンソール (https://console.aws.amazon.com/vpc/) に移動し、適切なセキュリティグループを選択します。ALL TCP のインバウンドルールを指定して、同じセキュリティグループ名をソースとして指定します。セキュリティグループルールの詳細については、「VPC のセキュリティグループ」を参照してください。

それぞれの Elastic Network Interface には、指定したサブネット内の IP アドレス範囲からプライベート IP アドレスが割り当てられます。ネットワークインターフェイスにパブリック IP アドレスが割り当てられることはありません。AWS Glue にはインターネットアクセスが必要です (たとえば、VPC エンドポイントのない AWS サービスにアクセスする場合など)。ネットワークアドレス変換 (NAT) インスタンスを VPC 内で設定するか、または Amazon VPC NAT ゲートウェイを使用することができます。詳細については、『Amazon VPC ユーザーガイド』の「NAT ゲートウェイ」を参照してください。ネットワークインターフェースにはパブリック IP アドレスが必要なため、VPC にアタッチされたインターネットゲートウェイをサブネットルートテーブルのルートとして直接使用することはできません。

VPC ネットワーク属性の enableDnsHostnames および enableDnsSupport を true に設定する必要があります。詳細については、「Using DNS with Your VPC」を参照してください。

重要

インターネットアクセスのないパブリックサブネットまたはプライベートサブネットにデータストアを配置しないでください。代わりに、NAT インスタンスまたは Amazon VPC NAT ゲートウェイを介して、インターネットアクセスのあるプライベートサブネットにのみ添付してください。

Elastic Network Interface プロパティ

Elastic Network Interface を作成するには、次のプロパティを指定する必要があります。

VPC

データストアを含む VPC 名。

サブネット

データストアを含む VPC 内のサブネット。

セキュリティグループ

データストアに関連付けられているセキュリティグループ。AWS Glue は、VPC サブネットにアタッチされている Elastic Network Interface にこれらのセキュリティグループを関連付けます。AWS Glue コンポーネントの通信を可能にし、他のネットワークからのアクセスを禁止するには、少なくとも 1 つの選択されたセキュリティグループにおいて、すべての TCP ポートの自己参照のインバウンドルールを指定する必要があります。

Amazon Redshift で VPC を管理する方法については、「Amazon Virtual Private Cloud (VPC) でクラスターを管理する」を参照してください。

Amazon RDS で VPC を管理する方法については、「VPC 内の Amazon RDS DB インスタンスの使用」を参照してください。