ステップ 5: ハイブリッド環境に SSM エージェントをインストールする (Linux) - AWS Systems Manager

ステップ 5: ハイブリッド環境に SSM エージェントをインストールする (Linux)

このトピックでは、ハイブリッド環境の Linux マシンに AWS Systems Manager SSM Agent をインストールする方法について説明します。ハイブリッド環境で Windows Server マシンを使用する場合は、次のステップである「ステップ 6: ハイブリッド環境に SSM エージェントをインストールする (Windows)」を参照してください。

重要

この手順では、オンプレミス環境やハイブリッド環境のサーバーおよび仮想マシン (VM) を対象としています。Linux 用の EC2 インスタンスで SSM エージェントをダウンロードおよびインストールする場合は、「EC2 インスタンスでの SSM エージェントのインストールと設定 (Linux 用)」を参照してください。

開始する前に、ステップ 4: ハイブリッド環境のマネージドインスタンスのアクティベーションを作成する でマネージドインスタンスのアクティベーションを先ほど完了した後に送信されたアクティベーションコードとアクティベーション ID を見つけます。このコードと ID を次の手順で指定します。

以下のスクリプトの URL では、すべての AWS リージョン から SSM Agent をダウンロードできます。特定のリージョンからエージェントをダウンロードする場合は、オペレーティングシステムの URL をコピーし、region を適切な値に置き換えます。

region は、米国東部 (オハイオ) リージョンの us-east-2 のように、AWS Systems Manager でサポートされている AWS リージョン の識別子を表します。サポートされている region 値の一覧については、アマゾン ウェブ サービスの全般リファレンスの「Systems Manager サービスエンドポイント」にある Region 列を参照してください。

例えば、米国西部 (北カリフォルニア) リージョン (us-west-1) から、Amazon Linux、RHEL、CentOS、および SLES 64 ビット版の SSM エージェントをダウンロードするには、次の URL を使用します。

https://s3.us-west-1.amazonaws.com/amazon-ssm-us-west-1/latest/linux_amd64/amazon-ssm-agent.rpm
Amazon Linux 2, Amazon Linux, RHEL, Oracle Linux, CentOS, and SLES
  • Intel 64-bit (x86_64)

    https://s3.region.amazonaws.com/amazon-ssm-region/latest/linux_amd64/amazon-ssm-agent.rpm

  • Intel 32-bit (x86)

    https://s3.region.amazonaws.com/amazon-ssm-region/latest/linux_386/amazon-ssm-agent.rpm

  • ARM 64-bit (arm64)

    https://s3.region.amazonaws.com/amazon-ssm-region/latest/linux_arm64/amazon-ssm-agent.rpm

Ubuntu Server
  • Intel 64-bit (x86_64)

    https://s3.region.amazonaws.com/amazon-ssm-region/latest/debian_amd64/amazon-ssm-agent.deb

  • Intel 32-bit (x86)

    https://s3.region.amazonaws.com/amazon-ssm-region/latest/debian_386/amazon-ssm-agent.deb

Debian Server
  • Intel 64-bit (x86_64)

    ttps://s3.region.amazonaws.com/amazon-ssm-region/latest/debian_amd64/amazon-ssm-agent.deb

  • ARM 64-bit (arm64)

    https://s3.region.amazonaws.com/amazon-ssm-region/latest/debian_arm64/amazon-ssm-agent.deb

Raspbian
  • https://s3.region.amazonaws.com/amazon-ssm-region/latest/debian_arm/amazon-ssm-agent.deb

