2018年8月22日水曜日

ハイブリッド環境に SSMエージェントをインストール


下記URLを参考にVirtualBoxのCentOS7に SSMエージェントをインストールしてみます。
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/systems-manager-managedinstances.html


1.IAMロールの作成


SSMService-Trust.json のファイル名で下記内容を保存します。
{
  "Version": "2012-10-17",
  "Statement": {
    "Effect": "Allow",
    "Principal": {"Service": "ssm.amazonaws.com"},
    "Action": "sts:AssumeRole"
  }
}

IAMロール(SSMServiceRole)を作成します。
[root@centos701 ~]# aws iam create-role --role-name SSMServiceRole --assume-role-policy-document file://SSMService-Trust.json

ポリシーを設定します。
[root@centos701 ~]# aws iam attach-role-policy --role-name SSMServiceRole --policy-arn arn:aws:iam::aws:policy/AmazonSSMFullAccess

2.SSMエージェントインストール


SSMエージェントをダウンロードします。
[root@centos701 ~]# curl -OL https://s3.region.amazonaws.com/amazon-ssm-region/latest/linux_amd64/amazon-ssm-agent.rpm

rpm をインストールします。
[root@centos701 ~]# rpm -ivh amazon-ssm-agent.rpm

3.アクティベーション


アクティベーションを作成します。
[root@centos701 ~]# aws ssm create-activation --default-instance-name vm701 --iam-role SSMServiceRole --registration-limit 1 --expiration-date 2018-08-31
{
    "ActivationCode": "nTlEimuyjNkjt8vw8axz",
    "ActivationId": "c9675763-7207-4a9a-811a-f507bb01b38f"
}

SSMエージェントを停止します。
[root@centos701 ~]# systemctl stop amazon-ssm-agent

ActivationCode, ActivationID を指定して、VMをマネージドインスタンスとして登録します。
下記例では、登録情報を上書きするか質問されていますが、初めて登録する場合は、質問されません。
今回は2回目の登録なので、上書きするか質問されています。
[root@centos701 ~]# amazon-ssm-agent -register -code "nTlEimuyjNkjt8vw8axz" -id "c9675763-7207-4a9a-811a-f507bb01b38f" -region "us-east-1"
Error occurred fetching the seelog config file path:  open /etc/amazon/ssm/seelog.xml: no such file or directory
Initializing new seelog logger
New Seelog Logger Creation Complete

Instance already registered. Would you like to override existing with new registration information? [Yes/No]: Yes
2018-08-22 21:12:26 INFO Successfully registered the instance with AWS SSM using Managed instance-id: mi-0e5589860c747f3ea

SSMエージェントを起動します。
[root@centos701 ~]# systemctl start amazon-ssm-agent

以下のように、VMがSSM管理のインスタンスとして登録されます。
[root@centos701 ~]# aws ssm describe-instance-information
{
    "InstanceInformationList": [
        {
            "IsLatestVersion": true,
            "IamRole": "SSMServiceRole",
            "ComputerName": "centos701",
            "PingStatus": "Online",
            "Name": "vm701",
            "InstanceId": "mi-0e5589860c747f3ea",
            "IPAddress": "10.0.2.15",
            "ResourceType": "ManagedInstance",
            "ActivationId": "c9675763-7207-4a9a-811a-f507bb01b38f",
            "AgentVersion": "2.3.13.0",
            "PlatformVersion": "7",
            "RegistrationDate": 1534939946.19,
            "PlatformName": "CentOS Linux",
            "PlatformType": "Linux",
            "LastPingDateTime": 1534940279.653
        }
    ]
}