どうしても語りたい AWS Systems Manager の魅力 !

~第 1 回 こんなに簡単にシステム運用が自動化できるなんて !
2024-05-01
How to be a Developer

Author : 瀧田 直斗, 上野 涼平

みなさん、こんにちは。ソリューションアーキテクトの瀧田です。
今回は待望の どうしても語りたい AWS Systems Manager の魅力 ! シリーズ 「こんなに簡単にシステム運用が自動化できるなんて !」をお送りします。

システム運用は、IT エンジニアにとって避けられない課題です。サーバーの管理、ミドルウェアのインストール、設定変更など、多くの作業が発生します。この作業を効率化し、ミスを防ぐための解決策が求められます。長年オンプレミスの運用に携わってきたお客様から、これからクラウドを活用していくにあたり、これまでの運用経験を活かしつつ、クラウド環境でどのように効率的にシステム運用できるかご相談をいただくことも少なくありません。

同じく長年オンプレミスを運用してきた私としてもよく分かる課題感です。そんな中、 AWS Systems Manager というサービスに出会い、クラウド経験の浅いお客様でも効率的にシステム運用できる可能性を感じました。このサービスをもっとお客様に知ってほしいと思い、AWS Systems Manager に精通しているソリューションアーキテクトの上野さんに話を持ちかけてみます。


この記事の登場人物

瀧田 直斗 (たきた なおと) ソリューションアーキテクト
前職では 10 年以上オンプレミスの運用に従事
最近 AWS Systems Manager を触り始め可能性を感じており、上野さんへ話を持ちかける。

上野 涼平 (うえの りょうへい) ソリューションアーキテクト
前職では AWS 環境の構築と運用改善に従事
AWS Systems Manager に精通しており、瀧田から相談を受ける。


対談

瀧田
「上野さんよろしくお願いします !」

上野
「よろしくお願いします !」

瀧田
「早速なのですが、 AWS Systems Manager ってサーバーに簡単にアクセスしたり、システム運用を簡単に自動化できたりと便利なのにもっと人気なサービスになってもいいと思うんですよね。私はオンプレミス運用の経験が長いのですが、 AWS Systems Manager を使うと今までの運用経験も活かしながら自動化ができるんじゃないかなとすごく可能性を感じているんです。でもあまり AWS Systems Manager という言葉をお客様からお聞きすることが少なくて・・・。」

上野
「やっと AWS Systems Manager の可能性に気がついてくれる人が・・・ ! 瀧田さん・・・ AWS Systems Manager を推している立場として嬉しいです。そうなんです。 AWS Systems Manager ってお客様の課題解決につながる可能性を秘めているんです ! もっといろいろなお客様に知っていただきたいんですよね。」

瀧田
「ですよね ! でも・・・好きな AWS サービスは AWS Systems Manager って書いてある人見かけないんですよね。」

上野
「痛いところをつきますね・・・。ではこの場で AWS Systems Manager の魅力について語ってみましょうか ! まずは分かりやすい例として、瀧田さんがオンプレミス時代に大変だったシステム運用について教えていただけますか ? そこから AWS Systems Manager を使えばどのように楽になるのか話していきましょう !」

瀧田
「ありがとうございます ! では早速ですが・・・システム運用というと、オンプレミスではよくサーバーに対して共通のミドルウェアをインストールしたり、共通の設定を入れたりしていたのですが台数が多いと大変だったんですよね。一部自動化ツールも使っていたのですが、そもそもその自動化ツール自体が複雑で扱える人が少なくて・・・結局人手でサーバー1台ずつ作業していたこともありました。いやー大変だったなぁ・・・。」

上野
「あるあるですよねー。そういった作業はやはり AWS Systems Manager Run Command を使っていただくと良いと思います。例えば以下の図のようなことが簡単にできるんです。」

AWS Systems Manager の使い方

瀧田
「これを使うためには、 AWS Systems Manager をしっかりと勉強しないといけなかったりしませんかね ? ツール自体が複雑だと結局使う人が限られちゃったりするので・・・。」

上野
「GUI からも使うことができるので結構簡単に利用できるんですよ ! とはいえイメージが掴めないとわからないかもしれないので、少し例をだしてみますね。例えば Linux なら Run Command から AWS-RunShellScript を選んで任意のコマンドを書くだけなので、実はオンプレミスでの運用に少しプラスアルファするだけなんです。もちろん Windows 用機能もあるので AWS-RunPowerShellScript を選んでいただければ、同じように任意のコマンドを実行できます。」

瀧田
「ありがとうございます ! 早速ドキュメントを見てやって見ようかなと思ったのですが・・・なんかもう少しクイックにキャッチアップできるものってないですかね ? ちょっとわがまま言ってみます。笑」

