

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# AWS 服務 透過 存取 AWS PrivateLink
<a name="privatelink-access-aws-services"></a>

您可以使用 端點存取 AWS 服務 。預設服務端點為公有介面，因此您必須將網際網路閘道新增至 VPC，以便流量可以從 VPC 傳送到 AWS 服務。如果此組態不適用於您的網路安全需求，您可以使用 AWS PrivateLink 將 VPC 連線到 AWS 服務 ，就像在 VPC 中一樣，而無需使用網際網路閘道。

您可以使用 AWS PrivateLink VPC 端點私下存取與 整合 AWS 服務 的 。您可以建置和管理應用程式堆疊的所有層級，而無需使用網際網路閘道。

**定價**  
系統會針對每個可用區域中佈建介面 VPC 端點的每個小時向您收費。系統也會針對處理的每 GB 資料向您收費。如需詳細資訊，請參閱[AWS PrivateLink 定價](https://aws.amazon.com/privatelink/pricing/)。

**Topics**
+ [

## 概要
](#interface-endpoint-overview)
+ [

## DNS 主機名稱
](#interface-endpoint-dns-hostnames)
+ [

## DNS 解析
](#interface-endpoint-dns-resolution)
+ [

## 私有 DNS
](#interface-endpoint-private-dns)
+ [

## 子網路與可用區域
](#aws-service-subnets-zones)
+ [

## IP 地址類型
](#aws-service-ip-address-type)
+ [

## DNS 記錄 IP 類型
](#aws-services-dns-record-ip-type)
+ [整合的服務](aws-services-privatelink-support.md)
+ [已啟用跨區域 AWS 服務](aws-services-cross-region-privatelink-support.md)
+ [建立介面端點](create-interface-endpoint.md)
+ [

# 設定介面端點
](interface-endpoints.md)
+ [

# 接收介面端點事件的提醒
](manage-notifications-endpoint.md)
+ [

# 刪除介面端點
](delete-interface-endpoint.md)
+ [

# 閘道端點
](gateway-endpoints.md)

## 概要
<a name="interface-endpoint-overview"></a>

您可以透過其公 AWS 服務 有服務端點存取 ，或使用 連線到支援的 AWS 服務 AWS PrivateLink。此概觀會比較這些方法。

**透過公有服務端點存取**  
下圖顯示執行個體如何 AWS 服務 透過公有服務端點存取 。 AWS 服務 來自公有子網路中執行個體的 流量會路由至 VPC 的網際網路閘道，然後路由至 AWS 服務。從私有子網中的執行個體到 AWS 服務 的流量會路由到 NAT 閘道，然後路由至 VPC 的網際網路閘道，最後再路由至 AWS 服務。當此流量周遊網際網路閘道時，不會離開 AWS 網路。

![\[對 的流量會透過網際網路閘道 AWS 服務 離開您的 VPC，但會保留在 AWS 網路中。\]](http://docs.aws.amazon.com/zh_tw/vpc/latest/privatelink/images/access-with-igw.png)


**透過 連線 AWS PrivateLink**  
下圖顯示執行個體如何 AWS 服務 透過 存取 AWS PrivateLink。首先，您會建立界面 VPC 端點，該端點會在 VPC 中的子網路與 AWS 服務 使用網路界面的 之間建立連線。目的地為 的流量 AWS 服務 會使用 DNS 解析至端點網路介面的私有 IP 地址，然後使用 VPC 端點與 之間的 AWS 服務 連線傳送至 AWS 服務。

![\[來自子網路的流量會使用界面 VPC 端點來連線至 AWS 服務。\]](http://docs.aws.amazon.com/zh_tw/vpc/latest/privatelink/images/access-with-privatelink.png)


AWS 服務 自動接受連線請求。服務無法透過 VPC 端點向資源發起請求。

## DNS 主機名稱
<a name="interface-endpoint-dns-hostnames"></a>

大多數 AWS 服務 提供具有下列語法的公有區域端點。

```
protocol://service_code.region_code.amazonaws.com
```

例如，在 us-east-2 中，Amazon CloudWatch 的公有端點如下所示。

```
https://monitoring.us-east-2.amazonaws.com
```

透過 AWS PrivateLink，您可以使用私有端點將流量傳送至服務。當您建立界面 VPC 端點時，我們會建立區域和區域 DNS 名稱，供您用來 AWS 服務 從 VPC 與 通訊。

介面 VPC 端點的區域 DNS 名稱具有下列語法：

```
endpoint_id.service_id.region.vpce.amazonaws.com
```

區域 DNS 名稱具有下列語法：

```
endpoint_id-az_name.service_id.region.vpce.amazonaws.com
```

當您為 建立介面 VPC 端點時 AWS 服務，您可以啟用[私有 DNS](#interface-endpoint-private-dns)。使用私有 DNS，您可以繼續使用其公有端點的 DNS 名稱向服務發出請求，同時利用經由介面 VPC 端點的私有連線。如需詳細資訊，請參閱[DNS 解析](#interface-endpoint-dns-resolution)。

以下 [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) 命令會顯示介面端點的 DNS 項目。

```
aws ec2 describe-vpc-endpoints --vpc-endpoint-id vpce-099deb00b40f00e22 --query VpcEndpoints[*].DnsEntries
```

以下是已啟用私有 DNS 名稱的 Amazon CloudWatch 介面端點的範例輸出。第一項是私有區域端點 (private Regional endpoint)。接下來的三項是私有區域端點 (private zonal endpoint)。最後一項來自隱藏的私有託管區域，它將針對公有端點的請求解析為端點網路介面的私有 IP 地址。

```
[
    [
        {
            "DnsName": "vpce-099deb00b40f00e22-lj2wisx3.monitoring.us-east-2.vpce.amazonaws.com",
            "HostedZoneId": "ZC8PG0KIFKBRI"
        },
        {
            "DnsName": "vpce-099deb00b40f00e22-lj2wisx3-us-east-2c.monitoring.us-east-2.vpce.amazonaws.com",
            "HostedZoneId": "ZC8PG0KIFKBRI"
        },
        {
            "DnsName": "vpce-099deb00b40f00e22-lj2wisx3-us-east-2a.monitoring.us-east-2.vpce.amazonaws.com",
            "HostedZoneId": "ZC8PG0KIFKBRI"
        },
        {
            "DnsName": "vpce-099deb00b40f00e22-lj2wisx3-us-east-2b.monitoring.us-east-2.vpce.amazonaws.com",
            "HostedZoneId": "ZC8PG0KIFKBRI"
        },
        {
            "DnsName": "monitoring.us-east-2.amazonaws.com",
            "HostedZoneId": "Z06320943MMOWYG6MAVL9"
        }
    ]
]
```

## DNS 解析
<a name="interface-endpoint-dns-resolution"></a>

我們為您的介面 VPC 端點建立的 DNS 記錄是公開的。因此，這些 DNS 名稱可公開解析。不過，來自 VPC 外部的 DNS 請求仍會傳回端點網路介面的私有 IP 地址，因此除非您可以存取 VPC，否則這些 IP 地址無法用於存取端點服務。

## 私有 DNS
<a name="interface-endpoint-private-dns"></a>

如果您為介面 VPC 端點啟用私有 DNS，且您的 VPC 同時啟用 [DNS 主機名稱和 DNS 解析](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-updating)，我們會為您建立隱藏 AWS、受管的私有託管區域。託管區域包含服務之預設 DNS 名稱的記錄集，該服務可將其解析為 VPC 中端點網路介面的私有 IP 地址。因此，如果您現有的應用程式 AWS 服務 使用公有區域端點將請求傳送至 ，則這些請求現在會經過端點網路界面，而不需要您對這些應用程式進行任何變更。

建議您為 AWS 服務的 VPC 端點啟用私有 DNS 名稱。這可確保使用公有服務端點的請求解析為您的 VPC 端點，例如透過 AWS SDK 提出的請求。

Amazon 為您的 VPC 提供 DNS 伺服器，名為 [Route 53 Resolver](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver.html)。Route 53 Resolver 會自動解析本機 VPC 網域名稱和私有託管區域中的記錄。但是，您無法從 VPC 外部使用 Route 53 Resolver。如果想要從內部部署網路存取 VPC 端點，可以使用 Route 53 Resolver 端點和 Resolver 規則。如需詳細資訊，請參閱[AWS Transit Gateway 與 AWS PrivateLink 和 整合 Amazon Route 53 Resolver](https://aws.amazon.com/blogs/networking-and-content-delivery/integrating-aws-transit-gateway-with-aws-privatelink-and-amazon-route-53-resolver/)。

## 子網路與可用區域
<a name="aws-service-subnets-zones"></a>

您可以將 VPC 端點設定為每個可用區域一個子網路。我們會在子網路中建立 VPC 端點的端點網路介面。我們會根據 VPC 端點的 [IP 地址類型](#aws-service-ip-address-type)，從其子網路中將 IP 地址指派給每個端點網路介面。端點網路介面的 IP 地址在其 VPC 端點的存留期間不會變更。

在生產環境中，為了獲得高可用性和彈性，建議您執行以下操作：
+ 為每個 VPC 端點設定至少兩個可用區域，並部署 AWS 必須在這些可用 AWS 服務 區域中存取 的資源。
+ 設定 VPC 端點的私有 DNS 名稱。
+  AWS 服務 使用區域 DNS 名稱存取 ，也稱為公有端點。

下圖顯示在單一可用區域中具有端點網路介面之 Amazon CloudWatch 的 VPC 端點。當 VPC 中任何子網路中的任何資源使用其公有端點存取 Amazon CloudWatch 時，我們會將流量解析為端點網路介面的 IP 地址。這包括來自其他可用區域中子網路的流量。但是，如果可用區域 1 受損，可用區域 2 中的資源將無法存取 Amazon CloudWatch。

![\[為單一可用區域啟用的 Amazon CloudWatch 介面 VPC 端點。\]](http://docs.aws.amazon.com/zh_tw/vpc/latest/privatelink/images/interface-endpoint-single-az.png)


下圖顯示在兩個可用區域中具有端點網路介面之 Amazon CloudWatch 的 VPC 端點。當 VPC 中任何子網路中的任何資源使用其公有端點存取 Amazon CloudWatch 時，我們會選取運作狀態良好的端點網路介面，使用循環演算法在兩者之間交替。接著，我們會將流量解析為所選端點網路介面的 IP 地址。

![\[為多個可用區域啟用的 Amazon CloudWatch 介面 VPC 端點。\]](http://docs.aws.amazon.com/zh_tw/vpc/latest/privatelink/images/interface-endpoint-multi-az.png)


如果這更適合您的使用案例，則可以使用同一可用區域中的端點網路介面，將資源的流量傳送到 AWS 服務 。若要執行此操作，請使用私有區域端點或端點網路介面的 IP 地址。

![\[具有使用私有區域端點之流量的介面 VPC 端點。\]](http://docs.aws.amazon.com/zh_tw/vpc/latest/privatelink/images/interface-endpoint-multi-az-zonal.png)


## IP 地址類型
<a name="aws-service-ip-address-type"></a>

AWS 服務 可以透過其私有端點支援 IPv6，即使它們不支援透過其公有端點支援 IPv6。支援 IPv6 的端點可以使用 AAAA 記錄回應 DNS 查詢。

**為介面端點啟用 IPv6 的要求**
+  AWS 服務 必須透過 IPv6 提供其服務端點。如需詳細資訊，請參閱[檢視 IPv6 支援](aws-services-privatelink-support.md#vpce-ipv6-support)。
+ 介面端點的 IP 地址類型必須與介面端點的子網相容，如下所述：
  + **IPv4** - 將 IPv4 地址指派給您的端點網路介面。只有當所有選取的子網都具有 IPv4 地址範圍時，才支援此選項。
  + **IPv6** - 將 IPv6 地址指派給您的端點網路介面。只有當所有選取的子網都是 IPv6 子網時，才支援此選項。
  + **Dualstack** - 將 IPv4 和 IPv6 地址指派給您的端點網路介面。只有當所有選取的子網都具有 IPv4 和 IPv6 地址範圍時，才支援此選項。

如果介面 VPC 端點支援 IPv4，則端點網路介面具有 IPv4 地址。如果介面 VPC 端點支援 IPv6，則端點網路介面具有 IPv6 地址。無法從網際網路連線端點網路介面的 IPv6 地址。如果您使用 IPv6 地址描述端點網路介面，請注意 `denyAllIgwTraffic` 已啟用。

## DNS 記錄 IP 類型
<a name="aws-services-dns-record-ip-type"></a>

根據您的 IP 地址類型，當您呼叫 VPC 端點時， AWS 服務可以傳回 A 記錄、AAAA 記錄或 A 和 AAAA 記錄。您可以修改 DNS 記錄 IP 類型，自訂 AWS 服務傳回的記錄類型。下表顯示支援的 DNS 記錄 IP 類型和傳回的記錄類型：


| DNS 記錄 IP 類型 | 傳回的記錄類型 | 
| --- | --- | 
| IPv4 | A | 
| IPv6 | AAAA | 
| 雙堆疊 | A 和 AAAA | 

根據預設，DNS 記錄類型與 IP 地址類型相同。您可以選擇不同的 DNS 記錄 IP 類型，但必須為端點服務使用相容的 IP 地址類型。下表顯示介面端點的每個 IP 地址類型支援的 DNS 記錄 IP 類型：


| IP 地址類型 | 支援的 DNS 記錄 IP 類型 | 
| --- | --- | 
| IPv4 | IPv4 | 
| IPv6 | IPv6 | 
| 雙堆疊 | Dualstack\$1、IPv4, IPv6、服務定義 | 

\$1 代表預設 DNS 記錄 IP 類型。

服務定義的 DNS 記錄 IP 類型會根據您呼叫的服務端點傳回 DNS 記錄。如果您使用服務定義的 DNS 記錄 IP 類型，請確定您的服務可以處理來自服務端點的變數呼叫。若要查看介面端點支援的 DNS 記錄，請參閱 中 VPC 端點的 DNS 名稱 AWS 管理主控台，或使用 [DescribeVpcEndpoints](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVpcEndpoints.html)。

閘道端點的 DNS 記錄 IP 類型行為不同。如需詳細資訊，請參閱[閘道端點的 DNS 記錄 IP 類型](gateway-endpoints.md#gateway-endpoint-dns-record-ip-type)。

# AWS 服務 與 整合 AWS PrivateLink
<a name="aws-services-privatelink-support"></a>

下列 與 AWS 服務 整合 AWS PrivateLink。您可以建立 VPC 端點以便私下連接這些服務，就好像在您自己的 VPC 中執行一樣。

選擇 **AWS 服務**欄中的連結，以查看與 整合之 服務的文件 AWS PrivateLink。**服務名稱**欄包含您在建立介面 VPC 端點時指定的服務名稱，或指出服務管理端點。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/vpc/latest/privatelink/aws-services-privatelink-support.html)

## 檢視可用的 AWS 服務 名稱
<a name="vpce-view-available-services"></a>

您可以使用 [describe-vpc-endpoint-services](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoint-services.html) 命令來檢視支援 VPC 端點的服務名稱。

下列範例顯示 AWS 服務 支援指定區域中介面端點的 。`--query` 選項會將輸出限制為服務名稱。

```
aws ec2 describe-vpc-endpoint-services \
  --filters Name=service-type,Values=Interface Name=owner,Values=amazon \ 
  --region us-east-1 \
  --query ServiceNames
```

以下為範例輸出。不會顯示完整的輸出。

```
[
    "api.aws.us-east-1.cassandra-streams",
    "aws.api.us-east-1.bcm-data-exports",
    "aws.api.us-east-1.emr-service-cell01",
    "aws.api.us-east-1.freetier",
    "aws.api.us-east-1.kendra-ranking",
    "aws.api.us-east-1.qbusiness",
    . . .
     "com.amazonaws.us-east-1.xray"
]
```

## 檢視服務相關資訊
<a name="vpce-view-service-details"></a>

取得服務名稱之後，您可以使用 [describe-vpc-endpoint-services](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoint-services.html) 命令來檢視有關各項端點服務的詳細資訊。

下列範例會顯示特定區域中 Amazon CloudWatch 界面端點的相關資訊。

```
aws ec2 describe-vpc-endpoint-services \
  --service-name "com.amazonaws.us-east-1.monitoring" \
  --region us-east-1
```

以下為範例輸出。`VpcEndpointPolicySupported` 表示是否支援[端點政策](vpc-endpoints-access.md)。`SupportedIpAddressTypes` 表示支援的 IP 地址類型。

```
{
    "ServiceDetails": [
        {
            "ServiceName": "com.amazonaws.us-east-1.monitoring",
            "ServiceId": "vpce-svc-0fc975f3e7e5beba4",
            "ServiceType": [
                {
                    "ServiceType": "Interface"
                }
            ],
            "AvailabilityZones": [
                "us-east-1a",
                "us-east-1b",
                "us-east-1c",
                "us-east-1d",
                "us-east-1e",
                "us-east-1f"
            ],
            "Owner": "amazon",
            "BaseEndpointDnsNames": [
                "monitoring.us-east-1.vpce.amazonaws.com"
            ],
            "PrivateDnsName": "monitoring.us-east-1.amazonaws.com",
            "PrivateDnsNames": [
                {
                    "PrivateDnsName": "monitoring.us-east-1.amazonaws.com"
                },
                {
                    "PrivateDnsName": "monitoring.us-east-1.api.aws"
                },
                {
                    "PrivateDnsName": "monitoring-fips.us-east-1.amazonaws.com"
                },
                {
                    "PrivateDnsName": "monitoring-fips.us-east-1.api.aws"
                }            ],
            "VpcEndpointPolicySupported": true,
            "AcceptanceRequired": false,
            "ManagesVpcEndpoints": false,
            "Tags": [],
            "PrivateDnsNameVerificationState": "verified",
            "SupportedIpAddressTypes": [
                "ipv6",
                "ipv4"
            ]
        }
    ],
    "ServiceNames": [
        "com.amazonaws.us-east-1.monitoring"
    ]
}
```

## 檢視端點政策支援
<a name="vpce-endpoint-policy-support"></a>

若要確認服務是否支援[端點政策](vpc-endpoints-access.md)，呼叫[describe-vpc-endpoint-services](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoint-services.html)命令，並檢查 `VpcEndpointPolicySupported` 的值。可能的值為 `true` 和 `false`。

下列範例會檢查指定的服務是否支援指定區域中的端點政策。`--query` 選項會將輸出限制為 `VpcEndpointPolicySupported` 的值。

```
aws ec2 describe-vpc-endpoint-services \
  --service-name "com.amazonaws.us-east-1.s3" \
  --region us-east-1 \
  --query ServiceDetails[*].VpcEndpointPolicySupported \
  --output text
```

以下為範例輸出。

```
True
```

下列範例列出 AWS 服務 支援指定區域中端點政策的 。`--query` 選項會將輸出限制為服務名稱。若要使用 Windows 命令提示字元執行此命令，請移除查詢字串周圍的單引號，並將行接續字元從 \$1 變更為 ^。

```
aws ec2 describe-vpc-endpoint-services \
  --filters Name=service-type,Values=Interface Name=owner,Values=amazon \
  --region us-east-1 \
  --query 'ServiceDetails[?VpcEndpointPolicySupported==`true`].ServiceName'
```

以下為範例輸出。不會顯示完整的輸出。

```
[
    "api.aws.us-east-1.cassandra-streams",
    "aws.api.us-east-1.bcm-data-exports",
    "aws.api.us-east-1.emr-service-cell01",
    "aws.api.us-east-1.freetier",
    "aws.api.us-east-1.kendra-ranking",
    . . .
    "com.amazonaws.us-east-1.xray"
]
```

下列範例列出 AWS 服務 不支援指定區域中端點政策的 。`--query` 選項會將輸出限制為服務名稱。若要使用 Windows 命令提示字元執行此命令，請移除查詢字串周圍的單引號，並將行接續字元從 \$1 變更為 ^。

```
aws ec2 describe-vpc-endpoint-services \
  --filters Name=service-type,Values=Interface Name=owner,Values=amazon \
  --region us-east-1 \
  --query 'ServiceDetails[?VpcEndpointPolicySupported==`false`].ServiceName'
```

以下為範例輸出。不會顯示完整的輸出。

```
[
    "com.amazonaws.us-east-1.appmesh-envoy-management",
    "com.amazonaws.us-east-1.apprunner.requests",
    "com.amazonaws.us-east-1.appstream.api",
    "com.amazonaws.us-east-1.appstream.streaming",
    "com.amazonaws.us-east-1.awsconnector",
    . . .
    "com.amazonaws.us-east-1.transfer.server"
]
```

## 檢視 IPv6 支援
<a name="vpce-ipv6-support"></a>

若要檢視 AWS 服務的 IPv6 支援，請參閱[AWS 支援 IPv6 的服務](https://docs.aws.amazon.com/vpc/latest/userguide/aws-ipv6-support.html#ipv6-service-support)。您也可以使用下列 [describe-vpc-endpoint-services](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoint-services.html) 命令來檢視 AWS 服務 您可以在指定區域中透過 IPv6 存取的 。`--query` 選項會將輸出限制為服務名稱。

```
aws ec2 describe-vpc-endpoint-services \
  --filters Name=supported-ip-address-types,Values=ipv6 Name=owner,Values=amazon Name=service-type,Values=Interface \
  --region us-east-1 \
  --query ServiceNames
```

以下為範例輸出。不會顯示完整的輸出。

```
[
    "api.aws.us-east-1.cassandra-streams",
    "aws.api.us-east-1.bcm-data-exports",
    "aws.api.us-east-1.freetier",
    "aws.api.us-east-1.kendra-ranking",
    "aws.api.us-east-1.qbusiness",
    "aws.api.us-east-1.resource-explorer-2",
    "aws.api.us-east-1.resource-explorer-2-fips",
    "aws.sagemaker.us-east-1.experiments",
    "aws.sagemaker.us-east-1.partner-app",
    "com.amazonaws.iam",
    "com.amazonaws.us-east-1.access-analyzer",
    "com.amazonaws.us-east-1.account",
    . . .
    "com.amazonaws.us-east-1.xray"
]
```

# 已啟用跨區域 AWS 服務
<a name="aws-services-cross-region-privatelink-support"></a>

以下內容與跨區域 AWS 服務 整合 AWS PrivateLink。您可以建立界面端點，私下連接到另一個 AWS 區域中的這些服務，就像它們在您自己的 VPC 中執行一樣。

選擇 **AWS 服務** 欄中的連結以查看服務文件。**服務名稱**欄包含您在建立介面端點時指定的服務名稱。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/vpc/latest/privatelink/aws-services-cross-region-privatelink-support.html)

## 檢視可用的 AWS 服務 名稱
<a name="vpce-view-available-services"></a>

您可以使用 [describe-vpc-endpoint-services](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoint-services.html) 命令來檢視跨區域啟用的服務。

下列範例顯示 `us-east-1` 區域中 AWS 服務 的使用者可透過介面端點存取指定 (`us-west-2`) 服務區域的 。`--query` 選項會將輸出限制為服務名稱。

```
aws ec2 describe-vpc-endpoint-services \
  --filters Name=service-type,Values=Interface Name=owner,Values=amazon \ 
  --region us-east-1 \
  --service-region us-west-2 \
  --query ServiceNames
```

以下為範例輸出。不會顯示完整的輸出。

```
[
    "com.amazonaws.us-west-2.ecr.api",
    "com.amazonaws.us-west-2.ecr.dkr",
    "com.amazonaws.us-west-2.ecs",
    "com.amazonaws.us-west-2.ecs-fips",
    ...
    "com.amazonaws.us-west-2.s3"
]
```

**注意**  
您必須使用區域 DNS。 AWS 服務 在另一個區域中存取 時，不支援區域 DNS。如需詳細資訊，請參閱《Amazon VPC 使用者指南》中的[檢視和更新 DNS 屬性](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-updating)。

## 許可和考量
<a name="endpoint-aws-service-cross-region"></a>
+ 根據預設，IAM 實體沒有在其他 AWS 服務 區域中存取 的許可。若要授予跨區域存取所需的許可，IAM 管理員可以建立允許僅限`vpce:AllowMultiRegion`許可動作的 IAM 政策。
+ 確保您的服務控制政策 (SCP) 不會拒絕僅限`vpce:AllowMultiRegion`許可的動作。若要使用 AWS PrivateLink的跨區域連線功能，您的身分政策和 SCP 必須允許此動作。
+ 若要控制 IAM 實體在建立 VPC 端點時可指定為服務區域的區域，請使用 `ec2:VpceServiceRegion`條件金鑰。
+ 服務消費者必須先選擇加入 區域，才能將其選取為端點的服務區域。我們建議服務消費者盡可能使用區域內連線存取服務，而不是跨區域連線。區域內連線提供更低的延遲和更低的成本。
+ 您可以使用 IAM 的新`aws:SourceVpcArn`全域條件金鑰來保護您的資源可從哪些區域 AWS 帳戶 和 VPCs存取。此金鑰有助於實作資料落地和區域型存取控制。
+ 為了實現高可用性，請在至少兩個可用區域中建立啟用跨區域的界面端點。在這種情況下，供應商和消費者不需要使用相同的可用區域。
+ 透過跨區域存取， 會 AWS PrivateLink 管理服務和消費者區域中可用區域之間的容錯移轉。它不會管理跨區域的容錯移轉。
+ 下列可用區域不支援跨區域存取：`use1-az3`、`apne2-az2`、、 `usw1-az2` `apne1-az3`和 `apne2-az4`。
+ 您可以使用 AWS Fault Injection Service 來模擬區域內和跨區域啟用界面端點的區域事件和模型故障案例。若要進一步了解，請參閱 [AWS FIS 文件](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#network-actions-reference)。

## 建立介面端點到另一個區域中 AWS 服務 的
<a name="create-cross-region-vpce"></a>

若要使用主控台建立介面端點，請參閱[建立 VPC 端點](https://docs.aws.amazon.com/vpc/latest/userguide/create-interface-endpoint.html#create-interface-endpoint-aws)一節。

在 CLI 中，您可以使用 [create-vpc-endpoint](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-vpc-endpoint.html) 命令，將 VPC 端點建立到不同 AWS 服務 區域中的 。下列範例`us-west-2`會從 中的 VPC 建立 中 Amazon S3 的介面端點`us-east-1`。

```
aws ec2 create-vpc-endpoint \
  --vpc-id vpc-id \ 
  --service-name com.amazonaws.us-west-2.s3 \
  --vpc-endpoint-type Interface \
  --subnet-ids subnet-id-1 subnet-id-2 \ 
  --region us-east-1 \
  --service-region us-west-2
```

# AWS 服務 使用界面 VPC 端點存取
<a name="create-interface-endpoint"></a>

您可以建立介面 VPC 端點，以連線至由 提供支援的服務 AWS PrivateLink，包括許多 AWS 服務。如需概觀，請參閱 [AWS PrivateLink 概念](concepts.md) 和 [AWS 服務 透過 存取 AWS PrivateLink](privatelink-access-aws-services.md)。

對於您從 VPC 中指定的每個子網，我們會在子網中建立端點網路介面，並從子網地址範圍中為其指派私有 IP 地址。端點網路界面是請求者管理的網路介面；您可以在 AWS 帳戶中檢視它，但不能自己管理它。

我們會向您收取每小時用量率及資料處理費。如需詳細資訊，請參閱[界面端點定價](https://aws.amazon.com/privatelink/pricing/#Interface_Endpoint_pricing)。

**Topics**
+ [

## 先決條件
](#prerequisites-interface-endpoints)
+ [

## 建立 VPC 端點
](#create-interface-endpoint-aws)
+ [

## 共用子網路
](#interface-endpoint-shared-subnets)
+ [

## ICMP
](#interface-endpoint-icmp)

## 先決條件
<a name="prerequisites-interface-endpoints"></a>
+ 部署將在 VPC AWS 服務 中存取 的資源。
+ 若要使用私有 DNS，您必須啟用 VPC 的 DNS 主機名稱和 DNS 解析。如需更多資訊，請參閱《Amazon VPC 使用者指南》中的[檢視和更新 DNS 屬性](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-updating)。**
+ 若要啟用介面端點的 IPv6， AWS 服務 必須支援透過 IPv6 存取。如需詳細資訊，請參閱[IP 地址類型](privatelink-access-aws-services.md#aws-service-ip-address-type)。
+ 為端點網路界面建立安全群組，允許來自 VPC 資源的預期流量。例如，為了確保 AWS CLI 可以將 HTTPS 請求傳送至 AWS 服務，安全群組必須允許傳入 HTTPS 流量。
+ 如果您的資源位於具有網路 ACL 的子網路中，請確認網路 ACL 允許 VPC 中的資源與端點網路介面之間的流量。
+ 資源上有配額 AWS PrivateLink 。如需詳細資訊，請參閱[AWS PrivateLink 配額](vpc-limits-endpoints.md)。

## 建立 VPC 端點
<a name="create-interface-endpoint-aws"></a>

使用下列程序建立連線至 AWS 服務的介面 VPC 端點。

**為 建立介面端點 AWS 服務**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中選擇 **Endpoints (端點)**。

1. 選擇**建立端點**。

1. 在**類型**欄位中，選擇 **AWS 服務**。

1. （選用） 如果建立端點到另一個 AWS 服務 區域中的 ，請選取**啟用跨區域端點**核取方塊，然後從下拉式清單中選取**服務區域**。

1. 對於 **Service name** (服務名稱)，請選取服務。如需詳細資訊，請參閱[AWS 服務 與 整合 AWS PrivateLink](aws-services-privatelink-support.md)。

1. 對於 **VPC**，請選取您要從中存取 AWS 服務的 VPC。

1. 如果您在步驟 5 中選取 Amazon S3 的服務名稱，並且想要設定[私有 DNS 支援](vpc-endpoints-s3.md#private-dns-s3)，請選取**其他設定**、**啟用 DNS 名稱**。進行此選取後，系統會自動選取**僅針對傳入端點啟用私有 DNS**。您只能為 Amazon S3 的介面端點設定具有傳入 Resolver 端點的私有 DNS。如果您沒有 Amazon S3 的閘道端點，且選取**僅針對傳入端點啟用私有 DNS**，則您在嘗試執行此程序的最後一個步驟時會收到錯誤訊息。

   如果您在步驟 5 中選取 Amazon S3 以外的任何服務的服務名稱，則系統會預設選取**其他設定**、**啟用 DNS 名稱**。建議您保留預設。這可確保使用公有服務端點的請求解析為您的 VPC 端點，例如透過 AWS SDK 提出的請求。

1. 對於**子網路**，選取要在其中建立端點網路介面的子網路。您可以為每個可用區域選擇一個子網路。您無法在相同的可用區域內選取多個子網路。如需詳細資訊，請參閱[子網路與可用區域](privatelink-access-aws-services.md#aws-service-subnets-zones)。

   依預設，我們會從子網路 IP 地址範圍選取 IP 地址，並將它們指派給端點網路介面。若要自行選擇 IP 地址，請選取**指定 IP 地址**。請注意，子網路 CIDR 區塊中的前四個 IP 地址和最後一個 IP 地址會保留供內部使用，因此您無法為端點網路介面指定這些地址。

1. 針對 **IP address type** (IP 地址類型)，從下列選項中選擇：
   + **IPv4** – 將 IPv4 地址指派給端點網路介面。只有當所有選取的子網路都具有 IPv4 地址範圍，且此服務接受 IPv4 請求時，才支援此選項。
   + **IPv6** – 將 IPv6 地址指派給端點網路介面。只有當所有選取的子網路都是僅限 IPv6 子網路，且此服務接受 IPv6 請求時，才支援此選項。
   + **Dualstack** – 將 IPv4 和 IPv6 地址指派給端點網路介面。只有當所有選取的子網路都具有 IPv4 和 IPv6 地址範圍，且此服務接受 IPv4 和 IPv6 請求時，才支援此選項。

1. 對於 **Security group** (安全群組)，選取要與端點網路介面建立關聯的安全群組。根據預設，會與 VPC 的預設安全群組相關聯。

1. 針對**政策**，若要允許所有主體對界面端點上所有資源的所有操作，請選取**完整存取**。若要限制存取，請選取**自訂**並輸入政策。只有服務支援 VPC 端點政策時，此選項才可用。如需詳細資訊，請參閱[端點政策](vpc-endpoints-access.md)。

1. (選用) 若要新增標籤，請選擇 **Add new tag (新增標籤)**，然後輸入標籤的鍵和值。

1. 選擇**建立端點**。

**使用命令列建立介面端點**
+ [create-vpc-endpoint](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-vpc-endpoint.html) (AWS CLI)
+ [New-EC2VpcEndpoint](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2VpcEndpoint.html) (Tools for Windows PowerShell)

## 共用子網路
<a name="interface-endpoint-shared-subnets"></a>

無法在與您共用的子網路中建立、描述、修改或刪除 VPC 端點。不過，可以在與您共用的子網路中使用 VPC 端點。

## ICMP
<a name="interface-endpoint-icmp"></a>

介面端點不會回應**ping**請求。您可以改為使用 **nc**或 **nmap**命令。

# 設定介面端點
<a name="interface-endpoints"></a>

建立介面 VPC 端點之後，您可更新其組態。

**Topics**
+ [

## 新增或移除子網路
](#add-remove-subnets)
+ [

## 關聯安全群組
](#associate-security-groups)
+ [

## 編輯 VPC 端點政策
](#edit-vpc-endpoint-policy)
+ [

## 啟用私有 DNS 名稱
](#enable-private-dns-names)
+ [

## 管理標籤
](#add-remove-interface-endpoint-tags)

## 新增或移除子網路
<a name="add-remove-subnets"></a>

對於介面端點，一個可用區域只能選擇一個子網。如果您新增子網，我們會在子網中建立端點網路介面，並從子網的 IP 地址範圍中為其指派私有 IP 地址。如果您移除子網，我們會刪除其端點網路介面。如需詳細資訊，請參閱[子網路與可用區域](privatelink-access-aws-services.md#aws-service-subnets-zones)。

**若要使用主控台變更子網**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中選擇 **Endpoints (端點)**。

1. 選取介面端點。

1. 選擇 **Actions** (動作)、**Manage Subnets** (管理子網)。

1. 您可視需要選取或取消選取可用區域。針對每個可用區域，選取一個子網路。依預設，我們會從子網路 IP 地址範圍選取 IP 地址，並將它們指派給端點網路介面。若要選擇端點網路介面的 IP 地址，請選取**指定 IP 地址**並從子網路地址範圍輸入 IPv4 地址。如果端點服務支援 IPv6，您也可以從子網路地址範圍輸入 IPv6 地址。

   如果您為已具有此 VPC 端點端點網路介面的子網路指定 IP 地址，我們會以新的端點網路介面取代端點網路介面。這個程序會暫時中斷子網路和 VPC 端點的連線。

1. 選擇 **Modify subnets** (修改子網)。

**若要使用命令列變更子網**
+ [modify-vpc-endpoint](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-vpc-endpoint.html) (AWS CLI)
+ [Edit-EC2VpcEndpoint](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2VpcEndpoint.html) (Tools for Windows PowerShell)

## 關聯安全群組
<a name="associate-security-groups"></a>

您可以變更與介面端點的網路介面相關聯的安全群組。安全群組規則可控制允許從 VPC 中之資源流向端點網路介面的流量。

**若要使用主控台變更安全群組**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中選擇 **Endpoints (端點)**。

1. 選取介面端點。

1. 選擇 **Actions (動作)**、**Manage security groups (管理安全群組)**。

1. 視需要選取或取消選取安全群組。

1. 選擇 **Modify security groups** (修改安全群組)。

**若要使用命令列變更安全群組**
+ [modify-vpc-endpoint](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-vpc-endpoint.html) (AWS CLI)
+ [Edit-EC2VpcEndpoint](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2VpcEndpoint.html) (Tools for Windows PowerShell)

## 編輯 VPC 端點政策
<a name="edit-vpc-endpoint-policy"></a>

如果 AWS 服務 支援端點政策，您可以編輯端點的端點政策。更新端點政策後，變更生效需費時幾分鐘。如需詳細資訊，請參閱[端點政策](vpc-endpoints-access.md)。

**若要使用主控台變更端點政策**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中選擇 **Endpoints (端點)**。

1. 選取介面端點。

1. 選擇 **Actions** (動作)、**Manage policy** (管理政策)。

1. 選擇 **Full Access** (完整存取) 以允許完整存取服務，或選擇 **Custom** (自訂) 並連接自訂政策。

1. 選擇**儲存**。

**若要使用命令列變更端點政策**
+ [modify-vpc-endpoint](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-vpc-endpoint.html) (AWS CLI)
+ [Edit-EC2VpcEndpoint](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2VpcEndpoint.html) (Tools for Windows PowerShell)

## 啟用私有 DNS 名稱
<a name="enable-private-dns-names"></a>

建議您為 AWS 服務的 VPC 端點啟用私有 DNS 名稱。這可確保使用公有服務端點的請求解析為您的 VPC 端點，例如透過 AWS SDK 提出的請求。

若要使用私有 DNS，您必須啟用 VPC 的 [DNS 主機名稱和 DNS 解析](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-updating)。啟用私有 DNS 名稱之後，私有 IP 地址可能需要幾分鐘才能使用。當您啟用私有 DNS 名稱時，我們建立的 DNS 記錄為私有。因此，私有 DNS 名稱不可公開解析。

**若要使用主控台變更私有 DNS 名稱選項**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中選擇 **Endpoints (端點)**。

1. 選取介面端點。

1. 選擇 **Actions** (動作)、**Modify private DNS name** (修改私有 DNS 名稱)。

1. 根據需要選取或清除 **Enable for this endpoint** (為此端點啟用)。

1. 如果服務是 Amazon S3，在上一步中選取**為此端點啟用**，同時選取**僅針對傳入端點啟用私有 DNS**。如果您偏好使用標準私有 DNS 功能，請清除**僅針對傳入端點啟用私有 DNS**。如果除了 Amazon S3 的介面端點之外，沒有 Amazon S3 的閘道端點，並且選取**僅針對傳入端點啟用私有 DNS**，則您在下一個步驟中儲存變更時會收到錯誤訊息。如需詳細資訊，請參閱[私有 DNS](vpc-endpoints-s3.md#private-dns-s3)。

1. 選擇 **Save changes** (儲存變更)。

**若要使用命令列變更私有 DNS 名稱選項**
+ [modify-vpc-endpoint](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-vpc-endpoint.html) (AWS CLI)
+ [Edit-EC2VpcEndpoint](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2VpcEndpoint.html) (Tools for Windows PowerShell)

## 管理標籤
<a name="add-remove-interface-endpoint-tags"></a>

您可標記您的介面端點，以幫助您根據組織需求進行識別或分類。

**若要使用主控台管理標籤**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中選擇 **Endpoints (端點)**。

1. 選取介面端點。

1. 選擇 **Actions (動作)**、**Manage tags (管理標籤)**。

1. 對於要新增的每個標籤，請選擇 **Add new tag** (新增標籤)，然後輸入標籤金鑰和標籤值。

1. 若要移除標籤，請選擇標籤金鑰和值右側的 **Remove** (移除)。

1. 選擇**儲存**。

**若要使用命令列來管理標籤**
+ [create-tags](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-tags.html) 和 [delete-tags](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-tags.html) (AWS CLI)
+ [New-EC2Tag](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Tag.html) 和 [Remove-EC2Tag](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2Tag.html) (Tools for Windows PowerShell)

# 接收介面端點事件的提醒
<a name="manage-notifications-endpoint"></a>

您可以建立通知，接收與介面端點相關的特定事件的提醒。例如，當接受或拒絕連線請求時，您會收到電子郵件。

**Topics**
+ [

## 建立 SNS 通知
](#create-sns-notification)
+ [

## 新增存取政策
](#add-access-policy)
+ [

## 新增金鑰政策
](#add-key-policy)

## 建立 SNS 通知
<a name="create-sns-notification"></a>

使用以下步驟即可為通知建立 Amazon SNS 主題，並訂閱該主題。

**若要使用主控台建立介面端點的通知**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中選擇 **Endpoints (端點)**。

1. 選取介面端點。

1. 在 **Notifications** (通知) 索引標籤中，選擇 **Create notification** (建立通知)。

1. 針對**通知 ARN**，為您建立的 SNS 主題選擇 [Amazon Resource Name](https://docs.aws.amazon.com/glossary/latest/reference/glos-chap.html#ARN) (ARN)。

1. 若要訂閱事件，請從 **Events** (事件) 中選取。
   + **Connect** (連接) - 服務消費者建立的介面端點。這會將連線請求傳送至服務提供者。
   + **Accept** (接受) - 服務提供者接受連線請求。
   + **Reject** (拒絕) - 服務提供者拒絕連線請求。
   + **Delete** (刪除) - 服務消費者刪除介面端點。

1. 選擇 **Create notification (建立通知)**。

**若要使用命令列建立介面端點的通知**
+ [create-vpc-endpoint-connection-notification](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-vpc-endpoint-connection-notification.html) (AWS CLI)
+ [New-EC2VpcEndpointConnectionNotification](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2VpcEndpointConnectionNotification.html) (Tools for Windows PowerShell)

## 新增存取政策
<a name="add-access-policy"></a>

將存取政策新增至 Amazon SNS 主題， AWS PrivateLink 允許 代表您發佈通知，如下所示。如需詳細資訊，請參閱[如何編輯我的 Amazon SNS 主題的存取政策？](https://repost.aws/knowledge-center/sns-edit-topic-access-policy) 使用 `aws:SourceArn` 和 `aws:SourceAccount` 全域條件金鑰，以防止發生[混淆代理人](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)的情況。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "vpce.amazonaws.com"
            },
            "Action": "SNS:Publish",
            "Resource": "arn:aws:sns:us-east-1:111111111111:topic-name",
            "Condition": {
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:ec2:us-east-1:111111111111:vpc-endpoint/endpoint-id"
                },
                "StringEquals": {
                    "aws:SourceAccount": "111111111111"
                }
            }
        }
    ]
}
```

------

## 新增金鑰政策
<a name="add-key-policy"></a>

如果您使用的是加密的 SNS 主題，KMS 金鑰的資源政策必須信任 AWS PrivateLink 才能呼叫 AWS KMS API 操作。金鑰政策範例如下。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "vpce.amazonaws.com"
            },
            "Action": [
                "kms:GenerateDataKey*",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:111111111111:key/key-id",
            "Condition": {
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:ec2:us-east-1:111111111111:vpc-endpoint/endpoint-id"
                },
                "StringEquals": {
                    "aws:SourceAccount": "111111111111"
                }
            }
        }
    ]
}
```

------

# 刪除介面端點
<a name="delete-interface-endpoint"></a>

VPC 端點結束使用後即可刪除。刪除介面端點也會刪除其端點網路介面。

**若要使用主控台刪除介面端點**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中選擇 **Endpoints (端點)**。

1. 選取介面端點。

1. 選擇 **Actions** (動作)、**Delete VPC endpoints** (刪除 VPC 端點)。

1. 出現確認提示時，請按一下 **delete**。

1. 選擇 **刪除**。

**若要使用命令列刪除介面端點**
+ [delete-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-vpc-endpoints.html) (AWS CLI)
+ [Remove-EC2VpcEndpoint](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2VpcEndpoint.html) (Tools for Windows PowerShell)

# 閘道端點
<a name="gateway-endpoints"></a>

閘道 VPC 端點不需要您的 VPC 有網際網路閘道或 NAT 裝置，就可以提供與 Amazon S3 和 DynamoDB 的可靠連線。閘道端點不使用 AWS PrivateLink，與其他類型的 VPC 端點不同。

Amazon S3 和 DynamoDB 支援閘道端點和介面端點。如需選項的比較，請參閱下列內容：
+ [Amazon S3 的 VPC 端點類型](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html#types-of-vpc-endpoints-for-s3)
+ [Amazon DynamoDB 的 VPC 端點類型](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/privatelink-interface-endpoints.html#types-of-vpc-endpoints-for-ddb)

**定價**  
使用閘道端點不需額外付費。

**Topics**
+ [

## 概要
](#gateway-endpoint-overview)
+ [

## 路由
](#gateway-endpoint-routing)
+ [

## 安全
](#gateway-endpoint-security)
+ [

## IP 地址類型
](#gateway-endpoint-ip-address-type)
+ [

## DNS 記錄 IP 類型
](#gateway-endpoint-dns-record-ip-type)
+ [適用於 Amazon S3 的端點](vpc-endpoints-s3.md)
+ [DynamoDB 的端點](vpc-endpoints-ddb.md)

## 概要
<a name="gateway-endpoint-overview"></a>

您可以透過公有服務端點或透過閘道端點來存取 Amazon S3 和 DynamoDB。此概觀會比較這些方法。

**透過網際網路閘道進行存取**  
下圖顯示執行個體如何透過其公有服務端點存取 Amazon S3 和 DynamoDB。從公有子網中的執行個體到 Amazon S3 或 DynamoDB 的流量會路由到 VPC 的網際網路閘道，然後路由至該服務。私有子網中的執行個體無法將流量傳送到 Amazon S3 或 DynamoDB，因為根據定義，私有子網沒有通往網際網路閘道的路由。若要讓私有子網路中的執行個體將流量傳送到 Amazon S3 或 DynamoDB，您需要將 NAT 裝置新增到公有子網路，並將私有子網路中的流量路由到 NAT 裝置。當 Amazon S3 或 DynamoDB 的流量周遊網際網路閘道時，不會離開 AWS 網路。

![\[流量會透過網際網路閘道離開您的 VPC，但會保留在 AWS 網路中。\]](http://docs.aws.amazon.com/zh_tw/vpc/latest/privatelink/images/without-gateway-endpoints.png)


**透過閘道端點進行存取**  
下圖顯示執行個體如何透過閘道端點來存取 Amazon S3 和 DynamoDB。從您的 VPC 到 Amazon S3 或 DynamoDB 的流量會路由至閘道端點。每個子網路由表都必須有一個路由，該路由會使用服務的字首清單，將目的地為該服務的流量傳送到閘道端點。如需詳細資訊，請參閱《*Amazon VPC 使用者指南*》中的 [AWS受管字首清單](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-aws-managed-prefix-lists.html)。

![\[來自 VPC 的流量會路由至閘道端點。\]](http://docs.aws.amazon.com/zh_tw/vpc/latest/privatelink/images/gateway-endpoints.png)


## 路由
<a name="gateway-endpoint-routing"></a>

建立閘道端點時，您可以為啟用的子網選擇 VPC 路由表。下列路由會自動新增至您選取的每個路由表。目的地是 所擁有服務的字首清單， AWS 而目標是閘道端點。


| 目標 | Target | 
| --- | --- | 
| prefix\$1list\$1id | gateway\$1endpoint\$1id | 

**考量事項**
+ 您可以查看我們新增到路由表中的端點路由，但無法修改或刪除它們。若要將端點路由新增至路由表，請將其與閘道端點建立關聯。當您取消路由表與閘道端點的關聯或刪除閘道端點時，我們會刪除端點路由。
+ 與閘道端點相關聯的路由表關聯的子網中的所有執行個體會自動使用閘道端點來存取服務。與這些路由表沒有關聯的子網中的執行個體會使用公有服務端點，而不是閘道端點。
+ 路由表可以同時具有到 Amazon S3 的端點路由和到 DynamoDB 的端點路由。您可以在多個路由表中擁有相同服務 (Amazon S3 或 DynamoDB) 的端點路由。您不能在單一路由表中擁有相同服務 (Amazon S3 或 DynamoDB) 的多個端點路由。
+ 我們會使用最具體且符合流量的路由，從而判斷如何路由流量 (最長的字首相符)。對於具有端點路由的路由表，這意味著以下內容：
  + 如果有一個路由將所有網際網路流量 (0.0.0.0/0) 傳送至網際網路閘道，則該端點路由對於目的地為當前區域中的服務 (Amazon S3 或 DynamoDB) 的流量具有優先權。目的地為不同 的流量 AWS 服務 會使用網際網路閘道。
  + 目的地為不同區域中服務 (Amazon S3 或 DynamoDB) 的流量會前往網際網路閘道，因為字首清單是特定於某個區域。
  + 如果有一個路由會為相同區域中的服務 (Amazon S3 或 DynamoDB) 指定確切的 IP 地址範圍，則該路由優先於端點路由。

## 安全
<a name="gateway-endpoint-security"></a>

當執行個體透過閘道端點存取 Amazon S3 或 DynamoDB 時，會使用其公有端點來存取服務。這些執行個體的安全群組必須允許進出服務的流量。以下是傳出規則範例。其會參照服務的[字首清單](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-aws-managed-prefix-lists.html) ID。


| 目標 | 通訊協定 | 連接埠範圍 | 
| --- | --- | --- | 
| prefix\$1list\$1id | TCP | 443 | 

這些執行個體之子網路的網路 ACL 也必須允許進出服務的流量。以下是傳出規則範例。您無法在網路 ACL 規則中參照字首清單，但可以從服務的字首清單中取得服務的 IP 地址範圍。


| 目標 | 通訊協定 | 連接埠範圍 | 
| --- | --- | --- | 
| service\$1cidr\$1block\$11 | TCP | 443 | 
| service\$1cidr\$1block\$12 | TCP | 443 | 
| service\$1cidr\$1block\$13 | TCP | 443 | 

## IP 地址類型
<a name="gateway-endpoint-ip-address-type"></a>

IP 地址類型會決定哪個字首清單與您的路由表相關聯。

**為閘道端點啟用 IPv6 的要求**
+ 閘道端點的 IP 地址類型必須與閘道端點的子網路相容，如下所述：
  + **IPv4** – 將服務的 IPv4 字首清單新增至您的路由表。
  + **IPv6** – 將服務的 IPv6 字首清單新增至您的路由表。只有當所有選取的子網都是 IPv6 子網時，才支援此選項。
  + **Dualstack** – 將服務的 IPv4 字首清單新增至您的路由表，並將服務的 IPv6 字首清單新增至您的路由表。只有當所有選取的子網都具有 IPv4 和 IPv6 地址範圍時，才支援此選項。

## DNS 記錄 IP 類型
<a name="gateway-endpoint-dns-record-ip-type"></a>

根據預設，閘道端點會根據您呼叫的服務端點傳回 DNS 記錄。如果您使用 IPv4 服務端點建立閘道端點，例如 `s3.us-east-2.amazonaws.com`，Amazon S3 會將 A 記錄傳回用戶端，而且路由表中的所有子網路都會使用 IPv4。

相反地，如果您使用雙堆疊服務端點建立閘道端點，例如 `s3.dualstack.us-east-2.amazonaws.com`，Amazon S3 會將 A 和 AAAA 記錄傳回給用戶端，而路由表中的子網路會使用 IPv4 和 IPv6。

**注意**  
對於目錄儲存貯體或 S3 Express One Zone，資料平面的閘道端點將`s3express-use2-az1.dualstack.us-east-2.amazonaws.com`分別為 `s3express-use2-az1.us-east-2.amazonaws.com`和 。

DNS 記錄 IP 類型會影響流量路由到您的用戶端的方式。如果您使用 IPv4 服務端點建立閘道端點，然後呼叫雙堆疊服務端點，則使用 AAAA 記錄的流量不會透過閘道端點路由。如果存在流量，則會透過 IPv6-compatible路徑捨棄或路由流量。如果您使用服務定義的 DNS 記錄 IP 類型，請確定您的服務可以處理來自多個服務端點的變數呼叫。

您可以自訂 DNS 記錄 IP 類型，以選擇針對特定端點傳回哪些記錄，而不是[服務定義的](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DnsOptionsSpecification.html)預設 DNS 記錄 IP 類型設定。下表顯示支援的 DNS 記錄 IP 類型和傳回的記錄類型：


| DNS 記錄 IP 類型 | 傳回的記錄類型 | 
| --- | --- | 
| IPv4 | A | 
| IPv6 | AAAA | 
| 雙堆疊 | A 和 AAAA | 
| 服務定義 | 記錄取決於服務端點 | 

若要選擇 DNS 記錄 IP 類型，您必須使用端點服務的相容 IP 地址類型。下表顯示閘道端點的每個 IP 地址類型支援的 DNS 記錄 IP 類型：


| IP 地址類型 | 支援的 DNS 記錄 IP 類型 | 
| --- | --- | 
| IPv4 | IPv4，服務定義\$1 | 
| IPv6 | IPv6，服務定義\$1 | 
| 雙堆疊 | IPv4, IPv6、雙堆疊、服務定義\$1 | 

\$1 代表預設 DNS 記錄 IP 類型。

**注意**  
 若要使用閘道端點服務定義以外的 DNS 記錄 IP 類型，您必須在 VPC 設定中允許 `enableDnsSupport`和 `enableDnsHostnames` 屬性。

您無法變更 DynamoDB 閘道端點的 DNS 記錄 IP 類型。DynamoDB 僅支援服務定義的 DNS 記錄 IP 類型。

界面端點的 DNS 記錄 IP 類型行為不同。如需詳細資訊，請參閱[介面端點的 DNS 記錄 IP 類型](privatelink-access-aws-services.md#aws-services-dns-record-ip-type)。

# Amazon S3 閘道端點
<a name="vpc-endpoints-s3"></a>

您可以使用閘道 VPC 端點從 VPC 中存取 Amazon S3。建立閘道端點後，您可以將其新增為路由表中的目標，用於從 VPC 到 Amazon S3 的流量。

使用閘道端點不需額外付費。

Amazon S3 支援閘道端點和界面端點。您可以使用閘道端點從您的 VPC 存取 Amazon S3，而無需為 VPC 使用網際網路閘道或 NAT 裝置，並無需支付額外費用。不過，閘道端點不允許從內部部署網路、其他 AWS 區域中的對等 VPCs 或透過傳輸閘道進行存取。這些情況下，您必須利用介面端點 (需額外付費)。如需詳細資訊，請參閱《Amazon S3 使用者指南》**中的[適用於 Amazon S3 的 VPC 端點類型](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html#types-of-vpc-endpoints-for-s3)。

**Topics**
+ [

## 考量事項
](#gateway-endpoint-considerations-s3)
+ [

## 私有 DNS
](#private-dns-s3)
+ [

## 建立閘道端點
](#create-gateway-endpoint-s3)
+ [

## 使用儲存貯體政策控制存取
](#bucket-policies-s3)
+ [

## 關聯路由表
](#associate-route-tables-s3)
+ [

## 編輯 VPC 端點政策
](#edit-vpc-endpoint-policy-s3)
+ [

## 刪除閘道端點
](#delete-gateway-endpoint-s3)

## 考量事項
<a name="gateway-endpoint-considerations-s3"></a>
+ 閘道端點只能在您建立該端點的區域中使用。請務必在與 S3 儲存貯體相同的區域中建立閘道端點。
+ 如果您使用的是 Amazon DNS 伺服器，則必須同時啟用 VPC 的 [DNS 主機名稱和 DNS 解析](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-updating)。如果您使用自己的 DNS 伺服器，請確保對 Amazon S3 提出的請求可正確解析為 AWS所維護的 IP 地址。
+ 對於透過閘道端點存取 Amazon S3 的執行個體，安全群組的規則必須允許進出 Amazon S3 的流量。您可以在安全群組規則中參照 Amazon S3 的[字首清單](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-aws-managed-prefix-lists.html) ID。
+ 對於透過閘道端點存取 Amazon S3 的執行個體，子網路的網路 ACL 必須允許進出 Amazon S3 的流量。您無法在網路 ACL 規則中參照字首清單，但可以從 Amazon S3 的[字首清單](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-aws-managed-prefix-lists.html)中取得 Amazon S3 的 IP 地址範圍。
+ 檢查您是否使用 AWS 服務 需要存取 S3 儲存貯體的 。例如，服務可能需要存取含有日誌檔案的儲存貯體，或者可能會要求您將驅動程式或代理程式下載到 EC2 執行個體。若是如此，請確定您的端點政策允許 AWS 服務 或 資源使用 `s3:GetObject`動作存取這些儲存貯體。
+ 您不能針對周遊 VPC 端點的 Amazon S3 請求，在身分政策或儲存貯體政策中使用 `aws:SourceIp` 條件。請改用 `aws:VpcSourceIp` 條件。或者，您也可以使用路由表，控制哪些 EC2 執行個體可透過 VPC 端點存取 Amazon S3。
+ Amazon S3 收到的受影響子網路中執行個體的來源 IPv4 或 IPv6 地址會從公有地址變更為 VPC 中的私有地址。端點會切換網路路由，以及中斷連線開啟的 TCP 連線。先前使用公有地址的連線不會繼續。建議您在建立或修改端點時不要執行重要任務，或者建議您進行測試，確保軟體在斷線之後可以自動重新連線至 Amazon S3。
+ 端點連線不能延伸出 VPC。VPN 連線、VPC 對等互連、傳輸閘道或 VPC 中 Direct Connect 連線另一端的資源無法使用閘道端點與 Amazon S3 通訊。
+ 您的帳戶對於每個區域的預設配額為 20 個閘道端點，此配額可進行調整。每個 VPC 也有 255 個閘道端點的限制。

## 私有 DNS
<a name="private-dns-s3"></a>

為 Amazon S3 建立閘道端點和介面端點後，可以設定私有 DNS 以最佳化成本。

**Route 53 Resolver**  
Amazon 會為您的 VPC 提供 DNS 伺服器，名為 [Route 53 Resolver](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver.html)。Route 53 Resolver 會自動解析本機 VPC 網域名稱和私有託管區域中的記錄。但是，您無法從 VPC 外部使用 Route 53 Resolver。Route 53 會提供 Resolver 端點和 Resolver 規則，讓您可以從 VPC 外部使用 Route 53 Resolver。*傳入 Resolver 端點*會將 DNS 查詢從內部部署網路轉送至 Route 53 Resolver。*傳出 Resolver 端點*會將 DNS 查詢從 Route 53 Resolver 轉送至內部部署網路。

當您將 Amazon S3 的介面端點設定為僅針對傳入 Resolver 端點使用私有 DNS 後，我們會建立傳入 Resolver 端點。傳入 Resolver 端點會將從內部部署向 Amazon S3 發出的 DNS 查詢解析為介面端點的私有 IP 地址。我們也會將 Route 53 Resolver 的 ALIAS 記錄新增至 Amazon S3 的公有託管區域，以便來自 VPC 的 DNS 查詢解析為 Amazon S3 公有 IP 地址，並將流量路由到閘道端點。

**私有 DNS**  
如果您為 Amazon S3 的介面端點設定私有 DNS，但並未僅針對傳入 Resolver 端點設定私有 DNS，則來自內部部署網路和 VPC 的請求都會使用介面端點存取 Amazon S3。因此，來自 VPC 的流量都會使用介面端點，您需要為此付費；如果流量使用閘道端點，則您無需額外付費。

![\[使用兩種端點類型的 Amazon S3 請求路由。\]](http://docs.aws.amazon.com/zh_tw/vpc/latest/privatelink/images/s3-private-dns-default.png)


**僅適用於傳入 Resolver 端點的私有 DNS**  
如果您僅針對傳入 Resolver 端點設定私有 DNS，則來自內部部署網路的請求會使用介面端點存取 Amazon S3，而來自 VPC 的請求會使用閘道端點存取 Amazon S3。因此，您可以最佳化成本，因為只有在無法使用閘道端點的流量使用介面端點時，您才需要付費。

若要設定此項目，閘道端點的 DNS 記錄 IP 類型必須符合介面端點，否則 `service-defined`. AWS PrivateLink doesn 不支援任何其他組合。如需詳細資訊，請參閱[DNS 記錄 IP 類型](gateway-endpoints.md#gateway-endpoint-dns-record-ip-type)。

![\[使用私有 DNS 和傳入解析程式端點的 Amazon S3 請求路由。\]](http://docs.aws.amazon.com/zh_tw/vpc/latest/privatelink/images/s3-private-dns-inbound-endpoint.png)


**設定私有 DNS**  
您可以在建立 Amazon S3 的介面端點之時或之後為其設定私有 DNS。如需詳細資訊，請參閱 [建立 VPC 端點](create-interface-endpoint.md#create-interface-endpoint-aws) (建立期間設定) 或 [啟用私有 DNS 名稱](interface-endpoints.md#enable-private-dns-names) (建立後設定)。

## 建立閘道端點
<a name="create-gateway-endpoint-s3"></a>

使用下列程序建立連線至 Amazon S3 的閘道端點。

**使用主控台建立閘道端點**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中選擇 **Endpoints (端點)**。

1. 選擇**建立端點**。

1. 對於 **Service category** (服務類別)，選擇 **AWS 服務**。

1. 針對 **服務**，新增篩選條件**類型 = Gateway**。

   如果您的 Amazon S3 資料存放在一般用途儲存貯體中，請選取 **com.amazonaws.***region***.s3**。

   如果您的 Amazon S3 資料存放在目錄儲存貯體中，請選取 **com.amazonaws**.*region***.s3express**。

1. 針對 **VPC**，選取要在其中建立端點的 VPC。

1. 針對 **IP address type** (IP 地址類型)，從下列選項中選擇：
   + **IPv4** – 將 IPv4 地址指派給端點網路介面。只有當所有選取的子網路都具有 IPv4 地址範圍，且此服務接受 IPv4 請求時，才支援此選項。
   + **IPv6** – 將 IPv6 地址指派給端點網路介面。只有當所有選取的子網路都是僅限 IPv6 子網路，且此服務接受 IPv6 請求時，才支援此選項。
   + **Dualstack** – 將 IPv4 和 IPv6 地址指派給端點網路介面。只有當所有選取的子網路都具有 IPv4 和 IPv6 地址範圍，且此服務接受 IPv4 和 IPv6 請求時，才支援此選項。

1. 針對 **Route tables** (路由表)，選取要供端點使用的路由表。我們會自動新增路由，將以服務為目標的流量指向端點網路介面。

1. 對於 **Policy** (政策)，選取 **Full access** (完整存取)，以允許 VPC 端點上所有資源的所有主體進行所有操作。否則，選取 **Custom** (自訂)，連接 VPC 端點政策，該政策控制主體必須在 VPC 端點上對資源執行操作的權限。

1. (選用) 若要新增標籤，請選擇 **Add new tag (新增標籤)**，然後輸入標籤的鍵和值。

1. 選擇**建立端點**。

**若要使用命令列建立閘道端點**
+ [create-vpc-endpoint](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-vpc-endpoint.html) (AWS CLI)
+ [New-EC2VpcEndpoint](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2VpcEndpoint.html) (Tools for Windows PowerShell)

## 使用儲存貯體政策控制存取
<a name="bucket-policies-s3"></a>

您可以使用儲存貯體政策來控制特定端點、VPCs存取 AWS 帳戶。這些範例假定還有政策聲明允許您的使用案例所需的存取權限。

**Example 範例：限制特定端點的存取**  
您可以使用 [aws:sourceVpce](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcevpce) 條件金鑰，建立儲存貯體政策來限制對特定端點的存取。除非使用指定的閘道端點，否則以下政策會拒絕使用指定動作存取指定的儲存貯體。請注意，此政策會封鎖透過 AWS 管理主控台使用指定動作來存取指定的儲存貯體。    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "Allow-access-to-specific-VPCE",
      "Effect": "Deny",
      "Principal": "*",
      "Action": ["s3:PutObject", "s3:GetObject", "s3:DeleteObject"],
      "Resource": ["arn:aws:s3:::bucket_name",
                   "arn:aws:s3:::bucket_name/*"],
      "Condition": {
        "StringNotEquals": {
          "aws:sourceVpce": "vpce-1a2b3c4d"
        }
      }
    }
  ]
}
```

**Example 範例：限制特定 VPC 的存取**  
您可以使用 [aws:sourceVpc](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcevpc) 條件金鑰，建立儲存貯體政策來限制對特定 VPC 的存取。如果您在相同的 VPC 中設定多個端點，這將十分有用。除非請求是來自指定的 VPC，否則以下政策會拒絕使用指定動作存取指定的儲存貯體。請注意，此政策會封鎖透過 AWS 管理主控台使用指定動作來存取指定的儲存貯體。    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "Allow-access-to-specific-VPC",
      "Effect": "Deny",
      "Principal": "*",
      "Action": ["s3:PutObject", "s3:GetObject", "s3:DeleteObject"],
      "Resource": ["arn:aws:s3:::example_bucket",
                   "arn:aws:s3:::example_bucket/*"],
      "Condition": {
        "StringNotEquals": {
          "aws:sourceVpc": "vpc-111bbb22"
        }
      }
    }
  ]
}
```

**Example 範例：限制對特定 IP 地址範圍的存取**  
您可以使用 [aws:VpcSourceIp](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-vpcsourceip) 條件金鑰，建立政策來限制對特定 IP 地址範圍的存取。除非請求是來自指定的 IP 地址，否則以下政策會拒絕使用指定動作存取指定的儲存貯體。請注意，此政策會封鎖透過 AWS 管理主控台使用指定動作來存取指定的儲存貯體。    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "Allow-access-to-specific-VPC-CIDR",
      "Effect": "Deny",
      "Principal": "*",
      "Action": ["s3:PutObject", "s3:GetObject", "s3:DeleteObject"],
      "Resource": ["arn:aws:s3:::bucket_name",
                   "arn:aws:s3:::bucket_name/*"],
      "Condition": {
        "NotIpAddress": {
          "aws:VpcSourceIp": "172.31.0.0/16"
        }
      }
    }
  ]
}
```

**Example 範例：限制存取特定 中的儲存貯體 AWS 帳戶**  
您可以使用 `s3:ResourceAccount` 條件金鑰，建立政策來限制對特定 AWS 帳戶 中 S3 儲存貯體的存取。除非指定的動作為 AWS 帳戶所擁有，否則以下政策會拒絕使用指定動作存取 S3 儲存貯體。    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "Allow-access-to-bucket-in-specific-account",
      "Effect": "Deny",
      "Principal": "*",
      "Action": ["s3:GetObject", "s3:PutObject", "s3:DeleteObject"],
      "Resource": "arn:aws:s3:::*",
      "Condition": {
        "StringNotEquals": {
          "s3:ResourceAccount": "111122223333"
        }
      }
    }
  ]
}
```

## 關聯路由表
<a name="associate-route-tables-s3"></a>

您可變更與閘道端點關聯的路由表。當您關聯路由表時，我們會自動新增路由，將以服務為目標的流量指向端點網路介面。當您取消路由表的關聯時，我們會自動從路由表中移除端點路由。

**若要使用主控台來關聯路由表**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中選擇 **Endpoints (端點)**。

1. 選取閘道端點。

1. 選擇 **Actions (動作)**、**Manage route tables (管理路由表)**。

1. 視需要選取或取消選取路由表。

1. 選擇 **Modify route tables** (修改路由表)。

**若要使用命令列來關聯路由表**
+ [modify-vpc-endpoint](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-vpc-endpoint.html) (AWS CLI)
+ [Edit-EC2VpcEndpoint](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2VpcEndpoint.html) (Tools for Windows PowerShell)

## 編輯 VPC 端點政策
<a name="edit-vpc-endpoint-policy-s3"></a>

您可以編輯閘道端點的端點政策，以控制從 VPC 中透過端點對 Amazon S3 的存取。更新端點政策後，變更生效需費時幾分鐘。預設政策允許完整存取。如需詳細資訊，請參閱[端點政策](vpc-endpoints-access.md)。

**若要使用主控台變更端點政策**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中選擇 **Endpoints (端點)**。

1. 選取閘道端點。

1. 選擇 **Actions** (動作)、**Manage policy** (管理政策)。

1. 選擇 **Full Access** (完整存取) 以允許完整存取服務，或選擇 **Custom** (自訂) 並連接自訂政策。

1. 選擇**儲存**。

下列範例端點原則用於存取 Amazon S3。

**Example 範例：限制特定儲存貯體的存取**  
您可以建立政策，以限制只存取特定 S3 儲存貯體。如果您的 VPC AWS 服務 中有使用 S3 儲存貯體的其他 ，這會很有用。    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "Allow-access-to-specific-bucket",
      "Effect": "Allow",
      "Principal": "*",
      "Action": [
         "s3:ListBucket",
         "s3:GetObject",
         "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::bucket_name",
        "arn:aws:s3:::bucket_name/*"
      ]
    }
  ]
}
```

**Example 範例：限制特定 IAM 角色的存取**  
您可以建立政策，限制特定 IAM 角色的存取。您必須使用 `aws:PrincipalArn` 來授予對主體的存取權。    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "Allow-access-to-specific-IAM-role",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "*",
      "Resource": "*",
      "Condition": {
        "ArnEquals": {
          "aws:PrincipalArn": "arn:aws:iam::111122223333:role/role_name"
        }
      }
    }
  ]
}
```

**Example 範例：限制對特定帳戶中使用者的存取**  
您可以建立政策，限制特定帳戶的存取。    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "Allow-callers-from-specific-account",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "*",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalAccount": "111122223333"
        }
      }
    }
  ]
}
```

## 刪除閘道端點
<a name="delete-gateway-endpoint-s3"></a>

閘道端點結束使用後即可刪除。當您刪除閘道端點時，我們會從子網路由表中移除端點路由。

如果啟用私有 DNS，則無法刪除閘道端點。

**若要使用主控台刪除閘道端點**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中選擇 **Endpoints (端點)**。

1. 選取閘道端點。

1. 選擇 **Actions** (動作)、**Delete VPC endpoints** (刪除 VPC 端點)。

1. 出現確認提示時，請按一下 **delete**。

1. 選擇 **刪除**。

**若要使用命令列刪除閘道端點**
+ [delete-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-vpc-endpoints.html) (AWS CLI)
+ [Remove-EC2VpcEndpoint](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2VpcEndpoint.html) (Tools for Windows PowerShell)

# Amazon DynamoDB 的閘道端點
<a name="vpc-endpoints-ddb"></a>

您可以使用閘道 VPC 端點從 VPC 中存取 Amazon DynamoDB。建立閘道端點後，您可以將其新增為路由表中的目標，用於從 VPC 到 DynamoDB 的流量。

使用閘道端點不需額外付費。

DynamoDB 同時支援閘道端點和介面端點。使用閘道端點，您可以從 VPC 存取 DynamoDB，無需 VPC 的網際網路閘道或 NAT 裝置，也無需額外費用。不過，閘道端點不允許從內部部署網路、其他 AWS 區域中的對等 VPCs 或透過傳輸閘道進行存取。這些情況下，您必須利用介面端點 (需額外付費)。如需詳細資訊，請參閱《Amazon [ DynamoDB 開發人員指南》中的 DynamoDB 的 VPC 端點類型](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/privatelink-interface-endpoints.html#types-of-vpc-endpoints-for-ddb)。 * DynamoDB *

**Topics**
+ [

## 考量事項
](#gateway-endpoint-considerations-ddb)
+ [

## 建立閘道端點
](#create-gateway-endpoint-ddb)
+ [

## 使用 IAM 政策控制存取
](#iam-policies-ddb)
+ [

## 關聯路由表
](#associate-route-tables-ddb)
+ [

## 編輯 VPC 端點政策
](#edit-vpc-endpoint-policy-ddb)
+ [

## 刪除閘道端點
](#delete-gateway-endpoint-ddb)

## 考量事項
<a name="gateway-endpoint-considerations-ddb"></a>
+ 閘道端點只能在您建立該端點的區域中使用。請務必在與 DynamoDB 資料表相同的區域中建立閘道端點。
+ 如果您使用的是 Amazon DNS 伺服器，則必須同時啟用 VPC 的 [DNS 主機名稱和 DNS 解析](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-updating)。如果您使用自己的 DNS 伺服器，請確保對 DynamoDB 提出的請求可正確解析為 AWS所維護的 IP 地址。
+ 對於透過閘道端點存取 DynamoDB 的執行個體，安全群組的規則必須允許進出 DynamoDB 的流量。您可以在安全群組規則中參照 DynamoDB 的[字首清單](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-aws-managed-prefix-lists.html) ID。
+ 對於透過閘道端點存取 DynamoDB 的執行個體，子網路的網路 ACL 必須允許進出 DynamoDB 的流量。您無法在網路 ACL 規則中參照字首清單，但可以從 DynamoDB 的[字首清單](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-aws-managed-prefix-lists.html)中取得 DynamoDB 的 IP 地址範圍。
+ 如果您使用 AWS CloudTrail 記錄 DynamoDB 操作，日誌檔案會包含服務消費者 VPC 中 EC2 執行個體的私有 IP 地址，以及透過端點執行之任何請求的閘道端點 ID。
+ 閘道端點僅支援 IPv4 流量。
+ 受影響子網中執行個體的來源 IPv4 地址會從公有 IPv4 地址變更為 VPC 中的私有 IPv4 地址。端點會切換網路路由，以及中斷開啟的 TCP 連線。使用公有 IPv4 地址的先前連線不會繼續。建議您在建立或修改閘道端點時不要執行重要任務。或者，測試以確保您的軟體可在連線中斷時自動重新連線至 DynamoDB。
+ 端點連線不能延伸出 VPC。VPN 連接、VPC 對等互連、傳輸閘道或 VPC 中 Direct Connect 連線另一端的資源無法使用閘道端點與 DynamoDB 通訊。
+ 您的帳戶對於每個區域的預設配額為 20 個閘道端點，此配額可進行調整。每個 VPC 也有 255 個閘道端點的限制。

## 建立閘道端點
<a name="create-gateway-endpoint-ddb"></a>

使用下列程序建立連線至 DynamoDB 的閘道端點。

**使用主控台建立閘道端點**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中選擇 **Endpoints (端點)**。

1. 選擇**建立端點**。

1. 對於 **Service category** (服務類別)，選擇 **AWS 服務**。

1. 針對**服務**，新增篩選條件**類型 = Gateway**，然後選取 **com.amazonaws.***region***.dynamodb**。

1. 針對 **VPC**，選取要在其中建立端點的 VPC。

1. 針對 **Route tables** (路由表)，選取要供端點使用的路由表。我們會自動新增路由，將以服務為目標的流量指向端點網路介面。

1. 對於 **Policy** (政策)，選取 **Full access** (完整存取)，以允許 VPC 端點上所有資源的所有主體進行所有操作。否則，選取 **Custom** (自訂)，連接 VPC 端點政策，該政策控制主體必須在 VPC 端點上對資源執行操作的權限。

1. (選用) 若要新增標籤，請選擇 **Add new tag (新增標籤)**，然後輸入標籤的鍵和值。

1. 選擇**建立端點**。

**若要使用命令列建立閘道端點**
+ [create-vpc-endpoint](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-vpc-endpoint.html) (AWS CLI)
+ [New-EC2VpcEndpoint](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2VpcEndpoint.html) (Tools for Windows PowerShell)

## 使用 IAM 政策控制存取
<a name="iam-policies-ddb"></a>

您可以建立 IAM 政策，以控制哪些 IAM 主體可以使用特定 VPC 端點存取 DynamoDB 資料表。

**Example 範例：限制特定端點的存取**  
您可以使用 [aws:sourceVpce](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcevpce) 條件金鑰，建立政策來限制對特定 VPC 端點的存取。除非使用指定的 VPC 端點，否則下列政策會拒絕存取帳戶中的 DynamoDB 資料表。此示例假定還有一個政策聲明，允許您的使用案例所需的存取權限。    
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "Allow-access-from-specific-endpoint",
         "Effect": "Deny",
         "Principal": "*",
         "Action": "dynamodb:*",
         "Resource": "arn:aws:dynamodb:us-east-1:111111111111:table/*",
         "Condition": { 
            "StringNotEquals" : { 
               "aws:sourceVpce": "vpce-11aa22bb" 
            } 
         }
      }
   ]
}
```

**Example 範例：允許來自特定 IAM 角色的存取**  
您可以建立允許使用特定 IAM 角色進行存取的政策。下列政策會授予存取指定的 IAM 角色。    
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "Allow-access-from-specific-IAM-role",
         "Effect": "Allow",
         "Principal": "*",
         "Action": "*",
         "Resource": "*",
         "Condition": {
            "ArnEquals": {
               "aws:PrincipalArn": "arn:aws:iam::111122223333:role/role_name"
            }
         }
      }
   ]
}
```

**Example 範例：允許來自特定帳戶的存取**  
您可以建立僅允許從特定帳戶進行存取的政策。下列政策會對指定帳戶中的使用者授予存取權。    
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "Allow-access-from-account",
         "Effect": "Allow",
         "Principal": "*",
         "Action": "*",
         "Resource": "*",
         "Condition": {
            "StringEquals": {
               "aws:PrincipalAccount": "111122223333"
            }
         }
      }
   ]        
}
```

## 關聯路由表
<a name="associate-route-tables-ddb"></a>

您可變更與閘道端點關聯的路由表。當您關聯路由表時，我們會自動新增路由，將以服務為目標的流量指向端點網路介面。當您取消路由表的關聯時，我們會自動從路由表中移除端點路由。

**若要使用主控台來關聯路由表**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中選擇 **Endpoints (端點)**。

1. 選取閘道端點。

1. 選擇 **Actions (動作)**、**Manage route tables (管理路由表)**。

1. 視需要選取或取消選取路由表。

1. 選擇 **Modify route tables** (修改路由表)。

**若要使用命令列來關聯路由表**
+ [modify-vpc-endpoint](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-vpc-endpoint.html) (AWS CLI)
+ [Edit-EC2VpcEndpoint](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2VpcEndpoint.html) (Tools for Windows PowerShell)

## 編輯 VPC 端點政策
<a name="edit-vpc-endpoint-policy-ddb"></a>

您可以編輯閘道端點的端點政策，以控制從 VPC 透過端點對 DynamoDB 的存取。更新端點政策後，變更生效需費時幾分鐘。預設政策允許完整存取。如需詳細資訊，請參閱[端點政策](vpc-endpoints-access.md)。

**若要使用主控台變更端點政策**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中選擇 **Endpoints (端點)**。

1. 選取閘道端點。

1. 選擇 **Actions** (動作)、**Manage policy** (管理政策)。

1. 選擇 **Full Access** (完整存取) 以允許完整存取服務，或選擇 **Custom** (自訂) 並連接自訂政策。

1. 選擇**儲存**。

**若要使用命令列修改閘道端點**
+ [modify-vpc-endpoint](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-vpc-endpoint.html) (AWS CLI)
+ [Edit-EC2VpcEndpoint](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2VpcEndpoint.html) (Tools for Windows PowerShell)

下列範例端點原則用於存取 DynamoDB。

**Example 範例：允許唯讀存取權**  
您可以建立將存取限制為唯讀存取的政策。下列政策會授予許可，以列出和描述 DynamoDB 資料表。  

```
{
  "Statement": [
    {
      "Sid": "ReadOnlyAccess",
      "Effect": "Allow",
      "Principal": "*",
      "Action": [
        "dynamodb:DescribeTable",
        "dynamodb:ListTables"
      ],
      "Resource": "*"
    }
  ]
}
```

**Example 範例：限制特定資料表的存取**  
您可以建立原則，限制特定 DynamoDB 資料表的存取。下列政策允許存取指定的 DynamoDB 資料表。  

```
{
  "Statement": [
    {
      "Sid": "Allow-access-to-specific-table",
      "Effect": "Allow",
      "Principal": "*",
      "Action": [
        "dynamodb:Batch*",
        "dynamodb:Delete*",
        "dynamodb:DescribeTable",
        "dynamodb:GetItem",
        "dynamodb:PutItem",
        "dynamodb:Update*"
      ],
      "Resource": "arn:aws:dynamodb:region:123456789012:table/table_name"
    }
  ]
}
```

## 刪除閘道端點
<a name="delete-gateway-endpoint-ddb"></a>

閘道端點結束使用後即可刪除。當您刪除閘道端點時，我們會從子網路由表中移除端點路由。

**若要使用主控台刪除閘道端點**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中選擇 **Endpoints (端點)**。

1. 選取閘道端點。

1. 選擇 **Actions** (動作)、**Delete VPC endpoints** (刪除 VPC 端點)。

1. 出現確認提示時，請按一下 **delete**。

1. 選擇 **刪除**。

**若要使用命令列刪除閘道端點**
+ [delete-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-vpc-endpoints.html) (AWS CLI)
+ [Remove-EC2VpcEndpoint](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2VpcEndpoint.html) (Tools for Windows PowerShell)