本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立 Canary
重要
確保您使用 Synthetics 金絲雀僅監視端點以及APIs您擁有所有權或權限的端點。取決於 Canary 頻率設定,這些端點可能會遭遇增加的流量。
當您使用 CloudWatch 主控台建立初期測試時,您可以使用提供的藍圖 CloudWatch 來建立初期測試,也可以撰寫自己的指令碼。如需詳細資訊,請參閱 使用 Canary 藍圖。
AWS CloudFormation 如果您使用自己的腳本進行金絲雀,則還可以使用創建金絲雀。如需詳細資訊,請參閱使AWS CloudFormation 用指南中的AWS:: Synthetics:: Canary。
如果您正在編寫自己的腳本,則可以使用 CloudWatch Synthetics 庫中內置的幾個函數。如需詳細資訊,請參閱 Synthetics 執行時間版本。
注意
建立金絲雀時,其中一個建立的圖層是附加在前面加上的「Synthetics」圖層。Synthetics
此圖層由 Synthetics 服務帳戶擁有,並包含運行時代碼。
建立 Canary
在開啟 CloudWatch 主控台https://console.aws.amazon.com/cloudwatch/
。 -
在導航窗格中,選擇應用程序信號,Synthetics 金絲雀。
選擇 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
許可。值區必須位於您要建立金絲雀的相同 AWS 區域。
-
在 Name (名稱) 下方輸入 Canary 的名稱。此名稱會用於許多頁面,因此我們建議您使用描述性的名稱,以與其他 Canary 區別。
在「應用程式或端點」下 URLURL,輸入您要測試初期測試的項目。這URL必須包含通訊協定 (例如 https://)。
如果您希望初期測試在端點上測試端點VPC,則還必須在此程序中輸入VPC稍後的相關資訊。
如果您為 Canary 使用您自己的指令碼,則請在 Lamdba handler (Lambda 處理常式) 下方輸入您希望 Canary 開始的進入點。如果您使用的執行時間早於
syn-nodejs-puppeteer-3.4
或syn-python-selenium-1.1
,則您輸入的字串必須以.handler
結尾。如果您使用syn-nodejs-puppeteer-3.4
或者syn-python-selenium-1.1
或更高版本的執行時間,則此限制不適用。如果您在指令碼中使用環境變數,選擇 Environment variables (環境變數),然後為指令碼中定義的每個環境變數指定一個數值。如需詳細資訊,請參閱 環境變數。
在 Schedule (排程) 下,選擇只執行此 Canary 一次、使用 Rate 表達式連續執行,或使用 Cron 表達式對其進行排程。
當您使用 CloudWatch 控制台創建連續運行的初期測試時,您可以在每分鐘一次到每小時一次之間的任何位置選擇費率。
如需撰寫 Canary 排程的 Cron 表達式的詳細資訊,請參閱 使用 Cron 排程 Canary 執行。
(選用) 如要設定 canary 的逾時值,請選擇 Additional configuration (其他組態),然後指定逾時值。使其不短於 15 秒,以允許 Lambda 冷啟動和啟動 canary 儀器所需的時間。
在 Data retention (資料保留) 下方,指定要將 Canary 執行失敗和成功的資訊保留多長時間。範圍是 1-455 天。
此設定只會影響 CloudWatch Synthetics 在主控台中儲存和顯示的資料。它不會影響存放在 Amazon S3 儲存貯體中的資料,也不會影響金絲雀發佈的日誌或指標。
在 Data Storage (資料儲存體) 下方,選取 S3 儲存貯體以用來儲存來自 Canary 執行的資料。儲存貯體名稱不能包含句點 (.)。如果您將此保留為空白,則會使用或建立預設的 S3 儲存貯體。
如果您使用的是
syn-nodejs-puppeteer-3.0
或更新的執行階段,則當您在URL文字方塊中輸入值區時,可以在目前「區域」或其他「區域」中指定值區。如果您使用的是較早的執行時間版本,則儲存貯體必須位於當前的區域。(選擇性) 根據預設,金絲雀會將其成品存放在 Amazon S3 上,並使用 AWS受管金鑰靜態加密成品 AWS KMS 。您可以使用不同的加密選項,方法是選擇 Data Storage (資料儲存) 區段中的 Additional configuration (其他組態)。然後您可以選擇要用於加密的金鑰類型。如需詳細資訊,請參閱 加密 Canary 成品。
在 [存取權限] 下,選擇要建立要執行初期測試的IAM角色,還是使用現有的角色。
如果您有 CloudWatch Synthetics 創建角色,它會自動包含所有必要的權限。如果您想要自行建立角色,請參閱 Canary 的必要角色和許可 以瞭解有關必要許可的資訊。
如果您在建立初期測試時使用 CloudWatch 主控台為初期測試建立角色,則無法將該角色重複用於其他加那利群島,因為這些角色僅適用於一個初期測試。如果您已手動建立可供多個 Canary 使用的角色,則可使用現有的角色。
若要使用現有角色,您必須具有將該角色傳遞給 Synthetics 和 Lambda 的
iam:PassRole
許可。您也必須擁有iam:GetRole
許可。(選擇性) 在 [警報] 下,選擇是否要為此初期測試建立預設 CloudWatch 鬧鐘。如果您選擇建立警示,則會以下列名稱慣例建立警示:
Synthetics-Alarm-
canaryName
-index
index
是代表為此 Canary 建立的每個不同警示的數字。第一個警示的索引為 1,第二個警示的索引為 2,以此類推。(選擇性) 若要讓此初期測試成為位於上的端點VPC,請選擇 VPC[設定],然後執行下列動作:
選取VPC主控端點的。
在您的上選取一或多個子網VPC路。您必須選取私有子網路,因為當 IP 地址無法在執行期間指派給 Lambda 執行個體時,則 Lambda 執行個體無法設定為在公有子網路中執行。如需詳細資訊,請參閱設定 Lambda 函數以存取 VPC.
在您的上選取一或多個安全性群組VPC。
如果端點位於VPC,您必須啟用初期測試將資訊傳送到 CloudWatch 和 Amazon S3。如需詳細資訊,請參閱 在一個上運行金絲雀 VPC。
(選用) 在 Tags (標籤) 下方,新增一或多個鍵/值對,作為此 Canary 的標籤。標籤可以幫助您識別和組織 AWS 資源並追蹤 AWS 成本。如需詳細資訊,請參閱 標記您的 Amazon CloudWatch 資源。
(選用) 在 Active tracing (主動追蹤) 中,選擇是否為此 Canary 啟用 X-Ray 主動追蹤。只有 Canary 使用 syn-nodejs-2.0 或更新版本的執行時間版本時,才能使用此選項。如需詳細資訊,請參閱 Canary 和 X-Ray 追蹤。
為 Canary 建立的資源
當您建立 Canary 時,會建立下列資源:
-
具有名稱的IAM角色
CloudWatchSyntheticsRole-
(如果您使用 CloudWatch 控制台來創建初期測試並指定要為初期測試創建的新角色)canary-name
-uuid
-
具有
CloudWatchSyntheticsPolicy-
名稱的 IAM 政策canary-name
-uuid
-
具有
cw-syn-results-
名稱的 S3 儲存貯體。accountID
-region
-
具有
Synthetics-Alarm-
名稱的警示 (如果您希望為 Canary 建立警示)MyCanaryName
-
Lambda 函數和圖層 (如果您使用藍圖來建立 Canary)。這些資源具有字首
cwsyn-
。MyCanaryName
-
CloudWatch 以名稱記錄記錄檔群組
/aws/lambda/cwsyn-
。MyCanaryName
-randomId