Contenu connexe Similaire à Systems manager 入門 ops jaws Similaire à Systems manager 入門 ops jaws (20) Systems manager 入門 ops jaws1. Amazon EC2 Systems Manager
Amazon EC2 とオンプレミスシステムの設定と管理
OpsJaws #12
株式会社サーバーワークス
クラウドインテグレーション部
カスタマーサポート課
伊藤 覚宏
2017/07/19
8. Amazon EC2 Systems Managerとは
ソフトウェアインベントリの収集や OS パッチの適用、システムイメージの
作成、そして Windows や Linux のオペレーティングシステム設定などの
プロセスを自動化する管理サービス
AWS ConfigはAWSの構成を管理
Systems ManagerはOS内部の構成を管理
8
9. Amazon EC2 Systems Managerの構成要素
Systems Managerは複数の要素で構成されます
Run Command ステートマネージャー インベントリ メンテナンスウィンドウ
パッチマネージャー オートメーション パラメータストア
9
41. パラメータストア
パラメータストアからのデータ取得
パラメータストアへのアクセスはIAMで制御が出来るため、パラメータ名の
命名規則を整備することで、環境毎やユーザ毎に特定の情報のみにアクセス可能
にすることが可能です
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ssm:Describe*",
"ssm:Get*",
"ssm:List*"
],
"Resource": [
"arn:aws:ssm:ap-northeast-1:123456789123:parameter/prd.*"
]
}
]
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ssm:Describe*",
"ssm:Get*",
"ssm:List*"
],
"Resource": [
"arn:aws:ssm:ap-northeast-1:123456789123:parameter/test.*"
]
}
]
41
46. SSM Agent
Systems Managerの利用にはSSM Agentのインストールが必要です
管理対象に常駐し、各種サービスからの要求を実行
インストールタイプのエージェント
AWSの各種サービスAPIと通信が発生
AWSから提供している以下のAMIにはインストール済み
2016年11月以降に提供しているWindows AMI(2003-2012R2、2016)
Amazon Linuxは別途インストールが必要
Source CodeはGithubで公開
https://github.com/aws/amazon-ssm-agent
46
47. EC2 Systems Managerの前提環境条件
サポートされているOS
Windows(32bit、64bit)
Windows Server 2003〜2016(R2含む)
Linux(32bit)
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 以降
Linux(64bit)
Amazon Linux 2015.09、2015.03 以降
Red Hat Enterprise Linux (RHEL) 7.x 以降
CentOS 7.1 以降
47
53. SSM Agentのインストール(Windows on EC2)
AWS提供のWindows AMIはインストール済み
2016年11月以降のAMIから起動したWindowsは導入済み
2016年11月以前のAMIから起動したWindowsは更新が必要
SSM Agentを更新する
EC2Configでの更新を推奨
Run CommandでAWS-UpdateEC2Configを実行
Windows Server 2016の場合はAWS-UpdateSSMAgentを実行
53
63. SSM Agentのインストール(Linux on EC2)
SSM Agentをダウンロード、インストール
リポジトリ(S3)からダウンロード
https://amazon-ssm-region.s3.amazonaws.com/latest/$arch/amazon-ssm-
agent.rpm
region部分は利用するRegionに置き換える
$arch部分もディストリビューションに合わせて置き換える
各種パッケージコマンドでインストール
sudo yum install -y amazon-ssm-agent.rpm
sudo dpkg -i amazon-ssm-agent.deb
コマンド詳細は以下のURLを確認
http://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/ssm-
agent.html
63
64. SSM Agentのインストール(Linux on EC2)
SSM Agentをダウンロード、インストール
リポジトリ(S3)からダウンロード
東京リージョンの場合
Amazon Linux、RHEL、および CentOS 64 ビット:
https://s3.ap-northeast-1.amazonaws.com/amazon-ssm-ap-northeast-
1/latest/linux_amd64/amazon-ssm-agent.rpm
Amazon Linux、RHEL、および CentOS 32 ビット:
https://s3.ap-northeast-1.amazonaws.com/amazon-ssm-ap-northeast-
1/latest/linux_386/amazon-ssm-agent.rpm
Ubuntu Server 64 ビット:
https://s3.ap-northeast-1.amazonaws.com/amazon-ssm-ap-northeast-
1/latest/debian_amd64/amazon-ssm-agent.deb
Ubuntu Server 32 ビット:
https://s3.ap-northeast-1.amazonaws.com/amazon-ssm-ap-northeast-
1/latest/debian_386/amazon-ssm-agent.deb
64
78. アクティベーション(Windows)
Windows PowerShell for AWSを起動し以下のコマンドを入力します
赤文字の部分は次の通り書き換えてください
code:アクティベーションコード
id:アクティベーションID
region: Systems Managerを設定しているリージョン
$dir = $env:TEMP + "¥ssm"
New-Item -ItemType directory -Path $dir
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"
78
83. アクティベーション(Linux)
Amazon Linux、RHEL 6.x、CentOS 6.x
mkdir /tmp/ssm
sudo 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 amazon-ssm-agent -register -code "code" -id "id" -region "region"
sudo start amazon-ssm-agent
83
84. アクティベーション(Linux)
RHEL 7.x および CentOS 7.x
mkdir /tmp/ssm
sudo 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 amazon-ssm-agent -register -code "code" -id "id" -region "region"
sudo systemctl start amazon-ssm-agent
84
85. アクティベーション(Linux)
Ubuntu
mkdir /tmp/ssm
sudo 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 amazon-ssm-agent -register -code "code" -id "id" -region "region"
sudo service amazon-ssm-agent start
85
148. AMI更新の自動化
パラメーターの内容は以下の通り
パラメーター 入力内容
SourceAmiId 更新元となるAMI ID
InstanceIamRole EC2インスタン用IAMロール名
AutomationAssumeRole Automation用IAMロールARN
TargetAmiName 作成するAMI名
InstanceType 途中に生成するインスタンスタイプ
PreUpdateScript 更新を適用する前に実行するスクリプトのURL
PostUpdateScript 更新を適用した後に実行するスクリプトのURL
IncludePackages 更新する特定のパッケージ名
デフォルトではすべてのパッケージが更新されます
ExcludePackages 更新から除外する特定のパッケージ名
148
156. まとめ
Systems ManagerとCloud Automatorの比較
Systems Managerでは、IAMロールとJSONを利用することで複雑な処理を
行う事が可能です
Cloud Automatorの場合 わかりやすいGUIにより簡単に設定を行うことが
可能です
機能 Systems Manager Cloud Automator
ステップ処理 オートメーションで設定 SQSによる連携
OS内部処理 SSMエージェントにより実行 SSMエージェントにより実行
定期実行 メンテナンスウィンドウで設定 タイマートリガー
156