

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

# 透過 VPC 路由網域輸出流量
<a name="vpc-egress"></a>

了解如何透過您自己的 VPC 路由來自 Amazon OpenSearch Service VPC 網域的輸出流量，而非公有網際網路。

**注意**  
此選項只會影響來自網域的輸出流量。在連接埠 80 和 443 上，傳入網域的運作方式仍然相同。

## 概觀
<a name="vpc-egress-overview"></a>

根據預設，從 VPC 網域輸出到自訂端點會透過公有網際網路離開。

當您透過 VPC 啟用輸出時，來自網域的輸出流量會進入您的 VPC，並受限於您的路由表、安全群組和網路 ACLs。當您需要從網域傳出以透過 VPC 控制，或從網域到達 VPC 端點等私有端點時，請使用此選項。

## 運作方式
<a name="vpc-egress-architecture"></a>

當您在 VPC 網域上啟用輸出時，OpenSearch Service 會在您為網域提供的每個子網路中放置額外的*彈性網路界面* (ENI)。來自網域的輸出流量會透過這些輸出 ENIs 離開。

輸出 ENIs 是由請求者管理。OpenSearch Service 會為您建立、設定和刪除它們，而且您無法從您的帳戶修改它們。

### VPC 中的元件
<a name="vpc-egress-components"></a>

啟用輸出時，VPC 中會涉及兩種資源類型：
+ **網域 ENIs。**由 OpenSearch Service 為傳入網域流量建立和管理。這些存在於任何 VPC 網域上，無論是否啟用輸出。
+ **輸出 ENIs。**由 OpenSearch Service 透過其服務連結角色建立，並由 OpenSearch Service 網路平面管理。這些會將來自網域的輸出流量帶入您的 VPC。

在多可用區域網域中，每個可用區域佈建輸出 ENIs，完全符合您為網域選取的子網路。

### 輸出的 DNS 解析
<a name="vpc-egress-dns"></a>