上野
「そう言われると思いまして、ハンズオン動画を用意してあります ! 笑
Run Command だけではなく、他の便利な機能についてもご紹介しているのでおすすめです。Run Command の詳細についてはドキュメントもあるのであわせて見てみてくださいね。良ければ動画を見つつこの場で少しやってみましょうか。」

こちらのハンズオンでは、 AWS Systems Manager を使った、サーバーのインベントリデータ収集、リモート接続、サーバーへの一括コマンド実行などのサーバー管理運用について学ぶことができるようになっております。

画像をクリックすると拡大します

瀧田
「動画もあるんですね!早速見ながらやってみますね。
ちょうど自分の AWS 環境に Amazon EC2 でサーバーが4台あるので、共通のコマンドを実行してコマンド結果がどのように出てくるか見てみたいと思います。そうですね・・・試しにコマンド “cat /etc/resolv.conf” をこの 4 台のサーバーに対して実行してみて、結果が出力できるか確認してみます。」

瀧田
「AWS マネジメントコンソール から AWS Systems Manager を検索して、左の画面から Run Command 選んで・・・」

画像をクリックすると拡大します

瀧田
「右上の Run Command を選ぶと実行するコマンドのタイプを選択できるんですね。」

画像をクリックすると拡大します

瀧田
コマンドドキュメントから shell でフィルターを掛けて AWS-RunShellScript を選んで・・・」

画像をクリックすると拡大します

瀧田
「コマンドのパラメータに任意のコマンドをいれるんですね ! では cat /etc/resolv.conf としてみます。」

画像をクリックすると拡大します

瀧田
ターゲットに指定する対象のサーバー (インスタンス) は今回は手動で選んでみます。」

上野
「事前に対象をリソースグループでグループ化しておくか、タグ付けしておくと繰り返し発生する作業の場合は便利ですよ !」

画像をクリックすると拡大します

瀧田
「今回は出力する文字数が少なそうなので、出力オプションの Amazon S3 バケットへの書き込みのチェックは外しておきます。画面の右下から実行をしてみると・・・」

画像をクリックすると拡大します

瀧田
「お ! 実行対象にしたサーバー (インスタンス) 毎に成功と表示されてますね。ターゲットと出力からインスタンス ID を選んで見ると・・・」

画像をクリックすると拡大します

瀧田
「先程の cat /etc/resolv.conf の結果が表示されました !」

画像をクリックすると拡大します

瀧田
「おお〜 !!! cat /etc/resolv.conf しか書いてないのに GUI で 4 台のサーバーに対してコマンドが実行出来ました ! めっちゃ簡単ですね〜 !
では次に、共通の監視設定やログ収集を設定したいので Amazon CloudWatch エージェントをインストールしてみます。AWS のドキュメントを確認しつつ、こうやってコマンドを書けば・・・・」

用意されたコマンドドキュメントを活用する

上野
「瀧田さん ! 瀧田さん ! それ実はコマンドを書かなくてもあります !」

瀧田
「え ?」

上野
「実は、『CloudWatch エージェントをインストールするコマンド』のような、よく使うコマンドはAWS 側で用意してあります !
例えば、 AWS-ConfigureAWSPackage 、 AWS-ConfigureCloudWatch を使えば、 CloudWatch エージェントをインストールして、任意の監視項目やログ収集項目などの設定を入れられるんです。」


瀧田
「一からコマンドを書かなくても用意されているんですね ! コマンドドキュメントの画面を見ていると他にもたくさん種類があるのですがどのようなものなのでしょうか ?」

上野
「例えば Linux や Windows の運用でよく使われるコマンドなどを用意しています。
AWSFleetManager-CreateUser 、 AWSFleetManager-CreateGroup などユーザーやグループ作成などの基本的なものだけではなく、実は AWSFIS-Run-CPU-Stress 、AWSFIS-Run-Disk-Fill のような障害条件下での動作テストで活用できるものもあるんですよ !」

オートメーションで複数のフローを制御

瀧田
「いいですね ! ミドルウェアのインストール前には OS ユーザー作成とかよくやっていたので助かります。ちなみにこれって複数の処理を順番に実行したりできるんですか ? 例えば、OS ユーザー を作成したあと、ミドルウェアをインストールして、作成したユーザに実行権限をつけるなどできたら便利だなと思うのですが。あと失敗したときは別の処理を行うなど、条件分岐などのフロー制御もできたらいいなと。」

上野
「出来ます!その時はオートメーションの機能を使うのがおすすめです ! 自分たちの運用にあった複数処理の自動化を GUI で簡単に作れちゃうんです。」

瀧田
「それも GUI できちゃうんですね ! どんな感じで使えるのでしょうか ?」

上野
「具体的な操作イメージをご紹介しますね !」

上野
ドキュメントから、ドキュメントの作成を選んでオートメーションを選択します。」

画像をクリックすると拡大します

