

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

# 設定 Amazon OpenSearch Ingestion 管道的 VPC 存取
<a name="pipeline-security"></a>

您可以使用介面 VPC 端點存取 Amazon OpenSearch Ingestion 管道。VPC 是您的專用虛擬網路 AWS 帳戶。它在邏輯上與 AWS 雲端中的其他虛擬網路隔離。透過 VPC 端點存取管道可啟用 OpenSearch Ingestion 與 VPC 內其他服務之間的安全通訊，而不需要網際網路閘道、NAT 裝置或 VPN 連接。所有流量都會安全地保留在 AWS 雲端中。

OpenSearch Ingestion 透過建立採用 技術的*介面端點*來建立此私有連線 AWS PrivateLink。我們在您在管道建立期間指定的每個子網路中建立端點網路介面。這些是請求者管理的網路介面，可做為目的地為 OpenSearch Ingestion 管道之流量的進入點。您也可以自行選擇建立和管理介面端點。

使用 VPC 可讓您在 VPC 邊界內透過 OpenSearch Ingestion 管道強制執行資料流程，而不是透過公有網際網路。不在 VPC 內的管道會透過公開端點和網際網路傳送和接收資料。

具有 VPC 存取的管道可以寫入公有或 VPC OpenSearch Service 網域，以及寫入公有或 VPC OpenSearch Serverless 集合。

