在 Ubuntu Server 執行個體上手動安裝 SSM Agent - AWS Systems Manager

在 Ubuntu Server 執行個體上手動安裝 SSM Agent

連線至您的 Ubuntu Server 執行個體並執行下列步驟,以安裝 AWS Systems Manager Agent (SSM Agent)。在將使用 Systems Manager 執行命令的每個執行個體上執行這些步驟。

關於在 64 位元 Ubuntu Server 16.04 執行個體上安裝 SSM Agent

從 Ubuntu Server 16.04 Amazon Machine Images (AMIs) (識別符為 20180627) 所建立的執行個體開始,會使用 Snap 套件預先安裝 SSM Agent。例如:ubuntu/images/hvm-ssd/ubuntu-xenial-16.04-amd64-server-20180627。在從較舊的 AMIs 中建立的執行個體上,您應該繼續使用 deb 安裝程式套件。

對於從 64 位元 Ubuntu Server 16.04 AMI 中建立的執行個體,請務必遵循適合您的 SSM Agent 安裝類型的正確程序:

重要

請注意,如果執行個體有多個 SSM Agent 安裝 (例如,一個安裝使用 Snap,一個安裝使用 deb 安裝程式),您的代理程式將無法正常運作。

您可以使用下列任一種方法來驗證執行個體的來源 AMI ID。這些程序僅適用於 AWS 受管 AMIs。

驗證來源 AMI ID 建立日期 (主控台)

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在左側導覽窗格中選擇 Instances (執行個體)

  3. 選取執行個體。

  4. Description (描述) 索引標籤上,檢查 AMI ID 欄位中該值的 YYYYMMDD 識別符。例如:ubuntu/images/hvm-ssd/ubuntu-xenial-16.04-amd64-server-20180627

驗證來源 AMI ID 建立日期 (AWS CLI)

  • 執行下列命令。

    aws ec2 describe-images --image-id ami-id

    ami-id 表示 AWS 提供的 AMI 的 ID,例如 ami-07c8bc5c1ce9598c3

    如果成功,命令會傳回如下資訊,您可以在其中檢查 CreationDateName 欄位以取得資訊。

    {
        "Images": [
            {
                "Architecture": "x86_64",
                "CreationDate": "2020-07-24T20:40:27.000Z",
                "ImageId": "ami-07c8bc5c1ce9598c3",
    -- truncated --
                "ImageOwnerAlias": "amazon",
                "Name": "amzn2-ami-hvm-2.0.20200722.0-x86_64-gp2",
                "RootDeviceName": "/dev/xvda",
                "RootDeviceType": "ebs",
                "SriovNetSupport": "simple",
                "VirtualizationType": "hvm"
            }
        ]
    }

在 Ubuntu Server 執行個體上安裝 SSM Agent

Ubuntu Server 20.10 STR & 20.04, 18.04, and 16.04 LTS 64-bit (Snap)

在 Ubuntu Server 20.10 STR、20.04、18.04 和 16.04 LTS 64 位元執行個體上安裝 SSM Agent (包含 Snap 套件)

  1. SSM Agent 預設安裝在 Ubuntu Server 20.04、18.04 和 16.04 LTS 64 位元 AMIs 上,識別符為 20180627 或以上。

    如果您需要在現場部署伺服器上安裝 SSM Agent 或者如果您需要重新安裝代理程式,您可以使用以下指令碼。您不需要指定 URL 以供下載,因為 snap 命令會自動從 Snap 應用程式商店下載代理程式,網址為 https://snapcraft.io

    sudo snap install amazon-ssm-agent --classic
    重要

    Snap 商店中的候選頻道包含最新版本的 SSM Agent (包括所有最新錯誤修正);而不是穩定的頻道。若要進一步了解候選頻道和穩定頻道之間的差異,請參閱风险層級,網址為 https://snapcraft.io/docs/channels

    如果您想追蹤候選頻道上的 SSM Agent 版本資訊,請在 Ubuntu Server 20.10 STR、20.04、18.04 和 16.04 LTS 64 位元執行個體上執行下列命令。

    sudo snap switch --channel=candidate amazon-ssm-agent
    注意

    請注意 Ubuntu Server 20.10 STR、20.04、18.04 和 16.04 LTS 上的 SSM Agent 的以下詳細資訊:

    • 由於 Snap 的已知問題,您可能會看到 Maximum timeout exceeded 命令的 snap 錯誤。如果您收到此錯誤,請一次執行下列一個命令來啟動、停止代理程式和檢查其狀態:

      sudo systemctl start snap.amazon-ssm-agent.amazon-ssm-agent.service
      sudo systemctl stop snap.amazon-ssm-agent.amazon-ssm-agent.service
      sudo systemctl status snap.amazon-ssm-agent.amazon-ssm-agent.service
    • 在 Ubuntu Server 20.10 STR、20.04、18.04 和 16.04 LTS 上,SSM Agent 安裝程式檔案 (包括代理程式二進位程式碼和組態檔案) 存放在以下目錄中:/snap/amazon-ssm-agent/current/。如果您變更此目錄中的任何組態檔案,則必須將這些檔案從 /snap 目錄複製到 /etc/amazon/ssm/ 目錄。日誌和程式庫檔案未變更 (/var/lib/amazon/ssm/var/log/amazon/ssm)。

    • 在 Ubuntu Server 20.10 STR、20.04 和 18.04 LTS 上,我們建議您僅使用 Snaps。另外驗證代理程式只有一個執行個體在您的執行個體上安裝和執行。如果您想要在沒有 Snaps 的情況下使用 SSM Agent,請解除安裝 SSM Agent。然後安裝 SSM Agent 作為 Debian 套件,並確保您安裝的任何 Snaps 不會與您想要作為 Debian 套件進行管理的套件清單重疊。

    • 在 Ubuntu Server 20.10 STR、20.04、18.04 和 16.04 LTS 上,SSM Agent 支援 arm64 處理器架構。

    • 依 16.04 AMI 的版本而定,在 Ubuntu Server 16.04 上,使用 Snaps 或 deb 安裝套件來安裝 SSM Agent。

  2. 執行下列命令來判斷 SSM Agent 是否在執行。

    sudo snap list amazon-ssm-agent
  3. 若之前的命令傳回 amazon-ssm-agent is stoppedinactivedisabled,請執行以下命令,以啟動服務。

    sudo snap start amazon-ssm-agent
  4. 檢查代理程式的狀態。

    sudo snap services amazon-ssm-agent
