AWS Premier Night #3
DevOps ことはじめ
千葉 淳
クラスメソッド株式会社
2017年1月12日
自己紹介
所属:クラスメソッド株式会社
仕事:ソリューションアーキテクト
好きなAWS: Lambda
名前:千葉 淳
宣伝
今日話すこと
今日話すこと
• DevOpsを話そうと思いましたが
•Opsも大切!と思った
• Ops側もスケールを考慮
• しないとDevもまわらない
• ということで
Amazon EC2 Systems Managerとは?
Re:Invent 2016 Day2
運用を自動化のとっておきのツール群
• 7つ!
–Run Command
–パラメータストア
–ソフトウェアインベントリ
–State Manager
運用を自動化のとっておきのツール群
–Maintenance Windows
–Automation
–Patch管理
Run Command
–ログインせずにコマンド実行
–対象はWindows/Linux
–実行をCloudTrailで追跡可能
–タイムアウトやリトライ回数を制御
–実行対象はタグまたはインスタンス指定
–実行内容はドキュメントとして定義(JSON)
デフォルトで用意されるドキュメント
– SSMAgentアップデート
– EC2Configアップデート
– コマンド実行(shell/powershell)
– Dockerアクション(起動/停止/ps/などなど)
– AD参加
– Windowsアップデート
– msiのインストール
– 等など、自分で定義もできる
実行結果
2500文字以上の出力場合はS3へ
パラメータストア
–Run Commandで利用できる変数
–値の一元管理
–パスワード、ライセンスキー等を管理
–文字列またはリストを指定可能
–暗号化も可能
–{{ ssm:変数名 }} で利用
パラメータストア登録画面
ソフトウェアインベントリ
–OS情報をマネジメントコンソールより確認
ソフトウェアインベントリ詳細
–取得情報
• パッケージ名:バージョン、インストール時刻
• ネットワーク情報:IP、MACアドレス
• WindowsUpdate:ID、インストール時刻
–Configにて構成変更も追跡
• パッケージが追加された等
AWS Configでの変更追跡
State Manager
–定期的にドキュメント(コマンド等)を実行
–実行対象は、タグ/インスタンス指定
–30分、1時間、週次を指定
State Managerのパラメータ
Automation
–カスタムAMIを自動作成できる
–AMIからEC2起動、任意処理、AMI作成
–最新のアップデートを適用したAMI等
–Packerのようなイメージ
パッケージアップデートしたAMI作成
Maintenance Windows
–システムのメンテナンス時間を設定
–時間枠内で指定したドキュメントを実行
–時間枠から指定した時間前にタスクを実行
しない
• 例:メンテナンスは4時間、Cutoff1時間とする
• メンテナンス開始から3時間たったら新しくタスクは実
行しない
メンテナンス時間の指定
– 例:毎週日曜日、0時から6時(JST)をメンテナンス
– 5時になったら、新しくドキュメントは実行しない
対象ターゲットの指定
– タグまたはインスタンスを指定
実行するタスクを定義
– タスクはRun Commandと同じドキュメント
– 実行優先順を指定(プライオリティ)
– 実行ターゲットを、タグまたはインスタンス指定
– ターゲットとして作成したメンテナンスウィンドウを
指定
実行履歴の確認
Patch管理
–適用するWindowsパッチを指定
• クリティカル、OSバージョン
– 実行対象はタグで管理(Patch group)
– メンテナンスウィンドウで定義した内容で適用す
るよう設定
– ドキュメント名は「AWS-ApplyPatchBaseline」
Patch管理
–適用するWindowsパッチを指定
• クリティカル、OSバージョン
– 実行対象はタグで管理(Patch group)
– メンテナンスウィンドウで定義した内容で適用す
るよう設定
– ドキュメント名は「AWS-ApplyPatchBaseline」
パッチベースラインの設定
その他
– Systems Managerは無料で使えます!
– オンプレミスも管理対象に!
利用方法
前提条件
– Amazon Linux/Ubuntu/RHEL/CentOS(バージョン注意)
– Windows Server 2003 – 2016
– SSMエージェント(Linux)、EC2Config(Windows)
– インスタンスロールに権限付与
– インターネットへのアウトバウンド
– 詳細
• https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/WindowsGuide/systems-manager-
prereqs.html?icmpid=docs_ec2_console
• https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/systems-manager-
prereqs.html?icmpid=docs_ec2_console
Linux
• SSMエージェントのインストール
• パッケージをダウンロードしてインストール
• 手順はこちら
– https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/sysman-
install-ssm-agent.html
Windows
• EC2Configを最新にアップデート!!
Systems Managerへの登録確認
• マネージドインスタンスから見えるようになる
ユースケース
想定ユースケース
• 運用系のcron/タスクマネージャーをState
Managerで実行(ログ収集等)
• Windowsアップデート作業をログインせずに
• OS情報の一元管理、変更追跡
• AutoScaling利用でのAMI自動アップデート
• 手順書での作業を減らした運用
• 作業に関しCloudTrailによる監査ログの取得
まとめ
一言まとめ1
• Run Command > ログインせずにコマンド実行!
• パラメータストア > Run Commnadでの変数
• ソフトウェアインベントリ > OS情報取集
• State Manager > Run Commandの定期実行
一言まとめ2
• Maintenance Windows > 時間内のRun
Command実行
• Automation > AMIの自動作成!(今後はほか
にもできるようになるかも?)
• Patch管理 > Windowsへ適用するパッチの種
類を管理
重要ポイント
• 自動化、自動化、自動化
• Linux/Windowsともにログインを減らす運用へ
– 作業プロセスの再利用性と自動化
– 手順書での作業を減らす
– 情報の一元管理
• オンプレリソースもSystems Managerで管理!
• 無料で使える!
おしまい

Premier night3 devopsことはじめ

Editor's Notes

  • #3 * パワハラならぬプロハラ、キラカード扱いです