AWSのオンコールスケジュールでローテーションを組んでみる
動機
最近は会社のメンバーと入門 監視を使って学習をしています。
本書の中でオンコール担当についての記述があり、
常にオンコール担当である事は、その人を燃え尽き症候群させる方法であり、
オンコール担当をローテーションにすることがそれを避ける方法であると記載がありました。
(過去には自分の周りにも、常にオンコール対応するため業務PCを持ち歩いている猛者もいました。)
オンコールのローテーションについていいツールがないか調べてみたところ、AWS Systems Manager Incident Manager の中にオンコールスケジュールというバッチリな機能がありました。
ここでは、AWSのオンコールスケジュールではどのようなローテーションが組めるのかをご紹介します。
※操作方法については言及しませんので、AWSの公式サイトなどでご確認ください。
AWS Systems Manager Incident Managerについて軽く説明
AWS Systems Manager Incident Manager の説明は下記の通りです。
Incident Manager は、自動化された対応計画でインシデントの準備を支援します。対応計画は、ランブックアクションを実行し、インシデントの更新を追跡し、チャットベースのコラボレーションを可能にすると同時に、該当する人が対応するように自動的に通知します。
Incident Managerは自動復旧のアクションやチャットへの通知など色々な機能があるようです。
オンコールローテーションの設定の事前準備(オンコール担当者の設定)
オンコール担当者へ連絡するための設定を追加しておきます。
Incident Manager では 「コンタクト」というところで設定できます。
ここでオンコール担当者を4人(鈴木、田中、佐藤、山田)を登録しておきます。
オンコールスケジュールの設定例
一週間固定と、夜間日中の担当を変更する二つのパターンについて提示します。
1) 一週間ごとにローテーション
4人が一週間ごとにオンコールローテーションを回す想定での設定です。
設定は以下のようになります。
実際のローテーションは以下のように設定されます。
(見づらいですが、sato=>suzuki=>tanaka=>yamadaのローテーションが設定されてます。)
2) 営業時間、営業時間外で1日ごとにローテーション
ここでは営業時間(9:00 ~ 18:00),営業時間外(0:00 ~ 9:00,18:00 ~ 24:00)の二つの時間帯をローテーションさせる設定です。
設定は以下のようになります
ローテーションは3つ設定させることになります。
A) 朝(0:00 ~ 9:00):morning
B) 日中(9:00 ~ 18:00):daytime
C) 夜間(18:00 ~ 00:00):nighit
ローテーションは以下のように設定されます。
6/2の朝からsato(朝)=>tanaka(日中)=>suzuki(夜間)=>suzuki(朝)=> yamada(日中)=>(略)となります。
まとめ
AWSのオンコールスケジュールをつかってローテーションを組んでみました。
ツール画面をつかってローテーションを組めるので一週間は長すぎるという場合は短くするなど臨機応変にローテーションを設計実装できそうです。
またIncident Managerは自動復旧のアクションもあるので時間があればそれも触ってみたいです。
参考
AWS Systems Manager Incident Manager 編 AWS Black Belt Online Seminar
Discussion