Ubuntu Server 16.04 and 14.04 64-bit (deb)

在 Ubuntu Server 16.04 和 14.04 64 位元執行個體上安裝 SSM Agent (包含 deb 安裝程式套件)

  1. 如果您需要在現場部署伺服器上安裝 SSM Agent 或者如果您需要重新安裝代理程式,您可以使用以下指令碼。

    重要

    SSM Agent 預設安裝在從 Ubuntu Server 16.04 LTS 64 位元 AMIs 中建立的執行個體上,識別符為 20180627 或以上。從 AMIs 中建立的執行個體,具有較早的識別符,例如 20171121.120180522,應該繼續使用 deb 安裝程式。

    如果 SSM Agent 是安裝在您的執行個體搭配 Snap 並且使用 deb 安裝程式套件安裝或更新 SSM Agent,安裝或 SSM Agent 操作可能會失敗。

    在執行個體上建立暫時的目錄:

    mkdir /tmp/ssm

    變更為暫時的目錄。

    cd /tmp/ssm

    執行下列命令。

    region 代表 AWS Systems Manager 支援之 AWS 區域 的識別符,例如 us-east-2 代表美國東部 (俄亥俄) 區域。如需 region 值的清單,請參閱《Amazon Web Services 一般參考》中 Systems Manager 服務端點中的 Region (區域) 資料欄。

    wget https://s3.region.amazonaws.com/amazon-ssm-region/latest/debian_amd64/amazon-ssm-agent.deb
    sudo dpkg -i amazon-ssm-agent.deb
  2. 執行下列其中一個命令來判斷 SSM Agent 是否正在執行。

    Ubuntu Server 16.04:

    sudo systemctl status amazon-ssm-agent

    Ubuntu Server 14.04:

    sudo status amazon-ssm-agent
  3. 若之前的命令傳回 amazon-ssm-agent is stoppedinactivedisabled,請執行以下其中一個命令來啟動服務。

    Ubuntu Server 16.04:

    sudo systemctl enable amazon-ssm-agent

    Ubuntu Server 14.04:

    sudo start amazon-ssm-agent
  4. 執行以下其中一個命令來檢查代理程式的狀態。

    Ubuntu Server 16.04:

    sudo systemctl status amazon-ssm-agent

    Ubuntu Server 14.04:

    sudo status amazon-ssm-agent
Ubuntu Server 16.04 and 14.04 32-bit

在 Ubuntu Server 16.04 和 14.04 32 位元執行個體上安裝 SSM Agent

  1. 在執行個體上建立暫時的目錄:

    mkdir /tmp/ssm

    變更為暫時的目錄。

    cd /tmp/ssm

    執行下列命令。

    region 代表 AWS Systems Manager 支援之 AWS 區域 的識別符,例如 us-east-2 代表美國東部 (俄亥俄) 區域。如需 region 值的清單,請參閱《Amazon Web Services 一般參考》中 Systems Manager 服務端點中的 Region (區域) 資料欄。

    wget https://s3.region.amazonaws.com/amazon-ssm-region/latest/debian_386/amazon-ssm-agent.deb
    sudo dpkg -i amazon-ssm-agent.deb
  2. 執行下列命令來判斷 SSM Agent 是否在執行。

    sudo status amazon-ssm-agent
  3. 若之前的命令傳回 amazon-ssm-agent is stoppedinactivedisabled,請執行下列命令。

    1. 啟動代理程式。

      sudo start amazon-ssm-agent
    2. 檢查代理程式的狀態。

      sudo status amazon-ssm-agent
注意

如果無法從您指定的 AWS 區域 中下載代理程式,請使用下列其中一個全域 URL。即使下列 URL 顯示 'ec2-downloads-windows',這些仍是 Linux 作業系統的正確 URL。

  • Intel 64-bit (x86_64)

    https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/debian_amd64/amazon-ssm-agent.deb
  • Intel 32-bit (x86)

    https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/debian_386/amazon-ssm-agent.deb
重要

當新功能新增至 Systems Manager,或對現有功能更新時,會推出 SSM Agent 的新版本。如果執行個體上執行較舊版本的代理程式,有些 SSM Agent 程序可能會失敗。因此,我們建議您讓您的執行個體上的 SSM Agent 自動保持於最新狀態。如需相關資訊,請參閱「自動化 SSM Agent 更新」。請訂閱 GitHub 上的 SSM Agent 版本備註頁面,以收到 SSM Agent 更新的通知。