我正在嘗試使用另一個帳戶中的虛擬私有雲端 (VPC) 將數據從 Amazon CloudWatch 日誌串流到 Amazon OpenSearch Service 叢集。但是,我收到「輸入有效 Amazon OpenSearch Service 端點」錯誤消息。
簡短描述
若要將資料從 CloudWatch 日誌串流到另一個帳戶中的 OpenSearch 服務叢集,請執行下列步驟:
1. 在帳戶 A 中設定 CloudWatch 日誌。
2. 在帳戶 A 中設定 AWS Lambda。
3. 在帳戶之間設定 Amazon Virtual Private Cloud (Amazon VPC) 對等互連。
解決方法
在帳戶 A 中設定 CloudWatch 日誌
1. 在帳戶 A 中開啟 CloudWatch 日誌主控台,然後選取您的記錄群組。
2. 選取 Actions (動作)。
3. 選取 Create OpenSearch subscription (建立 OpenSearch 訂閱) 篩選條件。
4. 針對 Select Account (選取帳戶) 選項,選取 This account (此帳戶)。
5. 在 OpenSearch 服務叢集下拉式清單中,選取帳戶 A 的現有叢集。
6. 選取具有撥打所選 OpenSearch 服務叢集呼叫權限的 Lambda IAM 執行角色。
7. 將 AwsLambDavpc 存取管理角色原則附加至您的角色。
8. 在 Configure log format and filters (設定記錄格式和篩選條件) 中,選取您的 Log Format (記錄格式) 和 Subscription Filter Pattern (訂閱篩選條件模式)。
9. 選擇 Next (下一步)。
10. 輸入 Subscription filter (訂閱篩選條件)名稱,然後選取 Start Streaming (開始串流)。如需有關串流的詳細資訊,請參閱將 CloudWatch 日誌資料串流至 Amazon OpenSearch Service。
在帳戶 A 中設定 Lambda
1. 在帳戶 A 中,開啟Lambda 主控台。
2. 選取您建立的 Lambda 函數以串流日誌。
3. 在函數程式碼中,更新帳戶 B 中 OpenSearch 服務叢集的端點變數。此更新可讓 Lambda 函數將資料傳送至帳戶 B 中的 OpenSearch 服務網域。
4. 選取 Configuration (組態)。
5. 選取 VPC。
6. 在 VPC 下方,選取 Edit (編輯)。
7. 選取您的 VPC、子網路和安全群組。
**注意:**此選項可確保 Lambda 函數在 VPC 內執行,並使用虛擬私人雲端路由將資料傳送回 OpenSearch 服務網域。如需Amazon Virtual Private Cloud (Amazon VPC) 組態的詳細資訊,請參閱設定 Lambda 函數以存取 VPC 中的資源。
8. 選取 Save (儲存)。
設定帳戶之間的 VPC 對等互連
1. 在帳戶 A 和帳戶 B 中開啟 Amazon VPC 主控台。
**注意:**請確定您的 VPC 沒有重疊的 CIDR 區塊。
2. 在兩個自訂 VPC (Lambda 和 OpenSearch 服務) 之間建立 VPC 對等工作階段。這個虛擬私人雲端對等工作階段可讓 Lambda 將資料傳送到您的 OpenSearch 服務網域。如需 VPC 對等連線的詳細資訊,請參閱建立 VPC 對等連線。
3. 更新兩個 VPC 的路由表。如需有關路由表的詳細資訊,請參閱更新 VPC 對等連線的路由表。
4. 在帳戶 A 中,移至安全群組。
5. 選取指派給已設定 Lambda 之子網路的安全群組。
注意: 在此情況下,「安全群組」是指子網路 ACL。
6. 新增輸入規則,以允許來自 OpenSearch 服務子網路的流量。
7. 在帳戶 B 中,選取指派給已設定 OpenSearch 服務之子網路的安全性群組。
8. 新增輸入規則以允許來自 Lambda 子網路的流量。
9. 在帳戶 B 中,開啟搜尋服務主控台。
10. 選取 Actions (動作)。
11. 選取 modify access policy (修改存取原則),然後附加下列原則:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<AWS Account A>:role/<Lambda Execution Role>"
},
"Action": "es:*",
"Resource": "arn:aws:es:us-east-1: ::<AWS
Account B>:domain/<OpenSearch Domain Name>/*"
}
]
}
此原則允許 OpenSearch 服務從 Lambda 函數的執行角色撥打呼叫。
12. 在 Lambda 主控台中檢查錯誤計數和成功率量度。此測量結果會驗證日誌是否成功傳送至 OpenSearch 服務。
13. 檢查 OpenSearch 服務中的索引速率測量結果,以確認是否已傳送資料。CloudWatch 日誌現在可以跨 Amazon VPC 中的兩個帳戶進行串流。