awsの運用で最も重要な監視の基礎

awsを導入して運用していこうと考えたときに運用の内容として何が重要なのかで悩むこともあるでしょう。

awsの運用では監視をどのようにして行うかを決めることが欠かせません。監視が必要なのはなぜなのでしょうか。その理由について理解した上で、どのようにしてサーバー監視をしていけば良いのかを基礎的なところから紹介します。

awsはサーバレスで運用できるというのはどういう意味か

運用で監視が重要な理由とは

awsの運用で監視が重要なのはユーザーの責務とされていることに加え、安定したサーバー利用をするための基本だからです。

awsではハードに近い側はaws側が監視して適切な管理をしてくれる仕組みになっていますが、ユーザー側に近い部分の大半はユーザーが管理しなければならない仕組みになっています。サーバー監視についても基本的には割り当てられた領域についてはユーザーが行うことが求められているので、きちんとした体制を整えることが必須です。

また、awsに限らずサーバーを運用する上で重要なのは安定して利用できるようにすることです。これは自社サーバーであってもクラウドサーバーであっても同じことで、使用できるサーバー領域を常に有効活用しつつ、安定的に誰もが快適に利用できるようにすることが必須です。

その基盤になる業務がサーバー監視なので、awsを導入したときには必ず監視を行わなければならないと考えましょう。

監視の基本は障害の予防と対処

awsの監視をどのようにして行っていくべきかという疑問が生じることもあるでしょう。awsの監視の基本は障害への対策で、予防と対処の二つの軸で考えることができます。awsを安定的に運用できるようにするには障害が発生しないようにするのが最も重要で、業務が滞るリスクや顧客からの不満が生じてしまう可能性を最小限にすることが可能です。

障害予防はこの観点から積極的に取り組むべきもので、将来的に起こりそうなリスクを予測して未然に対処することが求められます。一方、いくら予防をしていたとしても不測の事態によって障害が発生してしまうことはあります。

その状況から速やかに復旧して業務やサービスに生じる支障を最小限に抑えるのが障害への対処です。原因を究明して打開策を考案し、速やかに実行するのが対処の基本になります。予防と対処の両方が完璧な形で行える体制が整えられていれば、awsの運用は安定するでしょう。

基礎になるのはメトリクスの取得によるログの作成と管理

監視において重要な障害の予防と対処で最も基礎になるのはログの作成と管理です。awsではCloudWatchというオフィシャルの監視ツールが存在していて、メトリクスを簡単に取得できるようになっています。ログの作成や管理についても行うことが可能なのでオフィシャルのツールを駆使しても構いません。

一方、オープンソースのサーバー監視ツールを使ったり、awsに限らず広範囲のサーバー管理に使用できる有料のツールを購入して使用したりすることも可能です。オフィシャルのツールを使わなかった場合にはawsの仕組みに対応させることが必要になるので最初に手間はかかりますが、設定を終えてルーチンワークで監視できる体制さえ整えてしまうことができれば以後の運用に大きな問題が生じることはありません。

ログの作成と管理が重要なのは障害の予測に必要な情報源になると同時に、障害が発生した経緯がわかることです。予防をしていくためにはどのようなときに障害が発生しうるかを考えなければならず、実際の利用状況を把握する必要があります。

ログを作成していくことによって傾向をつかむことができ、障害が発生しにくいようにリソースの再配分などを行うことができます。そして、もし障害が発生してしまった場合にはログがあるとどこが問題かがすぐにわかって対処をスムーズに行えるのです。

原因がわかれば予防策を立てることもできるため、同じ原因で障害が発生するリスクも低減させることが可能です。

障害対策は無人でも有人でも可能

awsのサーバー障害の対策にはエンジニアを常駐させる必要があるというのが昔の認識でした。しかし、今では無人でも有人でも適切な障害対策をすることが可能です。無人の場合にはプログラムを組んで自動対処するシステムを組み上げることが必要になります。

有人の場合にはこのようなシステムを構築する必要はありませんが、人件費が高いのでコストがかさんでしまうことは否めません。有人監視の方が臨機応変に対応できるメリットがある一方、機械的に対応可能なものであれば人が気づくよりも先に機械が検知して対処できるという面もあります。

そのため、有人か無人かという一つを選ぶよりは双方のメリットを生かすという観点が重要になります。

人と機械の住み分けをしよう

人と機械では得意不得意があるので住み分けをすると効果的な監視を行えるようになります。例えば、メトリクスの取得は人の手でやる必要はなく、スケジュールを組んで定期的にメトリクスを取得してログを作成していくように自動化するのが合理的です。

また、例えばリソースを確認して一定数値以上になったら配分を変えるといったプログラムを書けるのであれば、機械に任せた方が迅速な対応ができます。しかし、色々な利用者がいて状況を見ながら柔軟に変更しなければならないような場合にはスキルがあるエンジニアでないとプログラムにするのは大変です。

そのような場合には有人監視をして適宜対応できるようにするのが安心です。考え方としてはaws上のアプリやシステムが頻繁に利用されるときには有人監視を行い、頻度が低いときには無人監視にするのが合理的です。リソースが不足してしまうのが障害発生の原因としては最も多いので、使用量が多いときに柔軟な対応をできるようにしておくのが安全策なのです。

正確に言えば無人監視は常に稼働させておき、利用頻度が高いときにだけ有人で対応できるようにするのが合理的です。これによって機械による対応を可能にしつつ、必要に応じてエンジニアが柔軟に予防策や対処を講じることができます。

適切な監視をできるようにしてawsを運用しよう

awsを運用するときには監視によって安定して利用できる環境を作り出すことが重要です。メトリクスの取得とログの作成、管理を行えるようにし、利用する時間帯ごとに有人監視と無人監視を組み合わせることで合理的な体制を作りましょう。

障害の予防と対処を適切に行える仕組みを作ることができれば安定的にawsを運用できます。

関連資料→クラウド運用代行:CloudCREWhttps://managed.gmocloud.com/managed/