本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立 Canary
重要
請確認您使用 Synthetics Canary 來監控只有您擁有許可 (或您是擁有者) 的端點和 API。取決於 Canary 頻率設定,這些端點可能會遭遇增加的流量。
當您使用 CloudWatch 主控台建立 Canary 時,您可以使用 CloudWatch 提供的藍圖建立 Canary,或者也可以撰寫自己的指令碼。如需詳細資訊,請參閱使用 Canary 藍圖。
CloudFormation 如果您使用自己的 Canary 指令碼,也可以使用 建立 Canary。如需詳細資訊,請參閱AWS CloudFormation 《 使用者指南》中的 AWS::Synthetics::Canary。
如果您正在編寫自己的指令碼,您可以使用 CloudWatch Synthetics 內建在程式庫中的多個函數。如需詳細資訊,請參閱Synthetics 執行時間版本。
注意
當您建立 Canary 時,其中一個建立的圖層是前面加上
Synthetics 的 Synthetics 圖層。此圖層由 Synthetics 服務帳戶擁有,包含執行時期程式碼。
建立 Canary
透過 https://console.aws.amazon.com/cloudwatch/
開啟 CloudWatch 主控台。 -
在導覽窗格中,依序選擇 Application Signals、Synthetics Canary。
-
選擇 Create Canary (建立 Canary)。
-
選擇下列其中一項:
-
若要讓 Canary 以藍圖指令碼為基礎,請選擇 Use a blueprint (使用藍圖),然後選擇您要建立的 Canary 類型。。如需每種藍圖類型之用途的詳細資訊,請參閱使用 Canary 藍圖。
-
若要上傳您自己的 Node.js 指令碼以建立自訂 Canary,請選擇 Upload a script (上傳指令碼)。
然後,您可以將指令碼拖曳到 Script (指令碼) 中,或選擇 Browse files (瀏覽檔案) 以瀏覽至檔案系統中的指令碼。
-
若要從 S3 儲存貯體匯入指令碼,請選擇 Import from S3 (從 S3 匯入)。在 Sourse location (來源位置) 下方輸入 Canary 的完整路徑,或選擇 Browse S3 (瀏覽 S3)。
您必須擁有您使用之 S3 儲存貯體的
s3:GetObject和s3:GetObjectVersion許可。儲存貯體必須位於您建立 Canary 的相同 AWS 區域中。
-
-
在 Name (名稱) 下方輸入 Canary 的名稱。此名稱會用於許多頁面,因此我們建議您使用描述性的名稱,以與其他 Canary 區別。
-
在 Application or endpoint URL (應用程式或端點 URL) 下方,輸入您要 Canary 進行測試的 URL。此 URL 必須包含通訊協定 (例如 https://)。
如果您想要讓 Canary 在 VPC 上測試端點,您稍後在本程序中也必須輸入 VPC 的相關資訊。
-
如果您為 Canary 使用您自己的指令碼,則請在 Lamdba handler (Lambda 處理常式) 下方輸入您希望 Canary 開始的進入點。如需 Lambda 處理常式格式的資訊,請參閱 Synthetics 執行時期版本。
-
在指令碼編輯器、執行時期版本下,選取 Synthetics 執行時期版本以執行 Canary。如需 Synthetics 執行時期版本的資訊,請參閱 Synthetics 執行時期版本。
在瀏覽器組態下,您可以啟用瀏覽器以測試 Canary。必須至少選擇一個瀏覽器。
-
如果您在指令碼中使用環境變數,選擇 Environment variables (環境變數),然後為指令碼中定義的每個環境變數指定一個數值。如需詳細資訊,請參閱環境變數。
-
在 Schedule (排程) 下,選擇只執行此 Canary 一次、使用 Rate 表達式連續執行,或使用 Cron 表達式對其進行排程。
-
當您使用 CloudWatch 主控台建立連續執行的 Canary 時,您可以在每分鐘一次到每小時一次之間選擇一種速率。
-
如需撰寫 Canary 排程的 Cron 表達式的詳細資訊,請參閱 使用 Cron 排程 Canary 執行。
-
-
(選用) 如要設定 canary 的逾時值,請選擇 Additional configuration (其他組態),然後指定逾時值。使其不短於 15 秒,以允許 Lambda 冷啟動和啟動 canary 儀器所需的時間。
-
在 Data retention (資料保留) 下方,指定要將 Canary 執行失敗和成功的資訊保留多長時間。範圍是 1-455 天。
此設定會影響 GetCanaryRuns 操作傳回的資訊範圍,以及 Synthetics 主控台中顯示的資訊範圍。
它不會影響存放在 Amazon S3 儲存貯體中的資料,也不會影響金絲雀發布的日誌或指標。
無論 Canary 的資料保留期間為何,主控台中顯示的資訊範圍都有特定限制。在 Synthetics 主控台主檢視中,相對和絕對時間範圍都限制為 7 天。在特定 Canary 的 Synthetics 主控台檢視中,相對時間範圍限制為 7 天,絕對時間範圍限制為 30 天。
-
在資料儲存體下方,選取 Amazon S3 儲存貯體以用來儲存來自 Canary 執行的資料。儲存貯體名稱不能包含句點 (.)。如果您將此保留為空白,則會使用或建立預設的 Amazon S3 儲存貯體。
-
(選用) 在預設情況下,Canary 會將成品存放在 Amazon S3,並使用 AWS受管 AWS KMS 金鑰靜態加密成品。您可以使用不同的加密選項,方法是選擇 Data Storage (資料儲存) 區段中的 Additional configuration (其他組態)。然後您可以選擇要用於加密的金鑰類型。如需詳細資訊,請參閱加密 Canary 成品。
-
在 Access permissions (存取許可) 下方,選擇是要建立 IAM 角色來執行 Canary,還是使用現有角色。
如果您讓 CloudWatch Synthetics 建立角色,則其會自動包含所有必要的許可。如果您想要自行建立角色,請參閱 Canary 的必要角色和許可 以瞭解有關必要許可的資訊。
如果您在建立 Canary 時使用 CloudWatch 主控台來建立 Canary 的角色,則無法將該角色重複用於其他 Canary,因為這些角色專屬於一個 Canary。如果您已手動建立可供多個 Canary 使用的角色,則可使用現有的角色。
若要使用現有角色,您必須具有將該角色傳遞給 Synthetics 和 Lambda 的
iam:PassRole許可。您也必須擁有iam:GetRole許可。 -
(選用) 在 Alarms (警示) 下方,選擇是否要為此 Canary 建立預設 CloudWatch 警示。如果您選擇建立警示,則會以下列名稱慣例建立警示:
Synthetics-Alarm-canaryName-indexindex是代表為此 Canary 建立的每個不同警示的數字。第一個警示的索引為 1,第二個警示的索引為 2,以此類推。 -
(選用) 若要在 VPC 上的端點執行此 Canary 測試,請選擇 VPC settings (VPC 設定),然後執行下列操作:
-
選取託管端點的 VPC。
-
在 VPC 上選取一或多個子網路。您必須選取私有子網路,因為當 IP 地址無法在執行期間指派給 Lambda 執行個體時,則 Lambda 執行個體無法設定為在公有子網路中執行。如需詳細資訊,請參閱設定 Lambda 函數以存取 VPC 中的資源。
-
在 VPC 上選取一或多個安全群組。
-
若要允許為此 Canary 傳出 IPv6 流量,請選取允許雙堆疊子網路的 IPv6 流量。這可讓 Canary 透過 IPv6 監控僅支援 IPv6 及啟用雙堆疊的端點。
可以透過授與 Canary 網際網路存取權並適當設定 VPC 子網路,來監控 VPC 外部的端點。如需詳細資訊,請參閱在 VPC 上執行 Canary。
如果端點位於 VPC 上,則必須啟用 Canary 以將資訊傳送至 CloudWatch 和 Simple Storage Service (Amazon S3)。如需詳細資訊,請參閱在 VPC 上執行 Canary。
-
-
(選用) 在 Tags (標籤) 下方,新增一或多個鍵/值對,作為此 Canary 的標籤。標籤可協助您識別和組織 AWS 資源,並追蹤 AWS 成本。如需詳細資訊,請參閱標記您的 Amazon CloudWatch 資源。
如果您希望套用於 Canary 的標籤也套用至 Canary 使用的 Lambda 函式,請在標籤複寫下選擇 Lambda 函式。如果選擇此選項,CloudWatch Synthetics 會讓 Canary 和 Lambda 函式上的標籤保持同步:
-
Synthetics 會將您在此處指定的相同標籤套用至 Canary 和 Lambda 函式。
-
如果您稍後更新 Canary 的標籤並保持選取此選項,Synthetics 會修改 Lambda 函式上的標籤,與 Canary 保持同步。
-
-
(選用) 在 Active tracing (主動追蹤) 中,選擇是否為此 Canary 啟用 X-Ray 主動追蹤。主動追蹤僅適用於 Puppeteer 和 Java 執行時期。如需詳細資訊,請參閱Canary 和 X-Ray 追蹤。
為 Canary 建立的資源
當您建立 Canary 時,會建立下列資源:
-
具有
CloudWatchSyntheticsRole-名稱的 IAM 角色 (如果您使用 CloudWatch 主控台建立 Canary 並指定要為 Canary 建立新角色)canary-name-uuid -
具有
CloudWatchSyntheticsPolicy-名稱的 IAM 政策。canary-name-uuid -
具有
cw-syn-results-名稱的 S3 儲存貯體。accountID-region -
具有
Synthetics-Alarm-名稱的警示 (如果您希望為 Canary 建立警示)MyCanaryName -
Lambda 函數和圖層 (如果您使用藍圖來建立 Canary)。這些資源具有字首
cwsyn-。MyCanaryName -
具有
/aws/lambda/cwsyn-名稱的 CloudWatch Logs 日誌群組。MyCanaryName-randomId