AWS/EC2

Amazon EC2 Systems Manager - 사전조건, 설치

겸겸사 2017. 2. 2. 10:56

ㅁ Amazon EC2 System Manager?


 - Amazon EC2 Systems Manager는 확장 시 시스템 인벤토리 수집, 운영 체제(OS) 패치 적용, AMI(Amazon Machine Image) 생성 자동화, 운영 체제(OS) 및 애플리케이션 구성과 같은 관리 작업의 자동화에 도움이 되는 기능 모음

 - Systems Manager는 온프레미스 환경에서 Systems Manager용으로 구성되어 있는 관리형 인스턴스인 Amazon EC2 인스턴스 또는 서버 및 가상 머신(VM)과 함께 작동


 작업의 자동화에 도움이 되는 기능 모음 이라 정의되어 있음



ㅁ 기본 지원하는 AMI 버전


 - Windows 


2016년 11월 이후에 발표된 Windows Server 2003-2012 R2 AMI(Amazon Machine Image)에서 생성된 인스턴스, Windows Server 2016 인스턴스

SSM Agent는 기본적으로 Windows Server 2016 인스턴스와 2016년 11월 이후에 발표된 Windows Server 2003-2012 R2 AMI에서 생성된 인스턴스에 설치


2016년 11월 이전에 발표된 Windows Server 2003-2012 R2 인스턴스에서 EC2Config 서비스는 Systems Manager 요청을 처리하고 요청에 지정된 대로 시스템을 구성

2016년 11월 이후에 발표된 Systems Manager 기능을 사용하려면 EC2Config 서비스를 버전 2.0.533.0 이상으로 업그레이드

EC2Config를 업그레이드하면 SSM Agent와 EC2Config의 최신 버전도 나란히 설치


 - Linux


64비트 및 32비트 시스템


Amazon Linux 2014.09, 2014.03 이상

Ubuntu Server 16.0.4 LTS, 14.04 LTS 또는 12.04 LTS

Red Hat Enterprise Linux(RHEL) 6.5 이상

CentOS 6.3 이상



64비트 시스템 전용


Amazon Linux 2015.09, 2015.03 이상

Red Hat Enterprise Linux(RHEL) 7.x 이상

CentOS 7.1 이상



ㅁ SSM Agent 설치


이 SSM 이라는 놈을 사용하려면 OS에 SSM Agent 가 설치되어 있어야 함


 - Windows


Windows 는 2016년 11월 이후 발표된 2003 ~ 2012 R2 AMI, 2016 AMI 는 기본적으로 SSM이 설치되어 있으며, 해당 기간전에 만들어진 AMI 에는 EC2Config  서비스를 통해서 SSM 을 운영할수 있음, EC2Config 버전은 2.0.533.0 이상이여야하며 버전이 낮을경우 업그레이드를 하면 됨


 - Linux


1. Userdata 를 이용하여서 설치


스타트업에서 SSM 에이전트 설치

Amazon Linux, RHEL, CentOS 64비트

#!/bin/bash
cd /tmp
curl https://amazon-ssm-region.s3.amazonaws.com/latest/linux_amd64/amazon-ssm-agent.rpm -o amazon-ssm-agent.rpm
yum install -y amazon-ssm-agent.rpm

Amazon Linux, RHEL, CentOS 32비트

#!/bin/bash
cd /tmp
curl https://amazon-ssm-region.s3.amazonaws.com/latest/linux_386/amazon-ssm-agent.rpm -o amazon-ssm-agent.rpm
yum install -y amazon-ssm-agent.rpm

Ubuntu Server 16 64비트

#!/bin/bash
cd /tmp			
curl https://amazon-ssm-region.s3.amazonaws.com/latest/debian_amd64/amazon-ssm-agent.deb -o amazon-ssm-agent.deb
dpkg -i amazon-ssm-agent.deb
systemctl start amazon-ssm-agent

Ubuntu Server 16 32비트

#!/bin/bash
cd /tmp			
curl https://amazon-ssm-region.s3.amazonaws.com/latest/debian_386/amazon-ssm-agent.deb -o amazon-ssm-agent.deb
dpkg -i amazon-ssm-agent.deb
systemctl start amazon-ssm-agent

