~~NOCACHE~~
## ハイブリットアクティベーション
オンプレや他クラウドサービスなどの端末をssm管理下にするハイブリットアクティベーションの手順を記載します。
### アクティベーションの作成
#### AWS Systems Manager > アクティベーション > アクティベーションの作成
以下の情報を入力して[アクティベーションの作成]をクリックします。
★が必須、他は特に要件が無ければ空欄で良い
★アクティベーションの説明- オプション:表示名なので好きな値を入力
★インスタンス制限:アクティベートする台数を入力
★IAM ロール:システムによって作成されたデフォルトのロール(AmazonEC2RunCommandRoleForManagedInstances)を選択
・アクティベーションの有効期限:必要に応じてアクティベートの有効期限を入力します
・デフォルトのインスタンス名- オプション:Nameタグです。後からでも編集可能
{{:Aws:SystemsManager:pasted:20210306-212041.png?direct 400x0}}
AmazonEC2RunCommandRoleForManagedInstancesは、以下の権限のサービスロールです。
命名規則などで縛りが無ければこのロールで良いと思います。
・信頼されたエンティティ:ec2.amazonaws.com
・ポリシー
CloudWatchAgentAdminPolicy
CloudWatchAgentServerPolicy
#### アクティベーション情報を控える
アクティベーションの作成を実行すると下記の画面が表示されるので、赤枠のCodeとIDを控えます。
{{:Aws:SystemsManager:pasted:20210306-212722.png?direct 600x0}}
### アクティベート
#### Windows
公式ページの手順そのままです。
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/sysman-install-managed-win.html
PowerShellを管理者で実行して、下記コマンドを実行します。ハイライト行は自身の環境に置き換えます。
$code = "activation-code"
$id = "activation-id"
$region = "region"
$dir = $env:TEMP + "\ssm"
New-Item -ItemType directory -Path $dir -Force
cd $dir
(New-Object System.Net.WebClient).DownloadFile("https://amazon-ssm-$region.s3.$region.amazonaws.com/latest/windows_386/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"
※再登録を行いたい場合は「C:\ProgramData\Amazon\SSM\InstanceData」配下のファイルを全て削除すること
#### Linux (RHEL 8.xを例にしています。)
公式ページの手順そのままです。
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/sysman-install-managed-linux.html
ssh接続して、下記コマンドを実行します。ハイライト行は自身の環境に置き換えます。
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
※再登録を行いたい場合は「/var/lib/amazon/ssm」配下のファイルを全て削除すること
### アクティベート確認
#### AWS Systems Manager > アクティベーション
登録済みインスタンスが追加されます。※登録が完了したらアクティベーション画面の項目は削除しても問題ありません。
{{:Aws:SystemsManager:pasted:20210306-214335.png?direct 600x0}}
#### AWS Systems Manager > フリートマネージャー
登録済みインスタンスが追加されます。
{{:Aws:SystemsManager:pasted:20210306-214437.png?direct 600x0}}
### 登録の解除
#### AWS Systems Manager > フリートマネージャー
対象のインスタンスを選択して、インスタンスアクションから[このマネージドインスタンスの登録を解除する]を選択します。
{{:Aws:SystemsManager:pasted:20210306-220303.png?direct 600x0}}
{{tag>AWS ハイブリットアクティベーション マネージドインスタンス フリーとマネージャー SSm}}