上野
「さっきと同じように任意のコマンド実行するなら、インスタンスでコマンドを実行をドラッグ & ドロップして、設定するだけです。後続に別のアクションも追加できますし、条件分岐やループ用のアクションも用意されているので直感的に作成しやすいです。」

画像をクリックすると拡大します

上野
「あとは左上からわかりやすい名前をつけて、ランブックを作成を選びます。」

画像をクリックすると拡大します

上野
「そうするとさっきの、ドキュメントから利用できるようになります。」

画像をクリックすると拡大します

瀧田
「めっちゃ便利じゃないですか ! あと、画面を見ていると、アクションに『承認』や『AWS API』と書かれているのが気になるのですが、いくつか聞かせてください !」

上野
「はい ! どうぞお聞きください !」

瀧田
「オートメーションのフロー作成時に、人為的な承認ステップを組み込むことは可能でしょうか ? 実際の運用現場では、重要な処理の前に承認を求めるようなフローなどあったりしまして、もしかしてその『承認』ってそういうことができるのかなと期待して聞いてみます !」

上野
「瀧田さん・・・カンが良いですね〜 !
はい、AWS Systems Manager のオートメーションでは、フロー内に承認ステップを設けることができます。指定した IAM ユーザーやロールに承認を求め、承認されるまでフローを一時停止させることができるんですよ。」

瀧田
「おお〜いいですね〜 !
それから、EC2 以外の AWS サービスへの操作も自動化できるのでしょうか ? 例えば、インスタンスの Disk の使用率をコマンドで確認して、その結果を管理者に通知、承認されたら Amazon EBS ボリューム拡張前に一度スナップショットを取って、スナップショットが取れたら拡張して、インスタンスの Disk 拡張コマンドを実行して、確認コマンドを流して・・・」

上野
「一気に聞きすぎです ! 笑 もちろん・・・全部出来ちゃいますよ !
EC2 や EBS だけではなく、AWS サービスの一般的なメンテナンスやデプロイ、修正タスクなどのステップを自由に組み立てることができるので、お客様にあったものを作ることが可能なんです。」

瀧田
「なんと・・・かゆいところに手が届く感じが素敵です ! いや〜、オンプレミスでシステム運用してたときにもこういう便利なのが欲しかったですね〜・・・。」

上野
「ちなみに Systems Manager はオンプレミス環境に対しても使えますよ !」

瀧田
「え !? クラウドなのに ?」

上野
「クラウドなのにです ! AWS Systems Manager はオンプレミスのサーバーにエージェントをインストールしてしまえばクラウド上から管理できちゃうんです !
オンプレミスの場合の料金は少し異なるので、インストール要件も含めて詳しくはこちらを見てくださいね。」


瀧田
「めっちゃ便利じゃないですか。オンプレミスを運用してきたお客様からすると AWS の運用ってあまり想像がつかないこともあると思うのですが・・・。AWS Systems Manager を活用するとシステム運用がこんなに簡単に自動化できるんですね。しかもオンプレミスも管理できるとは思いませんでした。」

瀧田
「いろいろ教えていただきありがとうございます ! AWS Systems Manager の魅力がわかりました。めっちゃ便利なのでもっと使っていただきたいですね !
次回は AWS Systems Manager を使うとサーバーに安全に接続できると聞いたのでその話をさせてください !」

上野
「もちろんです !」

上野 & 瀧田
「ありがとうございました ! それではまた次回お会いしましょう !」


まとめ

今回はシステム運用の自動化に着目して AWS Systems Manager の魅力についてご紹介させていただきました。まずは簡単に始められる Run Command からご活用いただき日々のシステム運用を効率化してみませんか ?

AWS Systems Manager を使ってみたあと、好きな AWS サービスは AWS Systems Manager ! と言っていただける方が増えてくださると嬉しいです !

builders.flash をご覧の皆様も AWS Systems Manager の伝道師になりましょう !


builders.flash メールメンバーへ登録することで
AWS のベストプラクティスを毎月無料でお試しいただけます

筆者プロフィール

瀧田 直斗 (たきた なおと)
アマゾン ウェブ サービス ジャパン合同会社 ソリューションアーキテクト

前職では 10 年以上オンプレミスの運用に従事。
現在は、業種・規模を問わず幅広いお客様に対して技術的な側面からビジネスを支援行う。
上野さんとはスプラトゥーン仲間。

上野 涼平 (うえの りょうへい)
アマゾン ウェブ サービス ジャパン合同会社 ソリューションアーキテクト

前職では AWS 環境の構築と運用改善に従事。
様々な業界・業種のお客様に対して技術面を中心に支援を行っている。
瀧田さんとはスプラトゥーン仲間。

AWS を無料でお試しいただけます

AWS 無料利用枠の詳細はこちら ≫
5 ステップでアカウント作成できます
無料サインアップ ≫
ご不明な点がおありですか?
日本担当チームへ相談する