在 中啟動 Amazon OpenSearch Service 網域 VPC - Amazon OpenSearch Service

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

在 中啟動 Amazon OpenSearch Service 網域 VPC

您可以在虛擬私有雲端 () 中啟動 AWS 資源,例如 Amazon OpenSearch Service 網域VPC。VPC 是專用於 的虛擬網路 AWS 帳戶。它在邏輯上與 AWS 雲端中的其他虛擬網路隔離。將 OpenSearch Service 網域放置在 內,VPC可讓 內的 OpenSearch Service 與其他服務之間進行安全通訊,VPC而不需要網際網路閘道、NAT裝置或VPN連線。所有流量都會安全地保留在 AWS Cloud 內。

注意

如果您將 OpenSearch 服務網域放置在 內VPC,您的電腦必須能夠連線至 VPC。此連線通常採用 VPN、傳輸閘道、受管網路或代理伺服器的形式。您無法從 外部直接存取您的網域VPC。

VPC 與公有網域

以下是VPC網域與公有網域的不同之處。稍後會更詳細地說明各項差異。

  • 由於其邏輯隔離,與使用公有端點的網域相比,位於 中的網域VPC具有額外的安全層。

  • 雖然公有網域可從任何網際網路連線裝置存取,但VPC網域需要某種形式的 VPN或 代理。

  • 相較於公有網域,VPC網域在主控台中顯示的資訊較少。特別是,Cluster health (叢集運作狀態) 索引標籤並不包含碎片資訊,並且 Indices (索引) 索引標籤不會出現。

  • 網域端點採用不同的形式 (https://search-domain-namehttps://vpc-domain-name)。

  • 您無法將 IP 型存取政策套用至位於 內的網域,VPC因為安全群組已強制執行 IP 型存取政策。

限制

在 內操作 OpenSearch 服務網域VPC有下列限制:

  • 如果您在 中啟動新網域VPC,則稍後無法將其切換為使用公有端點。反之亦然:如果您使用公有端點建立網域,則無法稍後將其放置在 內VPC。反之,您必須建立新網域並遷移您的資料。

  • 您可以在 中啟動網域VPC或使用公有端點,但兩者都無法執行。您必須在建立網域時選擇其中一個。

  • 您無法在使用專用租用VPC的 中啟動您的網域。您必須使用將租用設定為預設 VPC的 。

  • 在 中放置網域後VPC,您無法將其移至不同的 VPC,但可以變更子網路和安全群組設定。

  • 若要存取駐留在 內的網域的預設 OpenSearch 儀表板安裝VPC,使用者必須能夠存取 VPC。此程序會因網路組態而有所不同,但可能涉及連線至 VPN或 受管網路,或使用代理伺服器或傳輸閘道。若要進一步了解,請參閱 關於VPC網域上的存取政策Amazon VPC使用者指南 控制儀表板的存取

架構

為了支援 VPCs, OpenSearch Service 會將端點放入 的一個、兩個或三個子網路VPC。如果您為網域啟用了多個可用區,每個子網路都必須位於相同區域中的不同可用區域內。如果您僅使用一個可用區域, OpenSearch Service 會將端點放入一個子網路。

下圖顯示一個可用區域的VPC架構:

VPC architecture showing subnet with security group connecting to OpenSearch Service data nodes.

下圖顯示兩個可用區域的VPC架構:

VPC architecture with two Availability Zones, showing security groups, data nodes, and master nodes.

OpenSearch 服務也會VPC為每個資料節點在 中放置彈性網路介面 (ENI)。 OpenSearch 服務會從子網路的地址範圍為每個ENI私有 IP IPv4 地址指派。服務也會為 IP 地址指派公DNS有主機名稱 (也就是網域端點)。您必須使用公有DNS服務,將端點 (主機名稱DNS) 解析為資料節點的適當 IP 地址:

  • 如果您的 VPC使用 Amazon 提供的DNS伺服器,將 enableDnsSupport選項設定為 true(預設值),則 OpenSearch 服務端點的解析將會成功。

  • 如果您的 VPC使用私有DNS伺服器,且伺服器可以連線到公有授權DNS伺服器來解析DNS主機名稱,則 OpenSearch 服務端點的解析也會成功。

由於 IP 地址可能變更,您應該定期解析網域端點,以便您可以隨時存取正確的資料節點。建議您將DNS解析度間隔設定為一分鐘。如果您使用的是用戶端,您也應該確保清除用戶端中的DNS快取。

從公有存取權遷移至VPC存取權

建立網域時,您可以指定其是否應該具有公有端點或位於 內VPC。建立之後,您無法從一個切換到另一個。反之,您必須建立新網域並且手動重新建立索引或遷移您的資料。快照提供方便的方法遷移資料。如需有關拍攝和恢復快照的資訊,請參閱在 Amazon OpenSearch Service 中建立索引快照

關於VPC網域上的存取政策

將 OpenSearch Service 網域放置在 內,VPC可提供固有且強大的安全層。當您建立具有公用存取的網域時,端點的格式如下:

https://search-domain-name-identifier.region.es.amazonaws.com

如「公有」標籤建議,這個端點可從任何連接網際網路的裝置存取,即使您可以 (且應該) 控制對其的存取。如果您在 Web 瀏覽器中存取端點,您可能會收到 Not Authorized 訊息,但請求會到達網域。

當您建立具有VPC存取權的網域時,端點看起來類似於公有端點:

https://vpc-domain-name-identifier.region.es.amazonaws.com

如果您嘗試在 Web 瀏覽器中存取端點,不過您可能會發現請求逾時。若要執行基本GET請求,您的電腦必須能夠連線至 VPC。此連線通常採用 VPN、傳輸閘道、受管網路或代理伺服器的形式。如需其可採取的各種表單的詳細資訊,請參閱 Amazon VPC使用者指南 中的 的範例VPC。關於以開發為中心的範例,請參閱測試VPC網域

除了此連線需求之外,還VPCs可讓您透過安全群組 管理對網域的存取。對於許多使用案例,這個安全功能的組合已足夠,而您可能感覺可安心將開放的存取政策套用到網域。

使用開放存取政策操作並不表示網際網路上的任何人都可以存取 OpenSearch 服務網域。相反地,這意味著如果請求到達 OpenSearch 服務網域,且相關聯的安全群組允許,則網域接受請求。唯一的例外是,如果您使用的是精細存取控制或指定IAM角色的存取政策。在這些情況下,如果網域要接受請求,安全群組必須允許它,並且它必須使用有效的憑證進行簽署。

注意

由於安全群組已強制執行 IP 型存取政策,因此您無法將 IP 型存取政策套用至位於 內的 OpenSearch 服務網域VPC。如果您使用公有存取,IP 為基礎的政策仍然可用。

開始之前:VPC存取的先決條件

在啟用 VPC與新 OpenSearch 服務網域之間的連線之前,您必須先執行下列動作:

  • 建立 VPC

    若要建立 VPC,您可以使用 Amazon VPC主控台 AWS CLI、 或其中一個 AWS SDKs。如需詳細資訊,請參閱 Amazon 使用者指南 中的使用 VPCs VPC 如果您已有 VPC,您可以略過此步驟。

  • 預留 IP 地址

    OpenSearch 服務會將網路介面放置在 的子網路中,以啟用 VPC 與網域的連線VPC。每個網路界面都與 IP 地址關聯。您必須在子網路中保留足夠數量的 IP 地址給網路界面。如需詳細資訊,請參閱在VPC子網路 中保留 IP 地址

測試VPC網域

增強的安全性VPC可讓 連線至您的網域並執行基本測試成為挑戰。如果您已擁有 OpenSearch 服務VPC網域,但不想建立VPN伺服器,請嘗試下列程序:

  1. 對於網域的存取政策,請選擇 Only use fine-grained access control (僅使用精細存取控制)。完成測試後,您隨時可以更新此設定。

  2. 在 OpenSearch 與服務網域相同的 VPC、子網路和安全群組中建立 Amazon Linux Amazon EC2執行個體。

    由於此執行個體是用於進行測試,只需執行極少的工作,因此請選擇較便宜的執行個體類型,如 t2.micro。指派公有 IP 地址給執行個體,然後建立新的金鑰對或選擇現有的金鑰對。如果您建立新的金鑰,請將其下載到您的 ~/.ssh 目錄。

    若要進一步了解如何建立執行個體,請參閱 Amazon EC2 Linux 執行個體入門。

  3. 網際網路閘道新增至您的 VPC。

  4. 在 的路由表中VPC,新增路由。針對目的地 ,指定包含您電腦公有 IP 地址的CIDR區塊。對於 Target (目標),指定您剛建立的網際網路閘道。

    例如,您可以指定 123.123.123.123/32 以只用於您的電腦,或指定 123.123.123.0/24 以用於一個範圍的電腦。

  5. 對於安全群組,指定兩個傳入規則:

    Type 通訊協定 連接埠範圍 來源
    SSH (22) TCP (6) 22 your-cidr-block
    HTTPS (443) TCP (6) 443 your-security-group-id

    第一個規則可讓您SSH進入EC2執行個體。第二個允許EC2執行個體透過 與服務 OpenSearch 網域通訊HTTPS。

  6. 從終端機執行下列命令:

    ssh -i ~/.ssh/your-key.pem ec2-user@your-ec2-instance-public-ip -N -L 9200:vpc-domain-name.region.es.amazonaws.com:443

    此命令會建立SSH通道,透過EC2執行個體將請求轉送至 https://localhost:9200 至您的 OpenSearch 服務網域。在 命令中指定連接埠 9200 會模擬本機 OpenSearch 安裝,但使用您想要的連接埠。 OpenSearch Service 僅接受透過連接埠 80 (HTTP) 或 443 () 的連線HTTPS。

    此命令不會提供任何意見回饋,並且無限期地執行。若要停止命令,請按 Ctrl + C

  7. 導覽至 Web 瀏覽器中的 https://localhost:9200/_dashboards/。您可能需要認可安全例外狀況。

    或者,您也可以使用 https://localhost:9200curlPostman 或您愛用的程式設計語言,傳送請求到

    提示

    如果因為憑證不相符而遇到 Curl 錯誤,請嘗試 --insecure​ 旗標。

在VPC子網路中保留 IP 地址

OpenSearch 服務VPC透過將網路介面放置在 的子網路 VPC(如果您啟用多個可用區域 VPC,則為 的多個子網路) 來將網域連線至 。 在 Amazon OpenSearch 服務中配置異地同步備份域每個網路界面都與 IP 地址關聯。建立 OpenSearch 服務網域之前,您必須在每個子網路中擁有足夠數量的 IP 地址,以容納網路介面。

以下是基本公式: OpenSearch 服務在每個子網路中保留的 IP 地址數量是資料節點數量的三倍,除以可用區域的數量。

範例

  • 如果某個網域有 9 個資料節點和 3 個可用區域,則每個子網路的 IP 計數為 9 * 3 / 3 = 9。

  • 如果某個網域有 8 個資料節點和 2 個可用區域,則每個子網路的 IP 計數為 8 * 3 / 2 = 12。

  • 如果某個網域有 6 個資料節點和 1 個可用區域,則每個子網路的 IP 計數為 6 * 3 / 1 = 18。

當您建立網域時, OpenSearch Service 會保留 IP 地址、將部分用於網域,並將其餘部分用於藍/綠部署。您可以在 Amazon EC2主控台的網路介面區段中查看網路介面及其相關聯的 IP 地址。描述欄顯示與網路介面相關聯的 OpenSearch 服務網域。

提示

建議您為 OpenSearch 服務保留 IP 地址建立專用子網路。透過使用專用的子網路,可避免與其他應用程式和服務重疊,並確保您可以預留額外的 IP 地址供未來若需要擴展叢集時使用。若要進一步了解,請參閱在 中建立子網路VPC

您也可以考慮佈建專用協調器節點,以減少VPC網域所需的私有 IP 地址保留數量。 OpenSearch 會將彈性網路介面 (ENI) 連接至專用協調器節點,而不是資料節點。專用協調器節點通常代表總資料節點的大約 10%。因此,會保留較少數量的私有 IP 地址給VPC網域。

VPC 存取的服務連結角色

服務連結角色是一種獨特的IAM角色類型,可將許可委派給 服務,以便其代表您建立和管理資源。 OpenSearch 服務需要服務連結角色來存取您的 VPC、建立網域端點,並將網路介面放置在 的子網路中VPC。

OpenSearch 當您使用 OpenSearch 服務主控台在 中建立網域時,服務會自動建立角色VPC。若要讓此自動建立成功,您必須有 iam:CreateServiceLinkedRole 動作的許可。若要進一步了解,請參閱 IAM 使用者指南 中的服務連結角色許可

OpenSearch 服務建立角色後,您可以使用IAM主控台檢視該角色 (AWSServiceRoleForAmazonOpenSearchService)。

如需此角色許可以及如何刪除它的完整資訊,請參閱針對 Amazon OpenSearch 服務使用服務連結角色