啟用 VPC 的輸出時，網域會透過預設 VPC 解析程式 (VPC CIDR 上的「\+2」地址） 解析主機名稱。啟動時不支援自訂 DNS 解析程式。

由於網域使用 VPC 解析程式，因此可以解析：
+ Amazon Route 53 私有託管區域中與 VPC 相關聯的記錄。
+ VPC 中 VPC 端點的私有 DNS 名稱。

**重要**  
如果您的 VPC DNS 無法連線或設定錯誤，網域的輸出整合將會失敗。請參閱 [疑難排解](#vpc-egress-troubleshoot)。

## 先決條件
<a name="vpc-egress-prereqs"></a>

在透過 VPC 啟用輸出之前，請確定您的 VPC 符合下列要求：
+ 同時在 VPC 上啟用 DNS 解析和 DNS 主機名稱。
+ 預設 VPC 解析程式 (VPC CIDR 上的「\+2」地址） 可從您計劃用於網域的子網路存取。

**子網路 IP 容量。**保留網域 ENIs 的一般 IP 地址數量 （請參閱 [在 VPC 子網路中保留 IP 地址](vpc.md#reserving-ip-vpc-endpoints))，以及輸出 ENIs 每個子網路的其他 IP 地址。

**服務連結角色。**現有的 Amazon OpenSearch Service 服務連結角色會取得建立和管理輸出 ENIs 所需的許可。如果您已使用 VPC 網域，則不需要重新建立角色。如需詳細資訊，請參閱 [使用 Amazon OpenSearch Service 的服務連結角色](slr.md)。

**區域可用性。**透過 VPC 的輸出可在 Amazon OpenSearch Service 端點和配額頁面上列出的區域中使用。

## 在網域上啟用輸出
<a name="vpc-egress-enable"></a>

您可以在建立網域或更新現有 VPC 網域時，在 VPC 網域上啟用輸出。您無法在公有端點網域上啟用輸出。啟用或停用此選項會觸發藍/綠部署。

### 主控台
<a name="vpc-egress-enable-console"></a>

1. 開啟 Amazon OpenSearch Service 主控台。

1. 開始建立新網域，或選取現有的 VPC 網域，然後選擇**編輯**。

1. 在**網路**下，選擇 **VPC 存取**，然後像現在一樣選取您的 VPC、子網路和安全群組。

1. 在 **VPC 輸出**下，選取**啟用輸出**。

1. 完成其餘步驟，然後提交變更。

### AWS CLI
<a name="vpc-egress-enable-cli"></a>

若要建立已啟用輸出的網域，請在 `EgressEnabled`中包含 `--vpc-options`：

```
aws opensearch create-domain \
  --domain-name example-domain \
  --engine-version OpenSearch_2.15 \
  --cluster-config InstanceType=r6g.large.search,InstanceCount=3,ZoneAwarenessEnabled=true \
  --vpc-options '{
      "SubnetIds": ["subnet-EXAMPLEAZ1", "subnet-EXAMPLEAZ2", "subnet-EXAMPLEAZ3"],
      "SecurityGroupIds": ["sg-EXAMPLE"],
      "EgressEnabled": true
  }'
```

若要在現有的 VPC 網域上切換輸出，請使用 `update-domain-config`：

```
aws opensearch update-domain-config \
  --domain-name example-domain \
  --vpc-options '{
      "SubnetIds": ["subnet-EXAMPLEAZ1", "subnet-EXAMPLEAZ2", "subnet-EXAMPLEAZ3"],
      "SecurityGroupIds": ["sg-EXAMPLE"],
      "EgressEnabled": true
  }'
```

### API
<a name="vpc-egress-enable-api"></a>

若要透過 VPC 啟用輸出，請在 `CreateDomain`或 `true``VPCOptions`上`EgressEnabled`將 設為 `UpdateDomainConfig`。值會在 `DescribeDomain`和 `VPCOptions`的 中傳回`DescribeDomainConfig`。

```
{
  "SubnetIds": ["subnet-EXAMPLEAZ1", "subnet-EXAMPLEAZ2", "subnet-EXAMPLEAZ3"],
  "SecurityGroupIds": ["sg-EXAMPLE"],
  "EgressEnabled": true
}
```

如需完整的結構描述，請參閱《*Amazon OpenSearch Service API 參考*》中的 [VPCOptions](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/API_VPCOptions.html)。

## 更新或停用
<a name="vpc-egress-update"></a>

您可以在建立網域時或之後隨時開啟輸出，也可以在已啟用它的網域上將其關閉。您也可以在輸出保持啟用時新增或移除可用區域。變更 會`EgressEnabled`觸發藍/綠部署，與其他 VPC 組態變更相同。如需詳細資訊，請參閱[在 Amazon OpenSearch Service 中進行組態變更](managedomains-configuration-changes.md)。

當您停用輸出時，OpenSearch Service 會從 VPC 中移除輸出 ENIs 和相關的服務受管資源。刪除網域會自動清除所有輸出資源。

## 驗證和監控
<a name="vpc-egress-monitor"></a>

啟用輸出後，請在 Amazon EC2 主控台中檢視輸出 ENIs，以確認輸出 ENI 存在於您選取的子網路中。其描述可識別 OpenSearch Service 網域。若要觀察離開網域的輸出流量，請在輸出 ENIs 上啟用 VPC 流程日誌。在 OpenSearch Service 主控台中檢查網域運作狀態，並依賴來自輸出整合 （提醒目的地、機器學習連接器、快照儲存庫） 的現有成功和失敗訊號，以取得整合層級狀態。

## 疑難排解
<a name="vpc-egress-troubleshoot"></a>

**在您啟用輸出後，輸出整合會停止運作。**確認您的 VPC 路由表允許從輸出 ENIs到目的地的流量，而且 VPC 解析程式可以連線並解析目的地主機名稱。

**主機名稱解析失敗。**確認已在 VPC 上啟用 DNS 解析和 DNS 主機名稱。如果您使用 Route 53 私有託管區域或 Route 53 Resolver 傳出端點，請確認相關聯的規則涵蓋目的地。

**子網路中的 IP 地址不足。**展開子網路或使用網域的專用子網路。請參閱 [在 VPC 子網路中保留 IP 地址](vpc.md#reserving-ip-vpc-endpoints)。

**服務連結角色缺少許可。**重新建立服務連結角色或連接更新的政策。請參閱 [使用 Amazon OpenSearch Service 的服務連結角色](slr.md)。

**您無法在公有端點網域上啟用輸出。**透過 VPC 的輸出僅適用於 VPC 網域。首先轉換網域。請參閱 [從公有存取遷移到 VPC 存取](vpc.md#migrating-public-to-vpc)。

**警告**  
輸出 ENIs 由服務管理。請勿手動分離或刪除它們。若要移除它們，請停用網域上的輸出選項或刪除網域。

## 限制和考量事項
<a name="vpc-egress-limits"></a>

透過 VPC 的輸出可在 Amazon OpenSearch Service 端點和配額頁面上列出的區域中使用。已啟用 VPC 的 Amazon OpenSearch Service 網域支援此功能。

## 用量和帳單
<a name="vpc-egress-billing"></a>

若要透過 VPC 監控與輸出相關聯的資料傳輸，請檢閱[AWS 帳單](https://console.aws.amazon.com/billing/home)儀表板中的用量類型 `DataTransfer-Regional-Bytes`、操作 `VPCConnectionUsage`和產品代碼 `AmazonES`。如需目前費率，請參閱 [Amazon OpenSearch Service 定價](https://aws.amazon.com/opensearch-service/pricing/)。