みなさん、こんにちは。今日はSystems Managerについてお伝えします。
AWS(Amazon Web Services)は、近年様々な企業が利用し、AWS上でITシステム構築をすすめています。AWS上にITシステムを構築し、サービスとして提供していくためには、構築したシステムをどのように運用していくかが非常に重要です。AWS上でITシステムを運用していくためのサービスとして、AWS Systems Managerが提供されています。AWS Systems Managerを利用すると、AWSのシステム運用で必要なオペレーションタスクを自動化する事が出来ます。どのような特徴があり、具体的にどのような機能があるのか、本記事で記載していきます。
AWSの運用の考え方
AWS Systems Managerの機能を紹介する前に、AWSにおける運用の考え方について記載していきます。AWS上のシステムについて運用をどうすればいいか、ということは、AWSが公開しているWell-Architected-Frameworkという資料に記載があります。具体的には、
- コードを使って運用する
- 注記付きドキュメントを自動生成する
- 頻繁に、小さく、可逆的に変更する
- 運用手順を頻繁に見直す
- 危険の事前予測と排除を行う
- 全ての運用の失敗から学ぶ
の6か条が記載されています。上記の6か条をさらに抽象的にとらえるとすると、「極力自動化を行う」「継続的な改善を行う」「可視化を行う」という考え方になります。このような考え方を踏まえて、AWS Systems Managerの特徴や、どのように利用してばいいかを記載していきます。
AWS Systems Managerの特徴
AWS Systems Managerの特徴として。「運用が統合できる」「多種多様なサービスが存在する」「料金が非常に安い」という特徴があります。どういうことなのか、それぞれ具体的に見ていきましょう。
運用が統合できる
AWS Systems Managerは、AWSのリソースだけでなく、オンプレミスに構築されたサーバーも対象に利用できる機能があります。現在、様々な企業がAWS上にITシステムを構築しているとはいえ、システムの100%がAWS上に存在している企業は非常に少ないです。オンプレミスとAWSそれぞれにITシステムが存在している場合、オンプレミス上のシステムの運用と、AWS上のシステムの運用を考慮する必要があり、運用上のオーバーヘッドが存在してしまいます。この状況では、逆にユーザーの負荷になってしまいます。AWS Systems Managerはオンプレミスのサーバを対象にした機能があるため、AWSにてオンプレミス側の運用を巻き取ることができ、運用負荷を大幅に減らすことができます。このように、AWSとオンプレミス双方でリソースや運用の自動化や効率化を実現できることが大きな特徴です。
多種多様なサービスが存在する
AWS Systems Managerは多種多様なサービスが存在します。それぞれのサービスについて、概要と使い方を記載していきます。なお、下記は2021年5月時点でのサービスです。Systems Managerは2020年12月から、2021年5月までに4つの機能が追加されているため、今後も機能が追加されていく可能性があります。
運用管理
- エクスプローラー
利用しているAWSリソースすべてに関して、情報を統合した、カスタマイズ可能なダッシュボードを提供します。情報のグルーピングやフィルタリングが可能です。 - OpsCenter
AWSのリソースに関する問題の確認、調査、解決を一元的に実施できる環境を提供しています。 - CloudWatch ダッシュボード
CloudWatchのコンソールにあるダッシュボードをSystems Managerの画面からもアクセスできるようになっています。わざわざCloudWatchのサービス画面を開く必要がないため、運用の効率性が向上します。 - PHD
AWSのサービスについて障害が発生していないかを確認できる、Personal Health Dashboardの状態を確認できます。こちらもCloudWatch同様別のサービスして提供されていますが、運用の効率性の観点からアクセスできるようになっています。 - インシデントマネージャー
インシデント発生時の対応プランや、エスカレーション先の連絡先などを登録しておくことができ、インシデント対応の初動を速めることに貢献します。また、インシデントのトラッキング機能などもあるため、インシデントの管理も統合できます。
アプリケーション管理
- アプリケーションマネージャー
CloudFormationやECS、EKSの状態を確認することが可能で、AWSリソースに関する問題を調査および修正するのに役立ちます。 - App Config
EC2インスタンス、AWS Lambda、コンテナなどにデプロイするアプリ、環境変数などの設定を事前に決定しておくことで、アプリケーションデプロイ時のエラーを防止するのに役立ちます。 - パラメータストア
パスワード、データベース文字列といった設定データや機密情報を保存しておき、外部のアプリケーションなどから参照できます。こちらを利用することで、アプリケーションに認証情報等を直接書いてしまう、といったことを回避できます。
変更管理系
- 変更マネージャー
アプリケーションの設定やインフラストラクチャに対する運用上の変更について、確認や承認を行うワークフローのような機能を提供します。 - 自動化
Amazon Machine Imagesの作成と更新、OS パッチまたはアプリケーション更新プログラムの適用といった運用を自動化することがでいます。 - カレンダーの変更
AWS内で作れるカレンダーで、EventBridgeと連携してリソースの起動停止のスケジューリングといった操作が可能です。 - メンテナンスウインドウ
管理やメンテナンスのタスクを実行するためのスケジュールを設定することができます。
ノード管理系
- フリートマネージャー
SSM AgentがインストールされたEC2インスタンスおよびオンプレミス環境にあるサーバー(以下、マネージドインスタンスと呼びます)について、一元的に管理できる機能を提供します。 - コンプライアンス
マネージドインスタンスに対してスキャンを実行し、パッチの適用が正しく行われているか・否かの把握が可能です。 - インベントリ
マネージドインスタンスに対し、アプリケーション、ファイル、適用されているパッチなどに関するデータを収集できます。 - ハイブリッドアクティベーション
オンプレミスの物理サーバーや仮想マシン、他クラウド(GCPなど)のインスタンス、Raspberry Piなどのデバイスを管理するための登録インターフェースを提供します。 - セッションマネージャー
WindowsやEC2インスタンスに、SSHやリモートデスクトップを行うことなく操作を行えるインターフェースを提供します。 - Run Command
事前にコマンドを定めておき、特定のサーバに実行します。サーバーにログインしなくてもセキュアなサーバ管理が可能になります。 - ステートマネージャー
マネージドインスタンスの状態(例えばサーバーの設定やパッチ適用状態など)を定義し、設定内容を制御することができます。 - パッチマネージャー
選択したOSとアプリケーション両方に対するのパッチを自動的に適用できます。任意のS3にレポートを生成し送信することもできます。 - ディストリビューター
独自のソフトウェアをパッケージ化し、マネージドインスタンスに適用することができます。
共有リソース
- ドキュメント
JSONやYAMLの形式で、ステートマネージャーやRun Commandで、いつ何を行うかを定義しておくことができます。
料金が安い
AWS Systems Managerの機能は、上記のように非常に多いことがわかりますが、上記の機能の大半について、無料で利用することが可能です。また、料金がかかるサービスにおいても、非常に安価に機能を利用することができます。それぞれの機能の料金については、こちら(https://aws.amazon.com/jp/systems-manager/pricing/)に詳細が記載されています。
Systems Manager活用の方針
AWS上のシステム運用における考え方に従って、以下のような場合にAWS Systems Managerを利用していくといいでしょう。
安全なサーバへの接続
セッションマネージャーやRun commandを利用せずにインスタンスへアクセスを行うことで、SSHやRDPの接続を許可する必要や、パスワード、SSHキーの管理を行う必要がありません。このように、些細な運用を排除したうえでセキュアにサーバに接続できるため、運用管理の安全性が向上します。
運用保守の自動化
パッチマネージャや自動化を利用することで、パッチの適用作業を自動化することができます。パッチ適用作業は、運用保守に必要であはるものの、失敗した場合の影響が大きいです。それらのリスクを軽減して、安定した運用を実現することができます。
AWSリソースの統合的な可視化
インベントリやステートマネージャによる継続的な情報収集と、エクスプローラーによる可視化を行うことで、運用状態を把握することができます。それにより、AWSの運用に関する継続的な改善を実施していくことに役立ちます。
まとめ
AWS Systems Managerを利用することで、AWSだけでなく他クラウドやオンプレミス環境上のリソースを可視化し、統合的かつ自動的な運用を実現できます。これにより、管理すべきサーバの台数が増加しても運用の負荷の上昇を抑えることができます。”攻めのIT”のためにも、是非利用を検討してみてください。
AWSをご利用いただくには、直接契約するより断然お得。
AWS利用料が5%割引、さらに日本円の請求書による支払いが可能です!