クラウド 元SEママの情シスなりきりAWS奮闘記

「AWS Systems Managerでなにができる?」を基礎から学ぶ

2022年7月22日掲載

こんにちは。シイノキです。子どもたちが成長し、自力で多少……いや、ごくわずかながら料理ができるようになり、週末の朝、親が寝ていても子どもたちが勝手に朝ご飯を作るようになりました。お母さんも目玉焼き~……と布団のなかから声をかけると、一応それっぽいものができてきます。成長ってすばらしい。願わくば、週末ばっかり朝6時から起きないでゆっくりしていただいて、平日の朝にすっきりと目覚めていただきたい。なんで平日は起きないんですかね……?(気持ちはわかる)

勝手にAWSの基本サービスを学びなおそうシリーズ、今回のテーマは「AWS Systems Manager」です。これも、AWSの運用管理周りではよく聞くサービスですが、やっぱり「使いこなすと便利で、いろいろできるんですよね」程度の曖昧な理解でごまかしながらここまでやってきました。改めてしっかりと学んでいきます。

AWS Systems Managerとは

AWS Systems Managerは、AWS環境の運用効率化、という文脈で名前を聞く機会が多いサービスです。AWSサイトを見ると「AWSとオンプレミスのリソースに対する運用面でのインサイトを得る」とありましたが……、正直これでなにができるのかわからない。というかですね、「インサイトを得る」というと、「リソースに関する各種データから現状どうなっているかがわかる」といったイメージをするのですが、私の浅い認識では、AWS Systems Managerを使うと、EC2インスタンスのOSパッチ適用なんかが簡単に自動化できたりする、はずなのです。結論からすると、「どっちもできる」が正解。AWS Systems Managerはかなりたくさんの機能がありまして、これらを使うことで、インベントリ情報の収集・一元管理や可視化から、運用の自動化まで結構いろいろなことができます。

そしてもうひとつのポイントは「AWSとオンプレミスのリソースに対する」というところです。そう!AWS Systems ManagerはAWSのサービスなのに、オンプレミスのサーバも一緒に管理できるんです。AWS移行は進んできましたし、脱オンプレミスでデータセンター全廃という話も聞きますが、実際、オンプレミスにもサーバが残っていて、いわゆる「ハイブリッド構成」になっている企業は少なくないはず。オンプレミス側の運用管理をまとめて一元化できるのは大きなメリットと言えるでしょう。

AWS Systems Managerを使うときは、まずエージェントをインストール

具体的な機能を見る前に、最初のポイントとして、AWS Systems Managerで管理するには、エージェントをインストールする必要があります。AWS Systems Managerは「SSM」と呼ばれていて、このエージェントは「SSMエージェント」と言われます。

対象インスタンスにSSMエージェントをインストールすることで、AWS Systems Managerの各種機能を使えるように。オンプレミスのサーバも同様で、一元管理するにはSSMエージェントをインストールしましょう。

ちなみに、こうしてSSMエージェントをインストールしたインスタンスを「マネージドインスタンス」と呼びます。

AWS Systems Managerの機能とユースケース

AWS Systems Managerでは、「運用管理」「アプリケーション管理」「変更管理」「ノード管理」の大きく4つのカテゴリでさまざまな機能が提供されます。

AWS Systems Managerの主な機能

運用管理(Explorer、OpsCenter、Incident Manager)、アプリケーション管理(Application Manager、AppConfig、Parameter Store)、変更管理(Change Manager、Automation、Maintenance Windows、Change Calendar)、ノード管理(Fleet Manager、Session Manager、Inventory、Run Command、Patch Manager、Distributor、State Manager)

ここでは、各機能を使うことで、具体的にどんなことができるのか、使い方をユースケースで見ていきたいと思います。

<ユースケース 1>自社のAWS環境を可視化する

まずは「自社のAWS環境がどうなっているか、状況を把握したい」編です。

ここで使うのがダッシュボードを提供する「Explorer」と、AWS環境で「今、対応が必要な運用項目」を可視化する「OpsCenter」です。Explorerでは、EC2インスタンスの数などをまとめて見れるほか、Configルールに準拠できているか、といった情報も確認できます。また、OpsCenterでは「セキュリティアラートが出ている」のようなよう対処項目をまとめて、問題解決までをトラッキングできるので、自社環境でトラブルが起きていないかをパッと把握できる、というわけですね。

もうひとつ、自社環境の管理という観点で有効なのが、「Inventory」です。その名のとおり、インベントリ情報を収集するもので、OS上で稼働するアプリケーションの一覧などを集めてくれます。ちなみにカスタムインベントリとして、独自項目を収集することも可能。これを使えば、「JavaでLog4jを使っているアプリケーションをピックアップ」的なこともできます。Javaベースのロギングライブラリ「Apache Log4j」は少し前にびっくりする脆弱性が見つかって結構な騒ぎになりましたよね……。対策に追われるなかで、見逃さずに対処するにあたっては便利そうです。

<ユースケース2>運用を自動化する

続いては「やらなきゃいけない運用作業は自動化しよう」編です。サーバを運用するとなると、いろいろやるべき作業はあって、これを漏れなくやるだけでも結構な負担になります。運用負担軽減のためにも、漏れやミスをなくしてセキュリティを担保するためにも、自動化しておくことがポイント。