**Topics**
+ [

## 考量事項
](#pipeline-vpc-considerations)
+ [

## 限制
](#pipeline-vpc-limitations)
+ [

## 先決條件
](#pipeline-vpc-prereqs)
+ [

## 設定管道的 VPC 存取
](#pipeline-vpc-configure)
+ [

## 自我管理 VPC 端點
](#pipeline-vpc-self-managed)
+ [

## VPC 存取適用的服務連結角色
](#pipeline-vpc-slr)

## 考量事項
<a name="pipeline-vpc-considerations"></a>

當您設定管道的 VPC 存取時，請考慮下列事項。
+ 管道不需要與其接收器位於相同的 VPC 中。您也不需要在兩個 VPCs之間建立連線。OpenSearch Ingestion 會為您處理連線。
+ 您只能為管道指定一個 VPC。
+ 與公有管道不同，VPC 管道必須與寫入的網域或集合目的地位於相同 AWS 區域 位置。您可以為管道設定 S3 來源，以便寫入跨區域。
+ 您可以選擇將管道部署到 VPC 的一個、兩個或三個子網路。子網路會分散至您的 Ingestion OpenSearch Compute Units (OCUs) 部署所在的相同可用區域。
+ 如果您只將管道部署在一個子網路中，且可用區域故障，您將無法擷取資料。為了確保高可用性，建議您使用兩個或三個子網路設定管道。
+ 指定安全群組是選用的。如果您未提供安全群組，OpenSearch Ingestion 會使用 VPC 中指定的預設安全群組。

## 限制
<a name="pipeline-vpc-limitations"></a>

具有 VPC 存取的管道有下列限制。
+ 您無法在建立管道後變更管道的網路組態。如果您在 VPC 中啟動管道，您稍後無法將其變更為公有端點，反之亦然。
+ 您可以使用介面 VPC 端點或公有端點啟動管道，但無法同時執行兩者。建立管道時，您必須選擇其中一個。
+ 使用 VPC 存取佈建管道之後，您無法將其移至不同的 VPC，也無法變更其子網路或安全群組設定。
+ 如果您的管道寫入使用 VPC 存取的網域或集合目的地，您無法在管道建立後返回並變更目的地 (VPC 或公有）。您必須使用新的接收器刪除並重新建立管道。您仍然可以從公有接收器切換到具有 VPC 存取的接收器。
+ 您無法提供 VPC [管道的跨帳戶擷取存取權](configure-client.md#configure-client-cross-account)。

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

您必須先執行下列動作，才能使用 VPC 存取佈建管道：
+ **建立 VPC**

  若要建立 VPC，您可以使用 Amazon VPC 主控台、CLI AWS 或其中一個 AWS SDKs。如需詳細資訊，請參閱 *Amazon VPC 使用者指南*中的[使用 VPC](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html)。如果您已有 VPC，則可以略過此步驟。
+ **預留 IP 地址**

  OpenSearch Ingestion 會在您在管道建立期間指定的每個子網路中放置*彈性網路界面*。每個網路界面都與 IP 地址關聯。您必須為每個子網路為網路介面預留一個 IP 地址。

## 設定管道的 VPC 存取
<a name="pipeline-vpc-configure"></a>

您可以在 OpenSearch Service 主控台或使用 啟用管道的 VPC 存取 AWS CLI。

### 主控台
<a name="pipeline-vpc-configure-console"></a>

您可以在[管道建立](creating-pipeline.md#create-pipeline)期間設定 VPC 存取。在**來源網路選項**下，選擇 **VPC 存取**並設定下列設定：


| 設定 | Description | 
| --- | --- | 
| 端點管理 |  選擇您要自行建立 VPC 端點，還是讓 OpenSearch Ingestion 為您建立端點。  | 
| VPC |  選擇您想使用的虛擬私有雲端 (VPC) ID。VPC 和管道必須位於相同的 中 AWS 區域。  | 
| 子網路 |  選擇一或多個子網路。OpenSearch Service 會在子網路中放置 VPC 端點和彈性網路介面。  | 
| 安全群組 |  選擇一或多個 VPC 安全群組，允許所需的應用程式在連接埠 (80 或 443) 和管道公開的通訊協定 (HTTP 或 HTTPs) 上連接 OpenSearch 擷取管道。  | 
| VPC 連接選項 |  如果您的來源需要跨 VPC 通訊，例如 Amazon DocumentDB、自我管理的 OpenSearch 或 Confluent Kafka，OpenSearch Ingestion 會在您指定的子網路中建立彈性網路界面 (ENIs)，以連線至這些來源。OpenSearch Ingestion 使用每個可用區域中ENIs 來到達指定的來源。**連接至 VPC** 選項會將 OpenSearch 擷取資料平面 VPC 連接至您指定的 VPC。 選取受管 VPC 的 CIDR 保留以部署網路介面。  | 

### CLI
<a name="pipeline-vpc-configure-cli"></a>

若要使用 設定 VPC 存取 AWS CLI，請指定 `--vpc-options` 參數：

```
aws osis create-pipeline \
  --pipeline-name vpc-pipeline \
  --min-units 4 \
  --max-units 10 \
  --vpc-options SecurityGroupIds={sg-12345678,sg-9012345},SubnetIds=subnet-1212234567834asdf \
  --pipeline-configuration-body "file://pipeline-config.yaml"
```

## 自我管理 VPC 端點
<a name="pipeline-vpc-self-managed"></a>

建立管道時，您可以使用端點管理來建立具有自我管理端點或服務受管端點的管道。端點管理是選用的，預設為 OpenSearch Ingestion 管理的端點。

若要在 中使用自我管理 VPC 端點建立管道 AWS 管理主控台，請參閱[使用 OpenSearch Service 主控台建立管道](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/creating-pipeline.html#create-pipeline-console)。若要在 中建立具有自我管理 VPC 端點的管道 AWS CLI，您可以在 [create-pipeline](https://docs.aws.amazon.com/cli/latest/reference/osis/create-pipeline.html) 命令中使用 `--vpc-options` 參數：

```
--vpc-options SubnetIds=subnet-abcdef01234567890,VpcEndpointManagement=CUSTOMER
```

您可以在指定端點服務時，自行建立管道的端點。若要尋找您的端點服務，請使用 [get-pipeline](https://docs.aws.amazon.com/cli/latest/reference/osis/get-pipeline.html) 命令，這會傳回類似以下的回應：

```
"vpcEndpointService" : "com.amazonaws.osis.us-east-1.pipeline-id-1234567890abcdef1234567890",
"vpcEndpoints" : [ 
  {
    "vpcId" : "vpc-1234567890abcdef0",
    "vpcOptions" : {
      "subnetIds" : [ "subnet-abcdef01234567890", "subnet-021345abcdef6789" ],
      "vpcEndpointManagement" : "CUSTOMER"
    }
  }
```

使用`vpcEndpointService`回應中的 ，透過 AWS 管理主控台 或 建立 VPC 端點 AWS CLI。

如果您使用自我管理的 VPC 端點，則必須在 VPC `enableDnsHostnames`中啟用 DNS 屬性 `enableDnsSupport`和 。請注意，如果您有管道具有停止[和重新啟動](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/pipeline--stop-start.html)的自我管理端點，則必須在帳戶中重新建立 VPC 端點。

## VPC 存取適用的服務連結角色
<a name="pipeline-vpc-slr"></a>

[服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)是一個唯一的 IAM 角色類型，它將許可委派給服務，以便服務可代表您建立和管理資源。如果您選擇服務受管 VPC 端點，OpenSearch Ingestion 需要稱為 **AWSServiceRoleForAmazonOpenSearchIngestionService** 的服務連結角色，才能存取您的 VPC、建立管道端點，並將網路介面放置在 VPC 的子網路中。

如果您選擇自我管理 VPC 端點，OpenSearch Ingestion 需要稱為 **AWSServiceRoleForOpensearchIngestionSelfManagedVpce** 的服務連結角色。如需這些角色、其許可以及如何刪除這些角色的詳細資訊，請參閱 [使用服務連結角色建立 OpenSearch Ingestion 管道](slr-osis.md)。

OpenSearch Ingestion 會自動建立角色。若要讓此自動建立成功，在帳戶中建立第一個管道的使用者必須具有 `iam:CreateServiceLinkedRole`動作的許可。如需進一步了解，請參閱 *IAM 使用者指南*中的[服務連結角色許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)。您可以在建立角色之後，在 AWS Identity and Access Management (IAM) 主控台中檢視角色。