COST11-BP01 運用のオートメーションを実行する - AWS Well-Architected Framework

COST11-BP01 運用のオートメーションを実行する

管理タスク、デプロイ、人的エラーのリスク低減、コンプライアンス、運用において、オートメーションによって達成可能な時間と労力の節約を数値化することに重点を置いて、クラウドの運用コストを評価します。運用作業に必要な時間と関連コストを評価し、管理タスクを自動化することで、可能な限り手作業を最小限に抑えます。

このベストプラクティスが確立されていない場合のリスクレベル:

実装のガイダンス

運用を自動化することで、手動タスクの頻度が減り、効率が高まるとともに、ワークロードのデプロイ、管理、運用において安定した信頼性の高いエクスペリエンスを提供できるため顧客にメリットをもたらします。インフラストラクチャのリソースを手動の運用タスクから解放し、リソースをより価値の高いタスクやイノベーションに使用できるため、ビジネス成果が向上します。企業は、クラウドでワークロードを管理するための、実績がありテスト済みの方法を求めています。そのようなソリューションは安全、高速でありコスト効果が高く、最小限のリスクで最大限の信頼性を得られるものでなくてはなりません。

運用コスト全体を確認して、必要な労力に基づいて運用作業に優先順位を付けることから始めます。例えば、クラウドに新しいリソースをデプロイするのにかかる時間、既存のものを最適化する変更にかかる時間、必要な構成を設定するのにかかる時間はどのくらいでしょうか。 オペレーションと管理のコストを考慮に入れて、人間による操作の合計コストを確認します。管理タスクのオートメーションに優先順位を付けて、人間の手作業を減らします。

レビューを行う際には、潜在的利益を織り込む必要があります。例えば、タスクを手動で実行する場合にかかる時間を、自動で実行する場合と比較します。反復的で価値が高く、時間のかかる複雑なアクティビティの自動化を優先します。通常、高価値で、人的エラーのリスクが高いアクティビティから自動化するのが良い方法です。このようなリスクは望ましくない追加の運用コスト (運用チームの追加作業時間など) の発生につながることが多いためです。

AWS、Systems Manager、AWS Config などのオートメーションツールを使用して、運用、コンプライアンス、モニタリング、ライフサイクル、終了のプロセスを合理化します。AWS のサービス、ツール、およびサードパーティ製品を使用して、実装するオートメーションを特定の要件に合わせてカスタマイズできます。次の表は、AWS のサービスを使用して管理と運用を自動化することで実現できる主な運用の機能の一部を示しています。

  • AWS Audit Manager: AWS の使用状況を継続的に監査し、リスクとコンプライアンスの評価を簡易化します

  • AWS Backup: データ保護を一元的に管理および自動化します。

  • AWS Config: コンピューティングリソースを設定し、設定とリソースインベントリを査定、監査、評価します。

  • AWS CloudFormation: 高可用性リソースを Infrastructure as Code を使用して起動します。

  • AWS CloudTrail: IT の変更管理、コンプラインス、コントロール。

  • Amazon EventBridge: イベントをスケジュールし、AWS Lambda をトリガーしてアクションを実行します。

  • AWS Lambda: イベントでトリガーしたり、AWS EventBridge を使用して固定スケジュールで実行したりすることで、反復的なプロセスを自動化します。

  • AWS Systems Manager: ワークロードの開始と停止、オペレーティングシステムへのパッチ適用、設定の自動化、継続的な管理を行います。

  • AWS Step Functions: ジョブをスケジュールし、ワークフローを自動化します。

  • AWS Service Catalog: テンプレートの消費、コンプライアンスとコントロールを備えた Infrastructure as Code。

AWS の製品やサービスを使用してすぐにオートメーションを導入する場合に組織にそのスキルがない場合は、AWS Managed Services (AMS)AWS プロフェッショナルサービス、または AWS パートナーに連絡して、オートメーションの導入を増やし、クラウドにおける運用上の優秀性を高めます。

AWS Managed Services (AMS) は、エンタープライズのお客様やパートナーに代わって AWS インフラストラクチャを運用するサービスです。コンプライアンスに準拠したセキュアな環境で、ワークロードをデプロイできます。AMS では、エンタープライズクラウド運用モデルとオートメーションを使用して、組織の要件を満たし、クラウド移行を高速化し、オンゴーイングの管理コストを削減できます。

