

# インターフェイス VPC エンドポイントを使用して Amazon EC2 にアクセスします。
<a name="interface-vpc-endpoints"></a>

VPC 内のリソースと Amazon EC2 API の間にプライベート接続を作成することで、VPC のセキュリティ体制を向上させることができます。インターネットゲートウェイ、NAT デバイス、VPN 接続、または Direct Connect 接続を使用せずに、VPC 内にあるかのように Amazon EC2 API にアクセスできます。VPC 内の EC2 インスタンスは、Amazon EC2 API にアクセスするためにパブリック IP アドレスを必要としません。

詳細については「*AWS PrivateLink ガイド*」の「[Access AWS のサービス through AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-access-aws-services.html)」を参照してください。

**Topics**
+ [インターフェイス VPC エンドポイントを作成する](#create-endpoint)
+ [エンドポイントポリシーを作成する](#endpoint-policy)

## インターフェイス VPC エンドポイントを作成する
<a name="create-endpoint"></a>

以下のサービス名を使用して、Amazon EC2 のインターフェイス エンドポイントを作成します。
+ **com.amazonaws.*region*.ec2** — Amazon EC2 API アクションのエンドポイントを作成します。

詳細については、「*AWS PrivateLink ガイド*」の「[インターフェイス VPC エンドポイントを使用して AWS のサービス にアクセスする](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html)」を参照してください。

## エンドポイントポリシーを作成する
<a name="endpoint-policy"></a>

エンドポイントポリシーはインターフェイスエンドポイントにアタッチできる IAM リソースです。デフォルトのエンドポイントポリシーではインターフェイスエンドポイント経由での Amazon EC2 API へのフルアクセスが許可されています。VPC から Amazon EC2 API へのアクセス許可をコントロールするにはカスタムエンドポイントポリシーをインターフェイスエンドポイントにアタッチします。

エンドポイントポリシーは以下の情報を指定します。
+ アクションを実行できるプリンシパル。
+ 実行可能なアクション。
+ このアクションを実行できるリソース。

**重要**  
デフォルト以外のポリシーが Amazon EC2 のインターフェイス VPC エンドポイントに適用されると、`RequestLimitExceeded` からの失敗したリクエストなど、特定の失敗した API リクエストが AWS CloudTrail または Amazon CloudWatch にログ記録されない場合があります。

詳細については、「*AWS PrivateLink ガイド*」の「[Control access to services using endpoint policies](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html)」を参照してください。

次の例は暗号化されていないボリュームを作成したり、暗号化されていないボリュームでインスタンスを起動したりするアクセス許可を拒否する VPC エンドポイントポリシーを示しています。このポリシー例では他のすべての Amazon EC2 のアクションを実行するアクセス許可も付与しています。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
    {
        "Action": "ec2:*",
        "Effect": "Allow",
        "Resource": "*",
        "Principal": "*"
    },
    {
        "Action": [
            "ec2:CreateVolume"
        ],
        "Effect": "Deny",
        "Resource": "*",
        "Principal": "*",
        "Condition": {
            "Bool": {
                "ec2:Encrypted": "false"
            }
        }
    },
    {
        "Action": [
            "ec2:RunInstances"
        ],
        "Effect": "Deny",
        "Resource": "*",
        "Principal": "*",
        "Condition": {
            "Bool": {
                "ec2:Encrypted": "false"
            }
        }
    }]
}
```

------