【レポート】AWS Systems Manager によるシステム運用管理の実践 #AWSSummit

2018.06.01

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、佐伯です。

2018年5月30日(水)〜2018年6月1日(金)の3日間にわたり、 品川にて開催されているAWS Summit Tokyo 2018に参加しています。今回は「AWS Systems Manager によるシステム運用管理の実践」を聴講しましたのでレポートします。

概要

AWS Systems Manager では、AWS 上のリソースのみならず、オンプレミスのリソースも統合運用管理することができます。AWS Systems Manager により構成管理やパッチ管理、さらに複雑なタスクを簡素化および自動化することができ、これらをログインレスに実行することができます。本セッションでは、実際のシステム運用管理を想定して、AWS Systems Manager によりどのように運用負荷を軽減できるかをご紹介します。

本セッションのゴール

  • システム管理者のタスクをAWS Systems Managerで実践するイメージを持っていただくこと

AWS Systems Managerとは

  • 複数のサービスの運用データを一元化、可視化
  • AWSリソース全体のタスクを自動化
  • EC2インスタンスとオンプレミスサーバーを管理可能
  • Linux/Windowsインスタンスで利用可能
  • AWS Systems Manager自体は無料、作成または集約されたAWSリソースに対してのみ料金が発生

AWS Systems Managerの前提条件

  • インターネットへのアクセスができること
  • SSM Agentが各種APIへアクセスするため
  • VPCにNAT Gatewayを設置するのも方法のひとつ
  • VPC Endpointも利用可能

AWS Systems Managerのコンポーネント

  • Run Command
    • サーバーにログインせずコマンドを実行可能
  • Automation
    • ワークフローの定義
  • Documents
    • 処理の内容
  • Maintenance Windows
    • メンテナンスに関わるタスクを実行する際に使用
  • Inventory
    • インスタンスのOS情報やアプリケーション情報を収集
  • Pach Manager
    • ベースラインを決めてパッチを管理できる
  • Parameter Store
    • パラメータを保管できる
  • State Manager
    • あるべき状態を定義できる

システム管理者の主なタスク

すべてではないが、主に以下のようなタスクが存在する。

  • 定形処理の推進
  • 資産管理
  • セキュリティ管理
  • システム管理

定形処理の推進

  • 課題
    • 運用人員のコスト増大
    • サーバーリソースの増大
    • 夜間などの人員を割り当てにくい時間帯に実施する必要がある作業
    • 手作業による人為的ミス

Automation

ワークフローを構築してタスクを自動化

  • ワークフローの処理内容をドキュメントに定義
  • スッテプの入力、動作、出力を決定
  • ステップごとにon failureやcontinueを指定できる
  • ステップ内で承認の処理を入れることも可能

Automationの特徴

  • ワークフローを視覚的に定義可能
    • 複雑なワークフローを定義可能
    • 失敗時のリトライ
    • パラレル処理
    • 待機、選択など
  • タスクは以下で実行可能
    • AWS Lambda Function
    • EC2インスタンス
    • オンプレミスサーバー

資産管理

  • 課題
    • 増え続けるサーバーやソフトウェア
    • 部署ごとにバラバラに管理されている
    • Excel等で管理されている

Inventory Manager

  • OS、アプリケーション、インスタンスのメタデータを収集可能
  • カスタムのメタデータをインスタンスに割当可能
  • インベントリ情報を収集し、AWS Configに記録することもできる

セキュリティ管理

  • システム運用管理における脅威の例
    • 個人情報や機密情報の漏洩
    • システムへの不正侵入や改ざん

Patch Manager

セキュリティ関連の更新パッチをマネージドインスタンスに適用するプロセスを自動化する例

  • Microsoftから定期的にwsusscn2.cab(セキュリティ関連の更新情報)をダウンロード
  • 承認期間をカスタマイズして適用する
  • 特定のパッケージは承認無しで適用するなど
  • AWS Run Patch Baselineというドキュメントが用意されている

システム監視

  • 課題
    • 多数のサーバー監視
    • 多岐にわたる監視項目
    • 障害発生持のシステム管理者への通知、早期障害切り分け、復旧の必要性

インスタンスの監視

  • AWS Systems Managerの画面からAmazon CloudWatchによるダッシュボードを確認可能

まとめ

  • AWS Systems Managerとその関連するAWSのサービス・機能を使って、ハイブリッド環境でのシステム管理が可能
  • 管理者が実践するさまざまなタスクをAWS Systems Managerで自動化・効率化することが可能
  • なにより、AWS Systems Managerの利用には料金が発生しないのでぜひ試してください

最後に

AWS Systems Managerはコンポーネントが多く、コンポーネントごとの概念を理解するまでとっつきにくい印象があるかもしれないです。Run Commandは比較的シンプルなので、複数サーバーに対するオペレーションをRun Comanndでサクッと実行するあたりから始めてはいかがでしょうか!