自動化といってもいろいろありますが、OSなどへのパッチ適用なら「Patch Manager」という機能で対応しますし、独自のアプリケーションインストールをおこないたいという場合は「Distributor」を使います。独自アプリケーションとは……と疑問になりますが、これは「ログ管理やセキュリティツールを全サーバにインストールしたい」とか「CloudWatchエージェントをインストールしたい」といったケースですね。なかなか便利そうです。

もちろんこれだけではなく、自社の用途にあわせて作り込んだ処理を自動実行することも可能。この場合は「Runbook」というもので処理を定義して、「Automation」という機能で実行する、という形になります。

自動実行のタイミングも細かく制御できまして、そこで使うのが「Maintenance Windows」。さらに、「Change Calendar」という機能では、カレンダーに定義したイベントにあわせて、処理を実行できます。「●月●日からキャンペーンを実施するから、それにあわせて処理を実行しておく」みたいなイメージですかね。

いろいろできるのは分かってきましたが、機能が多すぎて追いつかなくなってきました。上記以外にも機能はありますし、この辺の使い分けなんかは、AWSの公式資料などに詳しく解説があるので、ぜひそちらもご参照ください(丸投げ)。

<ユースケース3>サーバでコマンドを実行する

最後は「サーバでコマンドを実行したい」編です。運用していれば当然、サーバ上でコマンドを実行するケースは出てきますよね。もちろんサーバに直接ログインして実行すればいいんですが、担当者にサーバのIDとパスワードを払い出すのも結構厄介。セキュリティに直結するところなので、きっちり管理しないといけないものですし、台数が増えれば増えるほど大変です。というわけで、ここもAWS Systems Manager経由でやりましょう。まず使えるのが「Run Command」。これも名前のままですが、コマンドを実行できる機能で、サーバにログインせず、マネジメントコンソールから事前に用意したコマンドを実行できます。任意のシェルスクリプトも実行できるので、そこそこの処理はここでいけそうです。

もうひとつ便利なのが「Session Manager」です。これはインタラクティブにコマンドを実行できるもの。インタラクティブ……というのはつまり、コンソールで直接コマンド実行できるということですね。そうすれば、「結果を見て次のコマンドを実行する」といったことができるようになり、柔軟な対応が可能になります。これをマネジメントコンソールからできるなら、本当にサーバへのログインは不要になりそうです。

このほかにもインシデントの管理や、ワークフロー的なもの、あとはアプリケーション管理にも使えます。まさに運用全般をカバーして、かなりいろいろできるのがAWS Systems Manager、というわけですね。「結局なにができるのかよくわからない」となりがち(シイノキ基準)なのも、仕方ないと言えるのかもしれません。

AWSの運用効率化をもっと簡単にする「クラウドポータル」

ここまで紹介してきたように、いろいろできるAWS Systems Managerですが、やはりできることが多すぎて、なにをどう使えばよいかよく分からない、という印象は否めません。さらに、やりたいことに対して、必要な機能と、場合によっては別のAWSサービスも組み合わせて実装することになります。正直、そのあたりのハードルが高そうに思えてなりませんが、運用の自動化やもろもろの可視化、管理をやっておくべきなのは間違いないですし、うまく活用したいところです。

と!そんなところで、ソニービズネットワークスのAWS導入運用支援サービス「マネージドクラウド with AWS」では、運用の効率化もしっかりサポートいたします。その鍵を握るのが、標準提供している運用管理ツール「クラウドポータル」です。クラウドポータルではAWS Systems Managerと連携して、各種機能を提供。分かりやすい画面でOSパッチ適用の自動化も簡単に設定できますし、「公開された更新プログラムをチェックして、必要なものだけ適用する」といったことも簡単です。

さらに、EC2インスタンス上で稼働するサーバのコンソールを表示して、直接コマンドを実行することもできます。「インタラクティブなコマンドの実行」というやつですね。これもクラウドポータル上でできちゃいます。

そして、AWS Systems Managerはオンプレミスのサーバ管理にも対応している……というところで、クラウドポータルもオンプレミス管理に対応!AWSとオンプレミスのサーバを全部まとめてクラウドポータル上で管理できます。ここまでの機能がすべて標準提供で利用できるメリットは大きいのではないかと!クラウドポータルの各種機能については、詳しく解説した小冊子をご用意していますので、よければぜひダウンロードをお願いします!以上、シイノキでした。

AWS運用管理・自動化ツール「クラウドポータル」

「はじめてでも運用できる」 「もっと使いこなせる」 独自開発ツール

マネージドクラウド with AWS

はじめてのAWSから 一歩進んだ活用までトータルサポート

パンフレットをダウンロード

AWS運用管理・自動化ツール「クラウドポータル」

「AWS運用管理・自動化ツール「クラウドポータル」」のダウンロードをご希望のお客様は、
以下必要事項をご入力ください。

関連コラム

このコラムに関連する製品

このコラムに関連する
導入事例

このコラムに関連する
セミナー・イベント

「AWS Systems Managerでなにができる?」を基礎から学ぶ

SHARE
シェアシェア ポストポスト
「AWS Systems Managerでなにができる?」を基礎から学ぶ
SHARE
ポスト シェア