ハイブリッド環境のサーバーおよび VM に SSM エージェントをインストールするには

  1. ハイブリッド環境のサーバーまたは VM にログオンします。

  2. HTTP または HTTPS プロキシを使用する場合は、現在のシェルセッションで http_proxy または https_proxy の環境変数を設定する必要があります。プロキシを使用していない場合は、この手順を省略できます。

    HTTP プロキシサーバーの場合は、コマンドラインで次のコマンドを入力します。

    export http_proxy=http://hostname:port export https_proxy=http://hostname:port

    HTTPS プロキシサーバの場合は、コマンドラインで次のコマンドを入力します。

    export http_proxy=http://hostname:port export https_proxy=https://hostname:port
  3. SSH に以下のコマンドブロックをコピーアンドペーストします。プレースホルダー値の代わりに、マネージドインスタンスのアクティベーションの作成時に生成されたアクティベーションコードとアクティベーション ID、および SSM Agent のダウンロード元の AWS リージョン の識別子を入力し、Enter を押します。

    注記

    次の重要な詳細に留意してください。

    • root ユーザーの場合は sudo が必要ありません。

    • 各コマンドブロックは、sudo -E amazon-ssm-agent を指定します。-E が必要になるのは、HTTP または HTTPS プロキシ環境変数を設定した場合のみです。

    region は、米国東部 (オハイオ) リージョンの us-east-2 のように、AWS Systems Manager でサポートされている AWS リージョン の識別子を表します。サポートされている region 値の一覧については、アマゾン ウェブ サービスの全般リファレンスの「Systems Manager サービスエンドポイント」にある Region 列を参照してください。

mkdir /tmp/ssm curl https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm -o /tmp/ssm/amazon-ssm-agent.rpm sudo yum install -y /tmp/ssm/amazon-ssm-agent.rpm sudo stop amazon-ssm-agent sudo -E amazon-ssm-agent -register -code "activation-code" -id "activation-id" -region "region" sudo start amazon-ssm-agent
mkdir /tmp/ssm curl https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm -o /tmp/ssm/amazon-ssm-agent.rpm sudo yum install -y /tmp/ssm/amazon-ssm-agent.rpm sudo systemctl stop amazon-ssm-agent sudo -E amazon-ssm-agent -register -code "activation-code" -id "activation-id" -region "region" sudo systemctl start amazon-ssm-agent
mkdir /tmp/ssm curl https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm -o /tmp/ssm/amazon-ssm-agent.rpm sudo dnf install -y /tmp/ssm/amazon-ssm-agent.rpm sudo systemctl stop amazon-ssm-agent sudo -E amazon-ssm-agent -register -code "activation-code" -id "activation-id" -region "region" sudo systemctl start amazon-ssm-agent
mkdir /tmp/ssm wget https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/debian_amd64/amazon-ssm-agent.deb -O /tmp/ssm/amazon-ssm-agent.deb sudo dpkg -i /tmp/ssm/amazon-ssm-agent.deb sudo service amazon-ssm-agent stop sudo -E amazon-ssm-agent -register -code "activation-code" -id "activation-id" -region "region" sudo service amazon-ssm-agent start
mkdir /tmp/ssm sudo curl https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/debian_arm/amazon-ssm-agent.deb -o /tmp/ssm/amazon-ssm-agent.deb sudo dpkg -i /tmp/ssm/amazon-ssm-agent.deb sudo service amazon-ssm-agent stop sudo -E amazon-ssm-agent -register -code "activation-code" -id "activation-id" -region "region" sudo service amazon-ssm-agent start
mkdir /tmp/ssm sudo wget https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm sudo rpm --install amazon-ssm-agent.rpm sudo systemctl stop amazon-ssm-agent sudo -E amazon-ssm-agent -register -code "activation-code" -id "activation-id" -region "region" sudo systemctl enable amazon-ssm-agent sudo systemctl start amazon-ssm-agent
  • .deb パッケージを使用

    mkdir /tmp/ssm curl https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/debian_amd64/amazon-ssm-agent.deb -o /tmp/ssm/amazon-ssm-agent.deb sudo dpkg -i /tmp/ssm/amazon-ssm-agent.deb sudo service amazon-ssm-agent stop sudo -E amazon-ssm-agent -register -code "activation-code" -id "activation-id" -region "region" sudo service amazon-ssm-agent start
  • スナップパッケージを使用

    ダウンロードの URL を指定する必要はありません。snap コマンドでは、エージェントが Snap アプリストア https://snapcraft.io から自動的にダウンロードされます。

    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 エージェントの最新バージョンが含まれています。候補チャンネルの SSM エージェントのバージョン情報を追跡する場合は、Ubuntu Server 18.04、16.04 LTS 64 ビットインスタンスで次のコマンドを実行します。

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

