

# インターフェイス VPC エンドポイントを使用して Amazon Athena に接続する
<a name="interface-vpc-endpoint"></a>

VPC のセキュリティ体制を改善するには、Virtual Private Cloud (VPC) の[インターフェイス VPC エンドポイント (AWS PrivateLink)](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html) と [AWS Glue VPC エンドポイント](https://docs.aws.amazon.com/glue/latest/dg/vpc-endpoint.html)を使用します。インターフェイス VPC エンドポイントは、VPC 内からどの送信先に到達できるかを制御できるようにすることで、セキュリティを強化します。各 VPC エンドポイントは、VPC サブネット内のプライベート IP アドレスを持つ 1 つ以上の [Elastic Network Interface](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) (ENI) で表されます。

インターフェイス VPC エンドポイントは VPC を Athena に直接接続します。その際、インターネットゲートウェイ、NAT デバイス、VPN 接続、または Direct Connect 接続を使用しません。VPC 内のインスタンスが Athena API と通信するためにパブリック IP アドレスは必要ありません。

VPC 経由で Athena を使用するには、VPC 内にあるインスタンスから接続するか、Amazon Virtual Private Network (VPN) または Direct Connect を使用してプライベートネットワークを VPC に接続する必要があります。Amazon VPN については、「*Amazon Virtual Private Cloud ユーザーガイド*」の「[VPN 接続](https://docs.aws.amazon.com/vpc/latest/userguide/vpn-connections.html)」を参照してください。AWS Direct Connect の詳細については、「*Direct Connect ユーザーガイド*」の「[接続を作成する](https://docs.aws.amazon.com/directconnect/latest/UserGuide/create-connection.html)」を参照してください。

Athena は、[Amazon VPC](https://docs.aws.amazon.com/general/latest/gr/rande.html#vpc_region) と [Athena](https://docs.aws.amazon.com/general/latest/gr/rande.html#athena) の両方が利用可能なすべての AWS リージョン で VPC エンドポイントをサポートしています。

インターフェイス VPC エンドポイントを作成し、AWS マネジメントコンソール か AWS Command Line Interface (AWS CLI) コマンドのいずれかを使用して、Athena に接続できます。詳細については、「[インターフェイスエンドポイントの作成](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint)」を参照してください。

インターフェイス VPC エンドポイントを作成した後、エンドポイントの[プライベート DNS](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#vpce-private-dns) ホスト名を有効にすると、デフォルトの Athena エンドポイント (https://athena.*Region*.amazonaws.com) が VPC エンドポイントに解決されます。

プライベート DNS ホスト名を有効にしない場合は、Amazon VPC が以下の形式で使用できる DNS エンドポイント名を提供します。

```
VPC_Endpoint_ID.athena.Region.vpce.amazonaws.com
```

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

Athena は、VPC 内にあるすべての [API アクション](https://docs.aws.amazon.com/athena/latest/APIReference/API_Operations.html)への呼び出しをサポートします。

## Athena の VPC エンドポイントポリシーを作成する
<a name="api-private-link-policy"></a>

Athena の Amazon VPC エンドポイントに対するポリシーを作成して、以下のような制限を指定することができます。
+ **[プリンシパル]** – アクションを実行できるプリンシパル。
+ **[アクション]** – 実行可能なアクション。
+ **[リソース]** – このアクションを実行できるリソース。
+ **[信頼できる D のみ]** — `aws:PrincipalOrgId` 条件を使用して、AWS 組織の一部である認証情報のみにアクセスを制限します。これにより、意図しないプリンシパルによるアクセスを防ぐことができます。
+ **[信頼できるリソースのみ]** — `aws:ResourceOrgId` 条件を使用して、意図しないリソースへのアクセスを防ぎます。
+ **[信頼できる ID とリソースのみ]** — VPC エンドポイント用のポリシーを組み合わせて、意図しないプリンシパルやリソースへのアクセスを防ぎます。

詳細については、「*Amazon VPC ユーザーガイド*」の「[VPC エンドポイントによるサービスへのアクセスの制御](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html)」および、AWS ホワイトペーパー「*AWS におけるデータ境界の構築*」の「[付録 2 — VPC エンドポイントポリシーの例](https://docs.aws.amazon.com/whitepapers/latest/building-a-data-perimeter-on-aws/appendix-2-vpc-endpoint-policy-examples.html)」を参照してください。

**Example – VPC エンドポイントポリシー**  
次の例では、組織リソースへの組織 ID によるリクエストを許可し、AWS サービスプリンシパルによるリクエストを許可します。    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRequestsByOrgsIdentitiesToOrgsResources",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:PrincipalOrgID": "my-org-id",
                    "aws:ResourceOrgID": "my-org-id"
                }
            }
        },
        {
            "Sid": "AllowRequestsByAWSServicePrincipals",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "Bool": {
                    "aws:PrincipalIsAWSService": "true"
                }
            }
        }
    ]
}
```

IAM ポリシーを使用するときは、常に IAM のベストプラクティスに従うようにしてください。詳細については、「*IAM ユーザーガイド*」の「[IAM でのセキュリティベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)」を参照してください。

## 共有サブネットの VPC エンドポイントについて
<a name="interface-vpc-endpoint-shared-subnets"></a>

自分と共有されているサブネットで VPC エンドポイントを作成、説明、変更、または削除することはできません。ただし、自分と共有されているサブネットでVPC エンドポイントを使用することはできます。VPC 共有の詳細については、「*Amazon VPC ユーザーガイド*」の「[VPC を他のアカウントと共有する](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-sharing.html)」を参照してください。