本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
安裝或更新套件
您可以使Distributor用的功能將套件部署到 AWS Systems Manager 受管理節點 AWS Systems Manager。若要部署套件,請使用 AWS Management Console 或 AWS Command Line Interface (AWS CLI)。您可以在每個命令部署一個套件版本。您可以安裝新套件或就地更新現有的安裝。您可以選擇部署特定版本,或選擇一律用最新部署套件版本來部署。我們建議您使用State Manager的 AWS Systems Manager功能來安裝套件。使用State Manager有助於確保受管節點始終執行最多 up-to-date 版本的套件。
Preference | AWS Systems Manager 動作 | 詳細資訊 |
---|---|---|
立即安裝或更新套件。 |
Run Command |
|
依排程安裝或更新的套件,以便安裝一律會包含預設版本。 |
State Manager |
|
自動安裝套件到具有特定標籤或標籤集合的新受管節點上。例如,在新執行個體上安裝 Amazon CloudWatch 代理程式。 |
State Manager |
有一種方法,可以套用標籤到新的受管節點,然後在您的 State Manager 關聯指定標籤為目標。State Manager 會在符合關聯標籤的受管節點關聯中安裝套件。請參閱關於 State Manager 關聯中的目標和速率控制。 |
一次性安裝或更新套件 (主控台)
您可以使用 AWS Systems Manager 主控台一次安裝或更新套件。設定一次安裝時,Distributor 會使用 AWS Systems Manager Run Command ( AWS Systems Manager功能) 來執行安裝。
安裝或更新套件一次 (主控台)
請在以下位置開啟 AWS Systems Manager 主控台。
https://console.aws.amazon.com/systems-manager/ -
在導覽窗格中,選擇 Distributor。
-
在 Distributor 首頁上,選擇您想安裝的套件。
-
選擇 Install one time (一次性安裝)。
這個命令會用命令文件
AWS-ConfigureAWSPackage
和您選擇的 Distributor 套件開啟 Run Command。 -
對於 Document version (文件版本),選取您要執行的
AWS-ConfigureAWSPackage
文件的版本。 -
針對 Action (動作),選擇 Install (安裝)。
-
對於 Installation type (安裝類型),選擇以下其中一項:
-
Uninstall and reinstall (解除安裝並重新安裝):套件會完全解除安裝,然後重新安裝。在重新安裝完成之前,應用程式無法使用。
-
In-place update (就地更新):根據您在
update
指令碼中提供的指示,只將新的或變更的檔案新增至現有的安裝。應用程式在整個更新程序中仍然可用。套件以AWSEC2Launch-Agent
外的 AWS 已發佈套件不支援此選項。
-
-
對於 Name (名稱),確認已輸入您所選套件的名稱。
-
(選用) 對於 Version (版本),輸入套件的版本名稱值。如果您將此欄位留空,Run Command 會安裝您在 Distributor 選的預設版本。
-
在 Targets (目標) 區段中,透過手動指定標籤、選取執行個體或裝置,或指定資源群組,選擇您要執行這項操作的受管節點。
注意
如果在清單中沒看到受管節點,則請參閱 疑難排解受管節點的可用性。
對於 Other parameters (其他參數):
-
在 Comment (註解) 中,輸入此命令的相關資訊。
-
在 Timeout (seconds) (逾時 (秒)) 中,指定在命令執行全面失敗之前,系統要等候的秒數。
-
-
對於 Rate Control (速率控制):
-
在 Concurrency (並行) 中,指定可同時執行命令的節點數目或百分比。
注意
如果透過指定標籤或資源群組選取了目標,且您不確定會以多少個受管節點為目標,則透過指定百分比限制可以同時執行文件之目標的數量。
-
在 Error threshold (錯誤閾值) 中,指定在特定數目或百分比之受管節點上的命令失敗之後,停止在其他目標上執行命令。例如,如果您指定三個錯誤,則 Systems Manager 會在收到第四個錯誤時停止傳送命令。仍在處理命令的受管節點也可能會傳送錯誤。
-
(選用) 針對 Output options (輸出選項),若要將命令輸出儲存至檔案,請選取 Write command output to an S3 bucket (將命令輸出寫入至 S3 儲存貯體) 方塊。在方塊中輸入儲存貯體和字首 (資料夾) 名稱。
注意
授予能力以將資料寫入至 S3 儲存貯體的 S3 許可,會是指派給執行個體之執行個體設定檔 (適用於 EC2 執行個體) 或 IAM 服務角色 (啟用混合模式的機器) 的許可,而不是執行此任務之 IAM 使用者的許可。如需詳細資訊,請參閱設定 Systems Manager 所需的執行個體許可或為混合式環境建立 IAM 服務角色。此外,如果指定的 S3 儲存貯體位於不同的儲存貯體 AWS 帳戶,請確定與受管節點關聯的執行個體設定檔或 IAM 服務角色具有寫入該儲存貯體的必要許可。
在 SNS notifications (SNS 通知) 區段中,如果您要傳送有關命令執行狀態的通知,請選取 Enable SNS notifications (啟用 SNS 通知) 核取方塊。
如需為 Run Command 設定 Amazon SNS 通知的詳細資訊,請參閱 使用 Amazon SNS 通知監控 Systems Manager 狀態變更。
-
當您準備好安裝套件時,請選擇 Run (執行)。
-
Command status (命令狀態) 區域會報告執行的進度。如果命令仍在進行中,請選擇主控台左上角的重新整理圖示,直到 Overall status (整體狀態) 或 Detailed status (詳細狀態) 欄顯示 Success (成功) 或 Failed (失敗) 顯示為止。
-
在 Targets and outputs (目標和輸出) 區域中,選擇受管節點名稱旁邊的按鈕,然後選擇 View output (檢視輸出)。
此指令輸出頁面會顯示指令執行的結果。
-
(選用) 如果您選擇將命令輸出寫入 Amazon Simple Storage Service (Amazon S3) 儲存貯體,請選擇 Amazon Simple Storage Service (Amazon S3) 以檢視輸出日誌資料。
排定套件安裝或更新 (主控台)
您可以使用 AWS Systems Manager 主控台來排程套件的安裝或更新。排定套件安裝或更新時,Distributor 會使用 AWS Systems Manager State Manager來安裝或更新。
若要排定套件安裝 (主控台)
請在以下位置開啟 AWS Systems Manager 主控台。
https://console.aws.amazon.com/systems-manager/ -
在導覽窗格中,選擇 Distributor。
-
在 Distributor 首頁上,選擇您想安裝或安裝的套件。
-
對於 Package (套件),選擇 Install on a schedule (依排程安裝)。
此命令會開啟 State Manager 至為您建立的新關聯。
-
對於 Name (名稱),輸入名稱 (例如,
Deploy-test-agent-package
)。此為選用操作,但建議您採用。名稱中不得使用空格。 -
在 Document (文件) 清單中,已選取文件名稱
AWS-ConfigureAWSPackage
。 -
對於 Action (動作),請確認已選取 Install (安裝)。
-
對於 Installation type (安裝類型),選擇以下其中一項:
-
Uninstall and reinstall (解除安裝並重新安裝):套件會完全解除安裝,然後重新安裝。在重新安裝完成之前,應用程式無法使用。
-
In-place update (就地更新):根據您在
update
指令碼中提供的指示,只將新的或變更的檔案新增至現有的安裝。應用程式在整個更新程序中仍然可用。
-
-
對於 Name (名稱),確認已輸入您套件的名稱。
-
對於 Version (版本),如果您要安裝最新發佈版本以外的套件版本,請輸入版本識別碼。
-
對於 Targets (目標),請選擇 Selecting all managed instances in this account (選擇此帳戶中的所有受管執行個體)、Specifying tags (指定標籤) 或 Manually Selecting Instance (手動選擇執行個體)。如果您選擇使用標籤來指向資源,請在提供的欄位中輸入標籤索引鍵和標籤值。
注意
您可以選擇 [選取此帳戶中的所有代管執行個體] 或 [手動選取執行個體],選擇受管理 AWS IoT Greengrass 核心裝置
-
對於 Specify schedule (指定排程),請選擇 On Schedule (依排程) 定期執行關聯,或 No Schedule (不排程) 來執行關聯一次。如需關於這些選項的詳細資訊,請參閱 在 Systems Manager 中使用關聯。使用控制項來建立
cron
或關聯速率排程。 -
選擇 Create Association (建立關聯)。
-
在 Association (關聯) 頁面上,選擇您建立的關聯旁邊的按鈕,然後選擇 Apply association now (立即套用關聯)。
State Manager會在指定的目標上建立並立即執行關聯。如需執行關聯結果的詳細資訊,請參閱此指南中的在 Systems Manager 中使用關聯。
如需在 Advanced options (進階選項)、Rate control (速率控制) 以及 Output options (輸出選項) 中使用選項的詳細資訊,請參閱在 Systems Manager 中使用關聯。
一次性安裝套件 (AWS CLI)
您可以send-command在中 AWS CLI 執行一次安裝Distributor套件。如果套件已經安裝,解除安裝套件時會讓應用程式離線,並將新版本安裝就位。
若要安裝套件一次 (AWS CLI)
-
在 AWS CLI中執行以下命令。
aws ssm send-command \ --document-name "AWS-ConfigureAWSPackage" \ --instance-ids "
instance-IDs
" \ --parameters '{"action":["Install"],"installationType":["Uninstall and reinstall"],"name":["package-name (in same account) or package-ARN (shared from different account)
"]}'注意
installationType
的預設行為是Uninstall and reinstall
。當您安裝完整套件時,您可以在此命令中忽略"installationType":["Uninstall and reinstall"]
。以下是範例。
aws ssm send-command \ --document-name "AWS-ConfigureAWSPackage" \ --instance-ids "i-00000000000000" \ --parameters '{"action":["Install"],"installationType":["Uninstall and reinstall"],"name":["ExamplePackage"]}'
若要取得有關可與send-command指令配合使用的其他選項的資訊,請參閱《AWS CLI 指令參考》一 AWS Systems Manager 節send-command中的〈〉。
一次性更新套件 (AWS CLI)
您可以send-command在中執行 AWS CLI 以更新Distributor套件,而不讓關聯的應用程式離線。只會取代套件中的新檔案或更新檔案。
一次性更新套件 (AWS CLI)
-
在 AWS CLI中執行以下命令。
aws ssm send-command \ --document-name "AWS-ConfigureAWSPackage" \ --instance-ids "
instance-IDs
" \ --parameters '{"action":["Install"],"installationType":["In-place update"],"name":["package-name (in same account) or package-ARN (shared from different account)
"]}'注意
當您新增新的或變更的檔案時,必須在命令中包含
"installationType":["In-place update"]
。以下是範例。
aws ssm send-command \ --document-name "AWS-ConfigureAWSPackage" \ --instance-ids "i-02573cafcfEXAMPLE" \ --parameters '{"action":["Install"],"installationType":["In-place update"],"name":["ExamplePackage"]}'
若要取得有關可與send-command指令配合使用的其他選項的資訊,請參閱《AWS CLI 指令參考》一 AWS Systems Manager 節send-command中的〈〉。
排程套件安裝 (AWS CLI)
您可以create-association在中 AWS CLI 執行以按排程安裝Distributor套件。--name
值 (文件名稱) 一律為 AWS-ConfigureAWSPackage
。以下命令會使用索引鍵 InstanceIds
來指定目標受管節點。如果套件已經安裝,解除安裝套件時會讓應用程式離線,並將新版本安裝就位。
aws ssm create-association \
--name "AWS-ConfigureAWSPackage" \
--parameters '{"action":["Install"],"installationType":["Uninstall and reinstall"],"name":["package-name (in same account) or package-ARN (shared from different account)
"]}' \
--targets [{\"Key\":\"InstanceIds\",\"Values\":[\"instance-ID1
\",\"instance-ID2
\"]}]
注意
installationType
的預設行為是 Uninstall
and reinstall
。當您安裝完整套件時,您可以在此命令中忽略 "installationType":["Uninstall
and reinstall"]
。
以下是範例。
aws ssm create-association \
--name "AWS-ConfigureAWSPackage" \
--parameters '{"action":["Install"],"installationType":["Uninstall and reinstall"],"name":["Test-ConfigureAWSPackage"]}' \
--targets [{\"Key\":\"InstanceIds\",\"Values\":[\"i-02573cafcfEXAMPLE\",\"i-0471e04240EXAMPLE\"]}]
若要取得有關可與create-association指令配合使用的其他選項的資訊,請參閱《AWS CLI 指令參考》一 AWS Systems Manager 節create-association中的〈〉。
排程套件更新 (AWS CLI)
您可以create-association在中執行以按照排程更新Distributor套件,而不必 AWS CLI 讓關聯的應用程式離線。只會取代套件中的新檔案或更新檔案。--name
值 (文件名稱) 一律為 AWS-ConfigureAWSPackage
。以下命令會使用索引鍵 InstanceIds
來指定目標執行個體。
aws ssm create-association \
--name "AWS-ConfigureAWSPackage" \
--parameters '{"action":["Install"],"installationType":["In-place update"],"name":["package-name (in same account) or package-ARN (shared from different account)
"]}' \
--targets [{\"Key\":\"InstanceIds\",\"Values\":[\"instance-ID1
\",\"instance-ID2
\"]}]
注意
當您新增新的或變更的檔案時,必須在命令中包含 "installationType":["In-place update"]
。
以下是範例。
aws ssm create-association \
--name "AWS-ConfigureAWSPackage" \
--parameters '{"action":["Install"],"installationType":["In-place update"],"name":["Test-ConfigureAWSPackage"]}' \
--targets [{\"Key\":\"InstanceIds\",\"Values\":[\"i-02573cafcfEXAMPLE\",\"i-0471e04240EXAMPLE\"]}]
若要取得有關可與create-association指令配合使用的其他選項的資訊,請參閱《AWS CLI 指令參考》一 AWS Systems Manager 節create-association中的〈〉。