Ubuntu Server 14 64비트

#!/bin/bash
cd /tmp			
curl https://amazon-ssm-region.s3.amazonaws.com/latest/debian_amd64/amazon-ssm-agent.deb -o amazon-ssm-agent.deb
dpkg -i amazon-ssm-agent.deb
start amazon-ssm-agent

Ubuntu Server 14 32비트

#!/bin/bash
cd /tmp			
curl https://amazon-ssm-region.s3.amazonaws.com/latest/debian_386/amazon-ssm-agent.deb -o amazon-ssm-agent.deb
dpkg -i amazon-ssm-agent.deb
start amazon-ssm-agent



2. 수동 설치


 - Amazon Linux


다운로드 


64비트

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

32비트

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


 설치

sudo yum install -y /tmp/ssm/amazon-ssm-agent.rpm


 - Ubuntu


다운로드


64비트

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

32비트

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


설치


sudo dpkg -i /tmp/ssm/amazon-ssm-agent.deb


상태확인 


Ubuntu Server 14

sudo status amazon-ssm-agent

Ubuntu Server 16

sudo systemctl status amazon-ssm-agent


실행


Ubuntu Server 14

sudo status amazon-ssm-agent

Ubuntu Server 16

sudo systemctl status amazon-ssm-agent


 - Redhat Enterprise Linux


다운로드


64비트

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

32비트

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


설치


sudo yum install -y /tmp/ssm/amazon-ssm-agent.rpm


상태확인


RHEL 7.x

sudo systemctl status amazon-ssm-agent

RHEL 6.x

sudo status amazon-ssm-agent


실행


RHEL 7.x

sudo systemctl start amazon-ssm-agent

RHEL 6.x

sudo start amazon-ssm-agent


 - CentOS


다운로드


64비트

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

32비트

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


설치


sudo yum install -y /tmp/ssm/amazon-ssm-agent.rpm


상태확인


CentOS 7.x

sudo systemctl status amazon-ssm-agent

CentOS 6.x

status amazon-ssm-agent


실행


CentOS 7.x

sudo systemctl start amazon-ssm-agent

CentOS 6.x

sudo start amazon-ssm-agent



 ㅁ Proxy 를 사용하는 구간에서의 세팅


 - Windows


PowerShell 에서 명령실행


$serviceKey = "HKLM:\SYSTEM\CurrentControlSet\Services\AmazonSSMAgent"
$proxyVariables = @("http_proxy=hostname:port", "no_proxy=169.254.169.254")
New-ItemProperty -Path $serviceKey -Name Environment -Value $proxyVariables -PropertyType MultiString
Restart-Service AmazonSSMAgent


SSM Agent 프록시 구성 재설시


Remove-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\AmazonSSMAgent -Name Environment
Restart-Service AmazonSSMAgent


 - Linux upstart 용


/etc/init/amazon-ssm-agent.conf

env http_proxy=http://hostname:port
env no_proxy=169.254.169.254


예제


description "Amazon SSM Agent"
author "Amazon.com"

start on (runlevel [345] and started network)
stop on (runlevel [!345] or stopping network)

respawn

env http_proxy=http://i-1234567890abcdef0:443
env no_proxy=169.254.169.254

chdir /usr/bin/
exec ./amazon-ssm-agent


 - Linux systemd 용


/etc/systemd/system/amazon-ssm-agent.service


Environment="HTTP_PROXY=http://hostname:port"
Environment="no_proxy=169.254.169.254"


예제


Type=simple
Environment="HTTP_PROXY=http://i-1234567890abcdef0:443"
Environment="no_proxy=169.254.169.254"
WorkingDirectory=/opt/amazon/ssm/
ExecStart=/usr/bin/amazon-ssm-agent
KillMode=process
Restart=on-failure
RestartSec=15min


 - SSM Agent 제거


Amazon Linux, RHEL 또는 Cent OS에 설치된 SSM 에이전트를 제거하려면

sudo yum erase amazon-ssm-agent –y

Ubuntu에 설치된 SSM 에이전트를 제거하려면

sudo dpkg -r amazon-ssm-agent