

# VPC の JDBC データストアに接続する
<a name="connection-JDBC-VPC"></a>

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

 VPC エンドポイントを使用する場合は、そのエンドポイントをルートテーブルに追加します。詳細については、「[AWS Glue 用のインターフェイス VPC エンドポイントの作成](https://docs.aws.amazon.com/glue/latest/dg/vpc-interface-endpoints.html#vpc-endpoint-create)」と「[前提条件](connection-S3-VPC.md#connection-S3-VPC-prerequisites)」を参照してください。

 データカタログで暗号化を使用する場合は、KMS インターフェイスエンドポイントを作成してルートテーブルに追加します。詳細については、「[AWS KMS 用の VPC エンドポイントの作成](https://docs.aws.amazon.com/kms/latest/developerguide/kms-vpc-endpoint.html#vpce-create-endpoint)」を参照してください。

## Elastic Network Interface を使用して VPC データにアクセスする
<a name="connection-JDBC-VPC-ENI"></a>

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/](https://console.aws.amazon.com/vpc/)) に移動し、適切なセキュリティグループを選択します。`ALL TCP` のインバウンドルールを指定して、同じセキュリティグループ名をソースとして指定します。セキュリティグループルールの詳細については、「[VPC のセキュリティグループ](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)」を参照してください。

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

VPC ネットワーク属性の `enableDnsHostnames` および `enableDnsSupport` を true に設定する必要があります。詳細については、「[Using DNS with Your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html)」を参照してください。



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

## Elastic Network Interface プロパティ
<a name="connection-JDBC-VPC-ENI-properties"></a>

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

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

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

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

Amazon Redshift を使用した VPC の管理については、「[Amazon Virtual Private Cloud (VPC)でクラスターを管理する](https://docs.aws.amazon.com/redshift/latest/mgmt/managing-clusters-vpc.html)」を参照してください。

Amazon Relational Database Service (Amazon RDS) を使用した VPC の管理については、「[VPC 内の Amazon RDS DB インスタンスの使用](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html)」を参照してください。