概要
AWS運用には、安定運用と問題対応力が求められる。
成功の鍵は「運用上の優秀性」にある。
運用上の優秀性とは、サービスを安定的に稼働させ、問題発生時に迅速に対応できる状態を指します。AWS運用を成功させるには、以下の5つの設計原則を意識することが重要です。
1. 運用をコードとして実行する:
- 環境全体をコードで管理することで、環境構築や更新を自動化し、一貫性を保てます。
- アプリケーションコードと同じように、環境構築、更新、運用手順もコードとして定義します。
2. 元に戻せる小さな変更を頻繁に行う:
- 少しずつ変更を加えることで、失敗した場合でも簡単に元に戻せます。
- AWSサービスを活用し、コンポーネントを定期的に更新できるようにワークロードを設計します。
3. 運用手順を定期的に改善する:
- 定期的に手順を見直し、改善することで、ワークロードに合わせて柔軟に対応できます。
- 定期的なゲームデーを実施して手順を評価します。
4. 障害を予測する:
- 潜在的な問題点を事前に把握し、適切な対策を講じることで、障害発生を予防できます。
- 障害の原因となる可能性がある箇所を特定し、修復方法を判断します。
5. 運用上のあらゆる障害から学ぶ:
- 発生した障害から教訓を得て、組織全体で共有することで、同じ失敗を繰り返さないようにします。
- 運用上のイベントや障害を分析し、チーム間で教訓を共有します。
運用上の優秀性を達成するためのベストプラクティスは以下の3つの段階に分けられます。
準備:
- 目標を明確にする: ビジネス成果に貢献する運用を目指します。
-
ワークロードの設計: デプロイ、更新、運用方法を明確に設計し、コードで管理します。
- アプリケーション、インフラストラクチャ、ポリシー、ガバナンス、運用をコードで定義します。
- 技術的指標とビジネス的指標を監視し、問題を早期に検知できるようにします。
- タグ付け戦略を設計に組み込み、リソース整理、コスト管理、アクセスコントロールを容易にします。
-
運用準備状況を確認: 必要なツール、スキル、手順書などを揃えます。
- ランブックとプレイブックを作成し、一貫したプロセスを実行します。
- ワークロードとオペレーションツールを運用するスタッフや適切なスキルセットなどが揃っていることを確認します。
運用:
-
オペレーションヘルスを監視: ワークロードの状態を常に把握し、問題発生時に迅速に対応できるようにします。
- ログデータを収集し、ベースラインメトリクスを定義します。
- Amazon CloudWatch ダッシュボードを使用して、メトリクスのシステムレベルビューとビジネスレベルビューを表示します。
-
イベントに対応する: 計画されたイベントと計画外のイベントに適切に対応するための手順書を作成します。
- ランブックとプレイブックを使用して、イベントに対応します。
- メトリクスをモニタリングし、運用上のイベントに対して作成済みスクリプトによる応答をトリガーします。
- 根本原因の分析を行い、計画外のイベントの再発を防止します。
進化:
-
経験から学ぶ: 運用アクティビティ、障害、実験などを分析し、手順を改善します。
- ログ戦略を実装し、運用アクティビティ、ワークロード、インフラストラクチャのログを Amazon CloudWatch に集約します。
- ログデータの分析と可視化する方法を確立します。
-
教訓を共有する: 他のチームと教訓を共有することで、組織全体の運用レベルを向上させます。
- アプリケーション、コンピューティング、インフラストラクチャ、オペレーションにコードの手法を使用することで、リソースを簡単に共有できます。
- Amazon マシンイメージ (AMI)、AWS Lambda 関数、AWS CloudFormation テンプレートなどのリソースを共有します。
これらのベストプラクティスを意識し、AWSのサービスを効果的に活用することで、運用上の優秀性を実現し、ビジネス成果に貢献する安定した運用を実現できます。