

# AWS Glue (AWS PrivateLink) のインターフェイス VPC エンドポイントの設定 (AWS PrivateLink)
<a name="vpc-interface-endpoints"></a>

VPC と AWS Glue とのプライベート接続を確立するには、インターフェイス VPC エンドポイントを作成します。インターフェイスエンドポイントは、インターネットゲートウェイ、NAT デバイス、VPN 接続、AWS Direct Connect 接続のいずれも必要とせずに AWS Glue API にプライベートにアクセスできるテクノロジーである [AWS PrivateLink](https://aws.amazon.com/privatelink) を利用しています。VPC のインスタンスは、パブリック IP アドレスがなくても AWS Glue API と通信できます。VPC と AWS Glue 間のトラフィックは、Amazon ネットワークを離れません。

各インターフェースエンドポイントは、サブネット内の 1 つ以上の [Elastic Network Interface](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) によって表されます。

詳細については、「*Amazon VPC ユーザーガイド*」の「[インターフェイス VPC エンドポイント (AWS PrivateLink)](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html)」を参照してください。

## AWS Glue VPC エンドポイントに関する考慮事項
<a name="vpc-endpoint-considerations"></a>

AWS Glue のインターフェイスVPC エンドポイントを設定する前に、*Amazon VPC ユーザーガイド*の[インターフェイスエンドポイントのプロパティと制限](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#vpce-interface-limitations)を確認してください。

AWS Glue は、VPC からのすべての API アクションの呼び出しをサポートしています。

## AWS Glue 用のインターフェイス VPC エンドポイントの作成
<a name="vpc-endpoint-create"></a>

AWS Glue サービス用の VPC エンドポイントは、Amazon VPC コンソールまたは AWS Command Line Interface (AWS CLI) を使用して作成できます。詳細については、「*Amazon VPC ユーザーガイド*」の「[インターフェイスエンドポイントの作成](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint)」を参照してください。

AWS Glue 用の VPC エンドポイントは、以下のサービス名を使用して作成します。
+ com.amazonaws.{{region}}glue

エンドポイントのプライベート DNS を有効にすると、リージョンのデフォルト DNS 名 (AWS Glue など) を使用して、`glue.us-east-1.amazonaws.com` への API リクエストを実行できます。

詳細については、「Amazon VPC ユーザーガイド**」の「[インターフェイスエンドポイントを介したサービスへのアクセス](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#access-service-though-endpoint)」を参照してください。

## AWS Glue 用の VPC エンドポイントポリシーの作成
<a name="vpc-endpoint-policy"></a>

VPC エンドポイントには、AWS Glue へのアクセスを制御するエンドポイントポリシーをアタッチできます。このポリシーでは、以下の情報を指定します。
+ アクションを実行できるプリンシパル。
+ 実行可能なアクション。
+ アクションを実行できるリソース。

詳細については、「*Amazon VPC ユーザーガイド*」の「[VPC エンドポイントでサービスへのアクセスを制御する](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html)」を参照してください。

**例: AWS Glue の VPC エンドポイントポリシージョブの作成と更新を許可する**  
以下は、AWS Glue 用のエンドポイントポリシーの例です。エンドポイントにアタッチされると、このポリシーは、すべてのリソースですべてのプリンシパルに、リストされている AWS Glue アクションへのアクセス権を付与します。

```
{
  "Statement": [
    {
      "Sid": "RestrictPassRole",
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "arn:aws:iam::123456789012:role/GlueServiceRole*",
      "Condition": {
        "StringEquals": {
          "iam:PassedToService": "glue.amazonaws.com"
        }
      }
    }
  ]
}
```

**例: VPC エンドポイントポリシーでデータカタログアクセスを読み取り専用で許可する場合**  
以下は、AWS Glue 用のエンドポイントポリシーの例です。エンドポイントにアタッチされると、このポリシーは、すべてのリソースですべてのプリンシパルに、リストされている AWS Glue アクションへのアクセス権を付与します。

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:GetDatabase",
        "glue:GetDatabases",
        "glue:GetTable",
        "glue:GetTables",
        "glue:GetTableVersion",
        "glue:GetTableVersions",
        "glue:GetPartition",
        "glue:GetPartitions",
        "glue:BatchGetPartition",
        "glue:SearchTables"
      ],
      "Resource": "*"
    }
  ]
}
```