(レポート) WIN402:Devopsを受け入れ、規模のインフラストラクチャを構成する方法を学ぶ #reinvent

コンニチハ、千葉です。

セッションレポートです。新しく発表されたEC2 System Managerを使って大きな規模の運用をどうやって対応していくか、というセッションになります。

IMG_1170

セッションのアジェンダ

  • EC2 System Managerの紹介
  • Run Command, State Manager, Parameter Sotreについて学ぶ
  • デモ
  • FAQs

セッション内容

顧客からの声

  • 既存のITツールはクラウドのために作られていない
  • スケールに合わせてリソースを管理するのは難しい
  • 設定の可視化が欠如し、細かなコントールができない
  • 色々なベンダーがいて、ライセンスが複合的

EC2 System Managerの紹介

  • 設定の自動化を行い、スケールに合わせてシステムを管理できる。
  • Linux, Windows、EC2、オンプレに対して対応している

System Managerにできること

IMG_1180

  • デプロイ、設定、管理
    • Run Command
    • State Manager
  • 共有機能
    • Maintenace Windows
    • Parameter Store
  • 追跡とアップデート
    • Inventory
    • Patch Manager
    • Automation

Run Command

  • 管理タスクを実行する
  • SSH,RDPなしの運用でセキュリティを改善
  • アクセス制御の委任(IAM)
  • カスタマイズ可能で柔軟性がある
  • コマンド結果を知ることができる
  • スケーラブルにコマンド送信が可能

Run Commandの実行

ディレクトリを作成し、コマンド成功時にSNSで通知する時のRun Comannd

IMG_1184

Run Commandの実行方法

  • インスタンス:エージェントのインストール、IAMロールをインスタンスにアタッチ
  • ドキュメント:実行したいコマンドをドキュメントに定義
  • コマンドを呼び出す
  • 実行結果を取得する

どのようにスケール対応するか?

  • タグにより実行対象をフィルタリング
  • 同時実行数とエラー時の再実行数を指定

IMG_1187

Run Commandのユースケース

  • CIにて.NETアプリケーションの検証をしている
  • アプリケーションプールをロードしたときにCIを呼び出す
  • サービスを有効可した時にLambdaを呼び出し、AutoScalingGroupを有効可
  • PowerSellを使ってインタラクティブな調査

State Manager

  • インスタンスの一貫した状態を維持する
  • 設定が変わったことを簡単に見ることができる
  • スケジュールベースで実行できる
  • ステータスを追跡する

State Managerの使い方

  • Document: 実行したいドキュメントを作成
  • 対象のインスタンスまたはタグを指定
  • スケジュールを指定
  • ステータスを確認

State Manager 設定例

タグで指定したインスタンスに対して、30分実行で実行する

IMG_1203

Parameter Store

  • 中心のストア、設定データを入れる
  • 再実行、自動実行するもので利用(e.g. SQL接続)
  • view, edit, useという細かなアクセス制御が可能
  • KMSによる暗号化が可能

Parameter Storeの初め方

  • Key-valueペアを作成
  • セキュアにしたい場合は、KMS or デフォルトキーによる暗号化
  • EC2 System Managerにて{{ssm:parameter-name}}で呼び出し

最後に

事例ではSystem Managerを利用してWindowsで運用管理しているとのことでした。OSへログインせずに、運用管理ができると数が沢山有る場合にかなり有効な手段となります。 効率的な運用が可能そうです。