AWS Systems ManagerChange Manager 不再開放給新客戶。現有客戶可以繼續正常使用該服務。如需詳細資訊,請參閱AWS Systems ManagerChange Manager可用性變更。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在混合 Linux 節點上安裝 SSM Agent
本主題說明如何在混合多雲端環境中non-EC2 (Amazon Elastic Compute Cloud) Linux 機器上安裝 AWS Systems Manager SSM Agent 。如需有關在 EC2 Linux 執行個體上安裝 SSM Agent 的資訊,請參閱在 Linux EC2 執行個體上手動安裝和解除安裝 SSM Agent。
開始之前,請找出在混合啟用程序期間產生的啟用代碼和啟用 ID,如建立混合啟用,以向 Systems Manager 註冊節點中所述。您需在下列程序中指定代碼和 ID。
在混合多雲端環境中的非 EC2 機器上安裝 SSM Agent
-
登入混合多雲端環境中的伺服器或虛擬機器。
-
如果您使用 HTTP 或 HTTPS 代理伺服器,則必須在目前的 Shell 工作階段中設定
http_proxy或https_proxy環境變數。如果您不使用代理伺服器,則可以略過此步驟。對於 HTTP 代理伺服器,請在命令列輸入下列命令:
export http_proxy=http://hostname:portexport https_proxy=http://hostname:port對於 HTTPS 代理伺服器,請在命令列輸入下列命令:
export http_proxy=http://hostname:portexport https_proxy=https://hostname:port -
複製以下其中一個命令區塊並貼到 SSH。將預留位置值取代為混合啟用程序期間產生的啟用碼和啟用 ID,並將 取代為 AWS 區域 您要SSM Agent從中下載的識別符,然後按
Enter。重要
請注意以下重要詳細資訊:
-
對非 EC2 安裝使用
ssm-setup-cli,可最大限度地提高 Systems Manager 安裝和組態的安全性。 -
如果您是根使用者,則不需要
sudo。 -
ssm-setup-cli從與您的混合啟用建立位置 AWS 區域 相同的 下載。 -
ssm-setup-cli支援用於確定代理程式下載來源的manifest-url選項。除非您的組織需要,否則請勿為此選項指定值。 -
註冊執行個體時,請僅使用為
ssm-setup-cli提供的下載連結。ssm-setup-cli不應單獨存放以供日後使用。 -
您可以使用此處
提供的指令碼來驗證 ssm-setup-cli的簽章。
region代表 AWS 區域 支援的 識別符 AWS Systems Manager,例如us-east-2美國東部 (俄亥俄) 區域。如需支援的region值的清單,請參閱《Amazon Web Services 一般參考》中 Systems Manager 服務端點一節的區域欄位。此外,
ssm-setup-cli還包括下列選項:-
version:有效值為latest和stable。 -
downgrade:允許 SSM Agent 降級至較早的版本。指定true以安裝較早版本的代理程式。 -
skip-signature-validation:在下載和安裝代理程式期間略過簽章驗證。
-
mkdir /tmp/ssm curl https://amazon-ssm-region.s3.region.amazonaws.com/latest/linux_amd64/ssm-setup-cli -o /tmp/ssm/ssm-setup-cli sudo chmod +x /tmp/ssm/ssm-setup-cli sudo /tmp/ssm/ssm-setup-cli -register -activation-code "activation-code" -activation-id "activation-id" -region "region"
mkdir /tmp/ssm curl https://amazon-ssm-region.s3.region.amazonaws.com/latest/linux_amd64/ssm-setup-cli -o /tmp/ssm/ssm-setup-cli sudo chmod +x /tmp/ssm/ssm-setup-cli sudo /tmp/ssm/ssm-setup-cli -register -activation-code "activation-code" -activation-id "activation-id" -region "region"
mkdir /tmp/ssm curl https://amazon-ssm-region.s3.region.amazonaws.com/latest/debian_amd64/ssm-setup-cli -o /tmp/ssm/ssm-setup-cli sudo chmod +x /tmp/ssm/ssm-setup-cli sudo /tmp/ssm/ssm-setup-cli -register -activation-code "activation-code" -activation-id "activation-id" -region "region"
-
使用 .deb 套件
mkdir /tmp/ssm curl https://amazon-ssm-region.s3.region.amazonaws.com/latest/debian_amd64/ssm-setup-cli -o /tmp/ssm/ssm-setup-cli sudo chmod +x /tmp/ssm/ssm-setup-cli sudo /tmp/ssm/ssm-setup-cli -register -activation-code "activation-code" -activation-id "activation-id" -region "region" -
使用 Snap 套件
您不需要指定 URL 以供下載,因為
snap命令會自動從 Snap 應用程式商店下載代理程式,網址為 https://snapcraft.io 。 在 Ubuntu Server 20.04、18.04 和 16.04 LTS 上,SSM Agent 安裝程式檔案 (包括 Agent 二進位檔案和組態檔案) 存放在以下目錄中:
/snap/amazon-ssm-agent/current/。如果您變更此目錄中的任何組態檔案,則必須將這些檔案從/snap目錄複製到/etc/amazon/ssm/目錄。日誌和程式庫檔案未變更 (/var/lib/amazon/ssm、/var/log/amazon/ssm)。sudo snap install amazon-ssm-agent --classic sudo systemctl stop snap.amazon-ssm-agent.amazon-ssm-agent.service sudo /snap/amazon-ssm-agent/current/amazon-ssm-agent -register -code "activation-code" -id "activation-id" -region "region" sudo systemctl start snap.amazon-ssm-agent.amazon-ssm-agent.service重要
Snap 商店中的候選頻道包含最新版本的 SSM Agent,而不是穩定的頻道。如果您想追蹤候選頻道上的 SSM Agent 版本資訊,請在 Ubuntu Server 18.04 和 16.04 LTS 64 位元受管節點上執行下列命令。
sudo snap switch --channel=candidate amazon-ssm-agent
該命令會下載並安裝 SSM Agent 到混合多雲端環境中的啟用混合模式機器上。該命令會停止 SSM Agent,然後使用 Systems Manager 服務來註冊此機器。此機器現在是受管節點。為 Systems Manager 設定的 Amazon EC2 執行個體也是受管節點。不過,在 Systems Manager 主控台中,啟用混合模式節點的字首為 "mi-",有別於 Amazon EC2 執行個體。
繼續進行在混合 Windows Server 節點上安裝 SSM Agent。
設定私有金鑰自動輪換
若要強化您的安全狀態,您可以設定 AWS Systems Manager Agent (SSM Agent) 自動輪換混合多雲端環境的私有金鑰。您可以使用 SSM Agent 3.0.1031.0 版或更新版本來存取此功能。使用下列程序開啟此功能。
設定 SSM Agent 以輪換混合多雲端環境的私有金鑰
-
在 Linux 機器中導覽至
/etc/amazon/ssm/,或在 Windows 機器中導覽至C:\Program Files\Amazon\SSM。 -
將
amazon-ssm-agent.json.template的內容複製到名為amazon-ssm-agent.json的新檔案。將amazon-ssm-agent.json儲存在amazon-ssm-agent.json.template所在的相同目錄中。 -
查找
Profile、KeyAutoRotateDays。輸入您想要的自動私有金鑰輪換之間的天數。 -
重新啟動 SSM Agent。
每次變更組態時,請重新啟動 SSM Agent。
您可以使用相同的程序來自訂 SSM Agent 的其他功能。如需可用組態屬性及其預設值的最新清單,請參閱組態屬性定義
取消註冊並重新註冊受管節點 (Linux)
您可以從 AWS CLI 或 Tools for Windows PowerShell 呼叫 DeregisterManagedInstance API 操作,取消註冊混合啟用的受管節點。以下是範例 CLI 命令:
aws ssm deregister-managed-instance --instance-id
"mi-1234567890"
若要移除代理程式的剩餘註冊資訊,請移除 amazon-ssm-agent.json 檔案中的 IdentityConsumptionOrder 索引鍵。接著,根據您的執行個體類型,執行下列其中一個命令。
在使用 Snap 套件安裝 SSM Agent 的 Ubuntu Server 節點上:
sudo /snap/amazon-ssm-agent/current/amazon-ssm-agent -register -clear
在所有其他 Linux 安裝上:
amazon-ssm-agent -register -clear
注意
只要您尚未達到指定啟用代碼和 ID 的執行個體限制,您就可以使用相同的啟用代碼和 ID,重新註冊內部部署伺服器、邊緣裝置或 VM。您可以使用 AWS CLI呼叫 describe-activations API,來驗證啟用代碼和 ID 的執行個體限制。執行命令後,驗證 RegistrationCount 的值是否不超過 RegistrationLimit。如果超過,您必須使用其他啟用代碼和 ID。
在非 EC2 Linux 機器上重新註冊受管節點
-
連線至您的機器。
-
執行下列命令。務必使用您在建立受管節點啟用時產生的啟用代碼和啟用 ID 以及您想要從中下載 SSM Agent 的區域識別碼,取代預留位置的值。
echo "yes" | sudo /tmp/ssm/ssm-setup-cli -register -activation-code "activation-code" -activation-id "activation-id" -region "region
診斷並解決在 EC2 Linux 機器上安裝 SSM Agent 的問題
使用以下資訊,解決在混合多雲端環境中的啟用混合模式 Linux 機器上安裝 SSM Agent 的問題。
您會收到 DeliveryTimedOut 錯誤
問題:將機器設定為個別的 AWS 帳戶 受管節點時 AWS 帳戶,您會在執行命令以在目標機器SSM Agent上安裝 DeliveryTimedOut後收到 。
解決方案:DeliveryTimedOut 是此情況的預期回應代碼。在目標節點上安裝 SSM Agent 的命令會變更來源節點的節點 ID。因為節點 ID 已變更,所以來源節點無法回覆在執行時命令已失敗、已完成或已逾時的目標節點。
無法載入節點關聯
問題:執行安裝命令之後,您會在 SSM Agent 錯誤日誌中看到下列錯誤:
Unable to load instance associations, unable to retrieve associations
unable to retrieve associations error occurred in
RequestManagedInstanceRoleToken: MachineFingerprintDoesNotMatch: Fingerprint
doesn't match
如果機器 ID 在重新開機後未持續存在,則會看到此錯誤。
解決方案:若要解決此問題,請執行下列命令。此命令會強制機器 ID 在重新開機後持續存在。
umount /etc/machine-id systemd-machine-id-setup