awsの監視は自動化する設定をすべきか

パソコン1

awsのようなサーバーの監視には常時エンジニアが張り付いている有人監視がよく行われてきました。ただ、だんだんと自動化の設定をして監視している現場も多くなってきています。awsを運用するときには自動化の設定をした方が良いのでしょうか。

そのメリットとデメリットについて確認し、導入すべきやり方かどうかを判断できるようになりましょう。


監視の自動化の設定とは

パソコン7

awsの運用をするときには適切な監視をすることで滞りなく利用できる環境を保つことが重要になります。有人監視ではエンジニアがリソースの状況などと逐一確認していき、何かトラブルが起こりそうなときにはリソースの配分を変更するなどの対応をして未然に防ぐというやり方が一般的です。

また、障害発生時には常駐しているエンジニアがすぐに対応を行い、短い時間で復旧できるというのが特徴です。このようなマニュアルでの対応とは違い、監視の自動化を設定すると条件に応じて機械が自動で対応するようになります。

例えば、ある部分でトラフィックが混雑している状況がある、あるインスタンスの容量が不足しそうになっているといったケースではパフォーマンスの低下や障害の発生のリスクが高いことがわかるでしょう。トラフィックが混雑している、容量が不足していると判断する条件を数式によって定め、その条件を満たしているときにはリソースの配分をこのようにして行うというスクリプトを作って実装すれば自動で対応することができます。

条件と対応を定義しておくことにより、条件を満たしたら機械が対応してくれる仕組みを作るのが自動化の設定です。

広い意味での監視の自動化

障害への自動対応をできるようにするのは狭い意味での監視の自動化設定です。広い意味では特に対応をするのではなく、条件を満たしたらアラートを出す仕組みも含んでいます。特に夜間のサーバー監視のときに用いられる方法で、エンジニアが24時間監視するのではなく、夜間は自動化して問題があるとわかったときにだけエンジニアにアラートが届くというのが一般的です。

SMSなどのどういう状況下であっても気づくことができるアラートを出す仕組みにしておくことで、障害が発生したときや、障害発生のリスクが高いときに現場で迅速に対応できるようにするのがこの設定の目的になっています。

この場合には障害に関わるメトリクスを自動的に取得するようにしておき、その数値が条件を満たしたときにはアラートを送信するというスクリプトを作成することになります。スクリプトを作成する難易度が低いことから監視の自動化をするときにまず導入されることが多いシステムです。

監視の自動化を設定するメリット

awsの監視を自動化するように設定するとエンジニアのリソースを有効活用できるようになるのがメリットです。有人監視をするためには少なくとも一人は常に監視業務に携わっていなければなりません。

夜間もawsを利用する可能性がある場合には、夜間も含めて24時間体制で監視担当のエンジニアに業務をさせることになります。運用する領域が広い場合や実装しているアプリケーションやシステムの数が多い場合には監視を担当するエンジニアが何人も同時に必要になることもあります。

エンジニアの人件費は高いのでかなりのコストになることは否めません。しかし、自動化をすれば業務負担を軽減することができます。夜間はサーバーの利用者が少ないというのであれば、全て自動監視にして何かあったときには翌営業日に対応するという方針を立てることもできるでしょう。

時間帯によらず監視しなければならない項目や対応すべき内容の数が減ることでエンジニアの業務負担も減らせます。監視を担当するエンジニアの人数を減らしたり、他の業務を兼任したりする形を整えることが可能です。エンジニアのリソースを有効活用する上では自動化の設定が欠かせないと考えると良いでしょう。

また、自動的にスクリプトによる対応をできるようにすることで、エンジニアによる対応よりも迅速になるのもメリットです。エンジニアが対応する場合にはメトリクスを取得して状況を確認し、不具合が生じると判断できた場合には具体的な対応策を考えて行動に移すという長いプロセスが必要になります。

しかし、自動化するとスクリプトで条件と対応が明確に定義されていれば、条件を満たしたときに瞬時に対応できるのです。そのわずかな時間の違いが大きな障害になるかどうかを分ける重要なポイントになることもあるので、迅速な対応が可能なのは大きな魅力でしょう。

監視の自動化を設定するデメリット

パソコン5

監視の自動化をするデメリットは柔軟な対応ができないことです。エンジニアが見ていれば多岐にわたる情報を総合して考えて、適宜最適な対応を選ぶことができます。しかし、スクリプトで規定されている対応は一対一の関係というのが基本で、もしかすると複合的なトラブルが起こっていたために機械的な対応が状況を悪化させてしまうかもしれません。

また、条件定義についても網羅性がないと、大きな障害につながるような状況変化を放置してしまうこともあります。このような問題点があることに留意して自動化の設定をすることが必要です。


自動化をするときのポイント

awsの自動化を設定するときには、設定したら終わりにするのではなく、継続的に設定内容を更新していくことが大切です。最初に膨大な量のスクリプトを用意する必要があるのは確かで、可能性のある障害リスクを全て記述して対応策まで立てなければなりません。

ただ、その段階で全てが網羅されているとは限らず、見落としが原因で障害が発生することはあるでしょう。障害発生時には毎回設定を見直すことは必須ですが、定期的に見直しをするシステムにしておいた方がawsの運用方法が変わったときにも柔軟に対応できるようになります。

実際に運用してみないと設定が正しいかどうかを見極めるのも難しいので、定期的な見直しを忘れないようにするのがポイントです。

監視の自動化を設定して効率を上げていこう

awsの監視を自動化するとエンジニアのリソースの無駄を削減しつつ、障害リスクへの対応を迅速化することができるメリットがあります。ただ、万能ではないのは確かなので、自動化を設定した後も定期的に見直しをして内容を更新していくのが大切です。

上手に運用することで高いコストパフォーマンスになるので導入を検討しましょう。

参考元…CloudCREW > AWS監視http://managed.gmocloud.com/managed/