また、AWS プロフェッショナルサービスは、AWS を使用して目的のビジネス成果を達成し、運用を自動化できるようサポートします。自動化された堅牢かつ俊敏な IT 運用と、クラウドに最適化されたガバナンス機能のデプロイについてお客様を支援します。モニタリング例の詳細と推奨されるベストプラクティスについては、運用上の優秀性の柱に関するホワイトペーパーを参照してください。

実装手順

  • 構築は 1 回、デプロイは多数: CloudFormation、AWS SDK、AWS CLI などの Infrastructure as Code を使用して 1 回デプロイし、同様の環境やディザスタリカバリのシナリオで何度も使用します。デプロイ中にタグを付け、他のベストプラクティスで定義されている消費を追跡します。AWS Launch Wizard を使用して、多数の一般的なエンタープライズワークロードをデプロイする回数を削減します。AWS Launch Wizard は、AWS のベストプラクティスに従って、エンタープライズワークロードのサイズ決定、設定、デプロイにわたってガイドを提供します。また、Service Catalog を使用することもできます。これにより、承認を受けた Infrastructure-as-Code テンプレートを作成および管理して AWS で使用できるため、承認済みのセルフサービス型クラウドリソースを誰でも見つけることができます。

  • 継続的なコンプライアンスの自動化: 事前定義された基準に照らした、記録された設定の評価と修正を自動化することを検討します。AWS Organizations と、AWS Config および AWS CloudFormation の機能と組み合わせることで、何百ものメンバーアカウントに対する大規模な設定コンプライアンスを効率的に管理して自動化できます。設定の変更や、AWS リソース間の関係を確認して、リソース設定の履歴を詳しく調べることができます。

  • モニタリングタスクの自動化: AWS は、サービスのモニタリングに使用できるさまざまなツールを提供しています。これらのツールを設定して、モニタリングタスクを自動化できます。ワークロードのすべての部分からモニタリングデータを収集するモニタリング計画を作成して実装すると、マルチポイント障害が発生した場合のデバッグがより簡単になります。例えば、自動モニタリングツールを使用して、Amazon EC2 を観察し、システムステータスチェック、インスタンスステータスチェック、および Amazon CloudWatch アラームで問題が検出された場合に報告を受けることができます。

  • メンテナンスと運用の自動化: 定期的なオペレーションを、人間の介入なく自動的に実行します。AWS のサービスやツールを使用すると、実装する AWS のオートメーションを選択し、固有の要件に合わせてカスタマイズできます。例えば、EC2 Image Builder を使用して仮想マシンやコンテナイメージを構築、テスト、デプロイし、AWS またはオンプレミスで使用できるようにしたり、AWS SSM を使用して EC2 インスタンスにパッチを適用したりすることができます。目的のアクションが AWS のサービスで実現できない場合や、リソースのフィルタリングを伴うより複雑なアクションが必要な場合は、AWS Command Line Interface (AWS CLI) または AWS SDK ツールを使用して、オペレーションを自動化します。AWS CLI は、AWS Management Console を使用せずに、スクリプトによって AWS のサービスのコントロールと管理プロセス全体を自動化する機能を提供します。AWS のサービスとやり取りする AWS SDK を選択します。その他のコード例については、「AWS SDK Code examples repository」を参照してください。

  • オートメーションによる継続的なライフサイクルの構築: 規制や冗長性だけでなく、コスト最適化のためにも、成熟したライフサイクルポリシーを確立して維持することが重要です。AWS Backup を使用して、バケット、ボリューム、データベース、ファイルシステムなどのデータストアのデータ保護を一元的に管理および自動化できます。また、Amazon Data Lifecycle Manager を使用して、EBS スナップショットや EBS-backed AMI の作成、保持、削除を自動化することもできます。

  • 不要なリソースの削除: 未使用のリソースがサンドボックスや開発用 AWS アカウントに蓄積されてしまうことがよくあります。開発者は通常の開発サイクルの中でさまざまなサービスやリソースを構築して実験し、不要になってもこうしたリソースを削除しないためです。未使用のリソースは、組織にとって不要なコスト、場合によっては高額なコストをもたらす場合があります。こうしたリソースを削除することで、こうした環境の運用コストを削減できます。データが不要であることを確認し、不要かどうか不明な場合はバックアップ済みであることを確認します。AWS CloudFormation を使用してデプロイ済みのスタックをクリーンアップできます。これにより、テンプレートで定義されているリソースの大部分が自動的に削除されます。または、aws-nuke などのツールを使用して、AWS リソースを削除するオートメーションを作成することもできます。

リソース

関連するドキュメント:

関連動画:

関連する例: