

# Virtual Private Cloud に制限されたアクセスポイントの作成
<a name="access-points-vpc"></a>

アクセスポイントを作成するときに、そのアクセスポイントをインターネットからアクセス可能にするか、特定の 仮想プライベートクラウド (VPC) からのリクエストにのみアクセスを制限するかを指定できます。インターネットからアクセス可能なアクセスポイントは、`Internet` をネットワークオリジンとすると言います。この種のアクセスポイントは、インターネット上のどこからでも利用できます。ただし、このアクセスポイントや、基となるデータソース、関連リソース (リクエストされたオブジェクトなど) に関する他のすべてのアクセス制限に従うことを条件とします。指定された VPC からのみアクセス可能なアクセスポイントは `VPC` をネットワークオリジンとします。Amazon S3 は、アクセスポイントに対するその VPC からのリクエストを除いて、他のすべてのリクエストを拒否します。

**重要**  
アクセスポイントのネットワークオリジンは、アクセスポイントの作成時にのみ指定できます。アクセスポイントの作成後は、そのネットワークオリジンを変更できません。

アクセスポイントを VPC からのアクセスにのみ制限するには、アクセスポイントを作成するリクエストに `VpcConfiguration` パラメータを含めます。`VpcConfiguration` パラメータには、アクセスポイントを使用できるようにする VPC ID を指定します。アクセスポイントを介してリクエストが行われた場合、リクエストは VPC から発信されている必要があり、そうでない場合、Amazon S3 はそれを拒否します。

アクセスポイントのネットワークオリジンを取得するには、AWS CLI、AWS SDK、または REST API を使用します。アクセスポイントに VPC 設定が指定されている場合、そのネットワークオリジンは `VPC` です。それ以外の場合、アクセスポイントのネットワークオリジンは `Internet` です。

## 例: アクセスポイントの作成と VPC ID への制限
<a name="access-points-vpc-example1"></a>

次の例では、アカウント `123456789012` のバケット `amzn-s3-demo-bucket` に対して `vpc-1a2b3c` VPC からのアクセスのみを許可する `example-vpc-ap` という名前のアクセスポイントを作成します。次に、新しいアクセスポイントのネットワークオリジンが `VPC` であることを確認します。

------
#### [ AWS CLI ]

```
aws s3control create-access-point --name example-vpc-ap --account-id 123456789012 --bucket amzn-s3-demo-bucket --vpc-configuration VpcId=vpc-1a2b3c
```

```
aws s3control get-access-point --name example-vpc-ap --account-id 123456789012

{
    "Name": "example-vpc-ap",
    "Bucket": "amzn-s3-demo-bucket",
    "NetworkOrigin": "VPC",
    "VpcConfiguration": {
        "VpcId": "vpc-1a2b3c"
    },
    "PublicAccessBlockConfiguration": {
        "BlockPublicAcls": true,
        "IgnorePublicAcls": true,
        "BlockPublicPolicy": true,
        "RestrictPublicBuckets": true
    },
    "CreationDate": "2019-11-27T00:00:00Z"
}
```

------

VPC でアクセスポイントを使用するには、VPC エンドポイントのアクセスポリシーを変更する必要があります。VPC エンドポイントは、VPC から Amazon S3 へのトラフィックフローを許可します。これらのエンドポイントには、VPC 内のリソースに対して Amazon S3 とのやり取りを許可する方法を制御するアクセスコントロールポリシーがあります。アクセスポイントを経由した VPC から Amazon S3 へのリクエストが成功するのは、VPC エンドポイントポリシーがアクセスポイントおよび基となるバケットの両方へのアクセスを許可した場合のみです。

**注記**  
VPC 内でのみリソースにアクセスできるようにするには、VPC エンドポイントエンドポイントに対して[プライベートホストゾーン](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zone-private-creating.html)を必ず作成してください。プライベートホストゾーンを使うには、[VPC 設定を変更](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-updating)して、[VPC のネットワーク属性](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support) `enableDnsHostnames` と `enableDnsSupport` を `true` に設定してください。

次のポリシーステートメントの例では、`GetObject` という名前のバケットと `awsexamplebucket1` という名前のアクセスポイントに対する `example-vpc-ap` の呼び出しを許可するように VPC エンドポイントを設定します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
    {
        "Principal": "*",
        "Action": [
            "s3:GetObject"
        ],
        "Effect": "Allow",
        "Resource": [
            "arn:aws:s3:::awsexamplebucket1/*",
            "arn:aws:s3:us-west-2:123456789012:accesspoint/example-vpc-ap/object/*"
        ]
    }]
}
```

------

**注記**  
この例の `"Resource"` 宣言では、Amazon リソースネーム (ARN) を使用してアクセスポイントを指定します。アクセスポイントの ARN の詳細については、「[ARN、アクセスポイントエイリアス、または仮想ホスト形式の URI を使用したアクセスポイントの参照](access-points-naming.md)」を参照してください。

VPC エンドポイントポリシーの詳細については、*VPC ユーザーガイド*の「[Amazon S3 のエンドポイントポリシーの使用](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html#vpc-endpoints-policies-s3)」を参照してください。

VPC エンドポイントを使用してアクセスポイントを作成するチュートリアルについては、「[Managing Amazon S3 access with VPC endpoints and access points](https://aws.amazon.com/blogs/storage/managing-amazon-s3-access-with-vpc-endpoints-and-s3-access-points/)」を参照してください。

## 例: FSx for OpenZFS ボリュームにアタッチされたアクセスポイントを作成して VPC ID に制限する
<a name="access-points-vpc-example2"></a>

Amazon FSx コンソール、AWS CLI、または API を使用して、FSx for OpenZFS ボリュームにアタッチされたアクセスポイントを作成できます。アタッチしたら、S3 オブジェクト API を使用して、指定された VPC からファイルデータにアクセスできます。

FSx for OpenZFS ボリュームにアタッチされたアクセスポイントを作成および制限する手順については、「*FSx for OpenZFS ユーザーガイド*」の「[仮想プライベートクラウド (VPC) に制限されたアクセスポイントの作成](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/create-access-points.html)」を参照してください。

## 例: FSX for ONTAP ボリュームにアタッチされたアクセスポイントを作成して VPC ID に制限する
<a name="access-points-vpc-example3"></a>

Amazon FSx コンソール、AWS CLI、または API を使用して、FSx for ONTAP ボリュームにアタッチされたアクセスポイントを作成できます。アタッチしたら、S3 オブジェクト API を使用して、指定された VPC からファイルデータにアクセスできます。

FSx for ONTAP ボリュームにアタッチされたアクセスポイントを作成および制限する手順については、「[https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/access-points-for-fsxn-vpc.html](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/access-points-for-fsxn-vpc.html)」を参照してください。