このコマンドは、ハイブリッド環境のサーバーまたは VM に SSM エージェントをダウンロードしてインストールします。コマンドは、SSM Agent を停止してから、サーバーまたは VM を Systems Manager サービスに登録します。これで、サーバーまたは VM はマネージドインスタンスになりました。Systems Manager 用に設定されている Amazon EC2 インスタンスも、マネージドインスタンスです。ただし、Systems Manager コンソールでは、オンプレミスインスタンスは、プレフィックス「mi-」が付いている Amazon EC2 インスタンスとは区別されます。

ステップ 6: ハイブリッド環境に SSM エージェントをインストールする (Windows)」に進んでください。

プライベートキーの自動ローテーションを設定する

セキュリティ体制を強化するには、AWS Systems Manager Agent (SSM Agent) を設定して、ハイブリッド環境のプライベートキーを自動的にローテーションさせます。SSM Agent バージョン 3.0.1031.0 以降を使用すると、この機能にアクセスできます。次の手順に従ってこの機能を有効にします。

ハイブリッド環境のプライベートキーをローテーションするように SSM Agent を設定するには

  1. Linux マシンで /etc/amazon/ssm/、または Windows マシンでは C:\Program Files\Amazon\SSM に移動します。

  2. amazon-ssm-agent.json.template の内容を amazon-ssm-agent.json という名前の新ファイルにコピーします。amazon-ssm-agent.json.template と同じディレクトリに amazon-ssm-agent.json を保存します。

  3. ProfileKeyAutoRotateDays を探す プライベートキーの自動ローテーション間隔の日数を入力します。

  4. SSM Agent を再起動します。

設定を変更するたびに、SSM Agent を再起動します。

同じ手順で、SSM Agent の他の機能もカスタマイズできます。使用可能な設定プロパティとそのデフォルト値の最新リストについては、「Config Property Definitions (設定プロパティの定義)」を参照してください。

マネージドインスタンスの登録解除と再登録

マネージドインスタンスの登録を解除するには、 AWS CLI または Tools for Windows PowerShell のいずれかから DeregisterManagedInstance API オペレーションを呼び出します。以下に CLI コマンドの例を示します。

aws ssm deregister-managed-instance --instance-id "mi-1234567890"

マネージドインスタンスは、登録解除した後に再登録できます。マネージドインスタンスを再登録するには、以下の手順を使用します。手順を完了すると、お使いのマネージドインスタンスがマネージドインスタンスのリストに再び表示されます。

Linux ハイブリッドマシンでマネージインスタンスを再登録するには

  1. インスタンスに接続します。

  2. amazon-ssm-agent を検索して実行します。

  3. SSM エージェントをアンインストールするオプションを選択します。

  4. このトピックの手順を繰り返して、SSM エージェントをインストールします。

Linux ハイブリッド環境で SSM エージェントのインストールをトラブルシューティングします。

次の情報は、Linux ハイブリッド環境で SSM エージェントをインストールする際の問題のトラブルシューティングに役立ちます。

DeliveryTimedOut エラーの発生

問題: ある AWS アカウント の Amazon EC2 インスタンスを別の AWS アカウント のマネージドインスタンスとして設定すると、ターゲットインスタンスに SSM Agent をインストールするコマンドを実行した後に DeliveryTimedOut が表示されます。

解決方法: DeliveryTimedOut がこのシナリオで予想される応答コードです。ターゲットインスタンスに SSM エージェントをインストールするコマンドは、ソースインスタンスのインスタンス ID を変更します。インスタンス ID が変更されたため、ソースインスタンスは、実行中にコマンドが失敗した、完了した、またはタイムアウトしたことをターゲットインスタンスに返信できません。

インスタンスの関連付けをロードできません

問題: インストールコマンドを実行した後、SSM エージェントのエラーログに次のエラーが表示されます。

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