本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 中啟動 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-name
與https://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架構:
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伺服器,請嘗試下列程序:
-
對於網域的存取政策,請選擇 Only use fine-grained access control (僅使用精細存取控制)。完成測試後,您隨時可以更新此設定。
-
在 OpenSearch 與服務網域相同的 VPC、子網路和安全群組中建立 Amazon Linux Amazon EC2執行個體。
由於此執行個體是用於進行測試,只需執行極少的工作,因此請選擇較便宜的執行個體類型,如
t2.micro
。指派公有 IP 地址給執行個體,然後建立新的金鑰對或選擇現有的金鑰對。如果您建立新的金鑰,請將其下載到您的~/.ssh
目錄。若要進一步了解如何建立執行個體,請參閱 Amazon EC2 Linux 執行個體入門。
-
將網際網路閘道新增至您的 VPC。
-
在 的路由表中VPC,新增路由。針對目的地 ,指定包含您電腦公有 IP 地址的CIDR區塊
。對於 Target (目標),指定您剛建立的網際網路閘道。 例如,您可以指定
123.123.123.123/32
以只用於您的電腦,或指定123.123.123.0/24
以用於一個範圍的電腦。 -
對於安全群組,指定兩個傳入規則:
Type 通訊協定 連接埠範圍 來源 SSH (22) TCP (6) 22 your-cidr-block
HTTPS (443) TCP (6) 443 your-security-group-id
第一個規則可讓您SSH進入EC2執行個體。第二個允許EC2執行個體透過 與服務 OpenSearch 網域通訊HTTPS。
-
從終端機執行下列命令:
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
。 -
導覽至 Web 瀏覽器中的 https://localhost:9200/_dashboards/
。您可能需要認可安全例外狀況。 或者,您也可以使用 https://localhost:9200
curl、 Postman 或您愛用的程式設計語言,傳送請求到 。 提示
如果因為憑證不相符而遇到 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 服務使用服務連結角色。