オンプレミスの物理サーバやVM環境 (VMware などの仮想化マシン)に SSM エージェントをインストールして管理する方法を紹介します。
(以下オンプレミスサーバと略します)
EC2インスタンスではないため IAM ロールを使用できません。よってSystem ManagerでアクティベーションコードとアクティベーションIDを取得し、オンプレミスサーバをアクティベーションIDを使用して System Manager に登録する必要があります。
以下手順を紹介します。
(1)System Manager で物理サーバ用の「アクティベーション」を作成します。
必要なロールは事前に作成しておきます。作成するロールにはポリシー:「AmazonEC2RoleforSSM」を指定します。
信頼関係を以下の通り修正します。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "ssm.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
(2)アクティベーションを作成する。一度しか表示されません。
「必要な権限を備えた既存のカスタム IAM ロールを選択」には上記で作成したロールを指定します。
シークレットアクセスキーと同様にとても重要なので厳重に管理します。
Activation Code と Activation ID が表示されるが"Activation Code"は再度表示できないようなので厳重にメモをしておきます。
(3)オンプレミスサーバで以下の登録シェルを実行します。
例えば Windows サーバの場合は以下のページを参考に Powershellコードを実行します。
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/sysman-install-managed-win.html
$code = "********************"
$id = "********-****-****-****-************"
$region = "ap-northeast-1"
$dir = $env:TEMP + "\ssm"
New-Item -ItemType directory -Path $dir -Force
cd $dir
(New-Object System.Net.WebClient).DownloadFile("https://amazon-ssm-$region.s3.amazonaws.com/latest/windows_amd64/AmazonSSMAgentSetup.exe", $dir + "\AmazonSSMAgentSetup.exe")
Start-Process .\AmazonSSMAgentSetup.exe -ArgumentList @("/q", "/log", "install.log", "CODE=$code", "ID=$id", "REGION=$region") -Wait
Get-Content ($env:ProgramData + "\Amazon\SSM\InstanceData\registration")
Get-Service -Name "AmazonSSMAgent"
【超重要】本ページは情報が古くなっている可能性があります。参考程度にしてください。
[ 一覧に戻る]