Live:CloudOps Webinars & Hands-on Workshops ·Register ↗
メインコンテンツまでスキップ

アプリケーション運用

AWS のお客様は、数百ものアプリケーションを運用することが多く、アプリケーションの可用性、セキュリティ、コスト最適化、およびパフォーマンスの最適化を確保するために、個々のリソースを監視・管理する必要があります。アプリケーションはお客様のビジネスにとって不可欠です。アプリケーションとは、エンドユーザーが必要とする特定の機能やサービスを提供するために連携して動作するリソースのグループです。急速に進化する今日のデジタル環境において、AWS リソースを明確に定義されたアプリケーションに整理することは、効率的なクラウドオペレーションのために不可欠となっています。このアプリケーション中心のアプローチは、リソースの分散、運用上の非効率性、および複数の AWS アカウントにまたがるリソース管理の複雑さといった一般的な課題を解決するために必要です。

AWS は、アプリケーション中心のクラウドオペレーション戦略をサポートするために設計された包括的なサービス群を提供しており、リソース管理の効率化、可視性の向上、および全体的な運用効率の改善を実現します。

Application operations は、AWS 全体にわたる一連の機能であり、コスト、ヘルス、セキュリティ体制、アプリケーションのパフォーマンスなどのメトリクスを、より少ない労力でスケールしながら監視するための一貫したアプローチを提供します。これらの機能は、複数の AWS コンソールにわたってアプリケーション中心のビューを織り込みます。

Application Operations

複雑なクラウド環境では、多くの組織にとってアプリケーションの管理は困難で時間のかかる作業です。課題は個々のリソースの管理だけでなく、アプリケーションライフサイクルのさまざまな段階にわたるアプリケーションタスクの実行にもあります。このような断片的なアプローチにより、特定のアプリケーションに関連するリソースを特定することが難しくなり、重大なイベント発生時の応答時間の増加や、関連する運用データへのアクセスの複雑化を招きます。

これらの課題に対処するには、リソース管理のための強固な基盤を確立することが不可欠です。この基盤は、リソースの全体像を包括的に把握し、アプリケーションを中心とした堅牢なタグ付け戦略を実装することから始まります。そうすることで、組織は AWS 内でアプリケーション中心のビューへと移行できます。

このアプローチにより、お客様は特定のアプリケーションに関連するリソースを迅速に特定し、それらの相互依存関係を把握し、必要に応じて適切なアクションを実行できます。また、各アプリケーションコンテキスト内でリソースがどのように利用されているかをより明確に把握できるため、モニタリング、トラブルシューティング、およびコスト最適化の取り組みを効率化します。

Application Operations

基盤の確立

AWS のお客様は、単一のアカウント内で多数のリソースを扱うことが多く、アプリケーションへの統合されたビューがないと、効率的なアクションや意思決定が大幅に妨げられる可能性があります。お客様がビジネス目標を達成しながら運用をスケールできるよう、リソース管理サービスは AWS リソースを効果的に探索、整理、管理するためのコアプリミティブ、概念、およびテクノロジーを提供しています。これらのサービスは、お客様がビジネス目標に沿って大規模にリソースを処理するために活用できる重要な構成要素を提供します。このアプローチの基盤は、タグ付け、タグ付けポリシー、リソースグループ、および Resources Explorer という構成要素から成り立っています。

AWS Resource Explorer は、AWS リソースに関する詳細情報を集約し、それらに対してアクションを実行するための一元的な場所を提供します。リソースのフットプリントに関する詳細を確認したり、タグ付けされていないリソースの数などのガバナンスを評価したり、リソースの詳細なメタデータやリレーションシップグラフを探索したりすることができます。アカウント内のリソースを特定することが、リソースの全体像を把握するための第一歩です。

タグ付けは、リソースを整理してリソース管理を簡素化するための重要なステップです。これにより、お客様はさまざまなリソースを効率的に追跡できます。多くの組織では、部門、環境、コストセンターにタグをすでに使用していますが、アプリケーションタグを追加することは特に価値があります。このタグは、各リソースがどのアプリケーションに関連付けられているかを識別するのに役立ち、個々のリソースとそれらがサポートするアプリケーションとの間に明確なつながりを提供します。アプリケーションタグ付けを実装するには、まず各アプリケーション内で動作するすべてのリソースを特定します。アプリケーション名を含む一貫したタグ付け戦略を策定し、関連するすべてのリソースにこれらのタグを体系的に適用します。

タグ付けをリソースプロビジョニングプロセスの一部として組み込み、一貫性を維持するようにしてください。例として、AWS 上で数百のアプリケーションを運用している小売業のお客様を考えてみましょう。これは、Amazon EC2 インスタンス、Amazon S3 バケット、Amazon Relational Database Service (RDS) データベース、AWS Lambda 関数など、数千の AWS リソースを管理することを意味します。これらのリソースは、在庫管理、販売時点管理システム (POS)、顧客ロイヤルティプログラム、e コマースプラットフォームなど、さまざまなアプリケーションの一部として機能する場合があります。

Example for tagging schema for POS system and inventory manager can be as:
Application name ("pos-system", "inventory-manager")
Environment (e.g., "production", "development", "testing")
Business unit (e.g., "north-america", "europe", "e-commerce")
Cost center (e.g., "it-ops", "marketing", "sales")

このタグ付けスキーマを適用することで、小売業のお客様は、サイバーウィークセールなどの重要なイベント時に、POS システムに関連するパフォーマンスの問題を迅速に発見して対応できます。アプリケーション中心のビューから関連リソースを特定できるようになります。

タグ付けとリソースグループは、お客様が自身の環境を概念化する方法と連携して機能します。リソースグループを使用すると、AWS リソースをアプリケーション、プロジェクト、またはワークロードを反映したコンポーネントに整理できます。このアプローチにより、リソースをまとめて管理および監視するための直感的な方法が提供されます。リソースグループを効果的に使用するには、アプリケーションタグに基づいてグループを作成してください。各アプリケーションに関連するすべてのリソースを対応するグループに含めます。これらのグループは、監視、アクセス許可、コスト追跡などの一括管理タスクに使用できます。

タグ付けスキーマを使用する小売顧客の例に従い、「Application: pos-system」および「Environment: production」とタグ付けされたすべてのリソースがグループ化されました。これにより、本番環境の pos-system に含まれるすべての AWS リソースを一元的に表示できます。

アプリケーションの定義

タグと Resource Groups を基盤として、AWS 内でアプリケーションを一体的なユニットとして定義することで、Cloud Operations に対して真にアプリケーション中心のアプローチが可能になります。このステップでは、関連するすべてのリソースとその相互依存関係を包含する正式なアプリケーション定義を作成します。アプリケーションを確立するには、AWS Service Catalog AppRegistry などの AWS サービスを使用してアプリケーションを定義および管理します。アプリケーション定義にはすべての関連リソースグループと個別リソースを含め、アプリケーションのライフサイクルステージと関連する管理プロセスを定義します。

小売業のお客様の例では、AWS Service Catalog AppRegistry を使用して、Web サーバー、データベース、ロードバランサーなどのすべてのリソースグループと個々のリソースを含むアプリケーション定義を正式化します。ライフサイクルステージ(開発、ステージング、本番)を確立し、関連する管理プロセスを関連付けます。

このアプローチを活用することで、AWS におけるアプリケーション中心のリソース管理のための強固な基盤を構築できます。このアプローチにより、効率的な運用、アプリケーションの健全性とパフォーマンスへの可視性の向上、そして IT リソースとビジネス目標との整合性の改善が実現します。自動スケーリング、簡素化されたディザスタリカバリ、正確なコスト配分といった高度な管理機能への道を開くものでもあります。これらのステップを進めていくにつれ、AWS 環境が整理され、管理しやすくなり、ビジネスニーズに沿ったものになることがわかるでしょう。最終的には、運用効率の向上とリソース利用の最適化につながります。アプリケーションに焦点を当てたメンタルモデルを構築しましょう。

アプリケーション中心のビュー

アプリケーション運用には一貫したアプリケーションモデルが必要です。AWS Service Catalog AppRegistry はアプリケーションのメタデータを保存し、AWS Resource Groups はアプリケーションリソースを論理的にグループ化し、リソースタグ付けによってアプリケーションのリソースを検索可能なリソースグループに整理します。

AppRegistry アプリケーションが作成されると、AppRegistry はベンダー提供のアプリケーションタグを使用して、AWS リソースをリソースグループとして関連付けます。タグキーは awsApplication で、値はアプリケーションの一意の識別子です。タグキーと値はどちらも大文字と小文字が区別されます。このキーと値のペアでタグ付けされた AWS リソースはすべて、アプリケーションの一部となります。このアプリケーションタグにより、AWS サービスはコンソールや API 内でそのアプリケーションタグを参照することで、アプリケーション操作をサポートできます。

このアプローチを活用することで、AWS におけるアプリケーション中心のリソース管理のための強固な基盤を構築できます。このアプローチにより、効率的な運用、アプリケーションの健全性とパフォーマンスへの可視性の向上、そして IT リソースとビジネス目標との整合性の改善が実現します。自動スケーリング、簡素化されたディザスタリカバリ、正確なコスト配分といった高度な管理機能への道を開くものでもあります。これらのステップを進めていくにつれ、AWS 環境が整理され、管理しやすくなり、ビジネスニーズに沿ったものになることがわかるでしょう。最終的には、運用効率の向上とリソース利用の最適化につながります。アプリケーションに焦点を当てたメンタルモデルを構築しましょう。

myApplications ダッシュボードは、アプリケーションタグを使用して、コストと使用状況、セキュリティ、オペレーションのメトリクスや複数の AWS サービスからのインサイトを含む、選択したアプリケーションのメトリクスの統合ビューを提供します。myApplications は、既存のタグを使用したリソースの自動追加をサポートしています。既存のタグを使用してリソースを自動的に追加し、時間の経過とともにリソースに対して選択したタグを追加または削除することでアプリケーションを更新できます。

myApplications ダッシュボードを使用すると、アプリケーションパフォーマンスのための Amazon CloudWatch、コストと使用状況のための AWS Cost Explorer、セキュリティの検出結果のための AWS Security Hub など、関連サービスの特定のリソースに対してより詳細なアクションを実行できます。

コストと使用状況ウィジェット

お客様は、アプリケーションリソースのコストを予測し、コストを最適化することに課題を感じています。アプリケーションのリソースコストを把握するために、支出を一目で監視し、アプリケーションの現在および予測される月次コストを確認できます。コストのトレンドを詳しく分析し、クリックして AWS 上のアプリケーションのコストを最適化するためのアクションを実行できます。

Cost & Usage ウィジェットは、AWS Cost Explorer からの AWS リソースのコストを視覚化します。アプリケーションの現在のコストと月末の予測コスト、上位 5 つの請求サービス、および月次アプリケーションリソースコストのトレンドチャートが含まれます。支出の監視、異常の検出、および節約の機会を見つけることができます。

AWS Organizations を活用し、組織レベルで AWS Cost Explorer を有効にしているお客様は、メンバーアカウントで明示的に有効にする必要はありません。Cost Explorer は、FinOps 戦略に基づいてすでに有効になっている場合があります。新規のお客様や複数のスタンドアロンアカウントを運用しているお客様にとって、Cost Explorer を有効にすることは一般的なベストプラクティスであり、Cost Explorer コンソールから有効にできます。これにより、個々のリソースの支出を確認するのではなく、アプリケーションにかかるコストを把握する手段が提供され、myApplications のエクスペリエンスを最大限に活用できます。詳細については、Cost Explorer の有効化をご覧ください。

DevOps ウィジェット

企業がクリティカルなビジネスアプリケーションを支えるためにクラウドベースのアーキテクチャをますます採用するにつれて、包括的な運用インサイトの必要性が最重要となっています。これらのアプリケーションは、複雑で分散したインフラリソースとサービスのセットに依存していることが多く、IT チームがアプリケーション環境全体の健全性とコンプライアンスに対する可視性と制御を維持することが困難になっています。

DevOps ウィジェットは、アプリケーションの主要な運用インサイトを一元的に表示することで、この課題に対処します。このウィジェットは、フリート管理、コンプライアンス、OpsItems 管理に関する重要な情報を表示し、チームがアプリケーションの全体的な運用状態を迅速に評価し、コンプライアンスと信頼性を確保するために必要なアクションを実行できるようにします。

このウィジェットのデータを監視することで、アプリケーションインフラストラクチャの運用上の健全性に関する貴重なインサイトを得ることができ、コンプライアンスのドリフトを特定し、ユーザーへの影響が生じる前にプロアクティブに対処することができます。これにより、チームは AWS 上の重要なビジネスアプリケーションの運用ライフサイクルをより迅速、効率的、かつ効果的に管理できるようになります。

Systems Manager から提供される情報はノード管理を提供し、Config はリソースレベルからデプロイされたルールへのコンプライアンスステータスを評価します。

ノード管理情報は、インスタンスが Systems Manager によって管理されているかどうか、パッチポリシーからのパッチコンプライアンス状態、およびリソースに関連付けられている OpsItems と重大度レベルを識別します。Systems Manager でインスタンスを管理するには、満たす必要がある 3 つの前提条件があります。まず、SSM エージェントがインストールされている必要があります。次に、SSM エージェントがノード上でお客様に代わってアクションを実行するために必要なアクセス許可が必要です。これを行うには、ホスト管理を通じて Quick Setup を使用するか、Default Host Management (DHMC) を使用するか、またはリソースをデプロイする際に IaC を通じて必要な IAM ロールとアクセス許可を追加します。最後に、SSM エージェントはインターネット経由またはを使用してVPC エンドポイント経由でサービスエンドポイントへのネットワーク接続が必要です。

Systems Manager のパッチマネージャーでは、インスタンスへのパッチ適用に関する特定の基準を定義できるパッチベースラインを使用します。また、パッチポリシーを使用して、AWS Organization およびリージョン全体でパッチ適用をスケールすることもできます。さらに、Systems Manager OpsCenter からの運用データも確認できます。OpsCenter は、調査と修復が必要な運用上の問題や障害に関連付けられた OpsItem を作成します。Amazon CloudWatch と統合する OpsItem を作成して EC2 インスタンスの CPU 使用率が上限に近づいていることを検知したり、Security Hub の検出結果に対する OpsItem を作成したりすることができます。

もう一方のコンポーネントは、アカウント内にデプロイされているルールに対するリソースのコンプライアンスステータスに関して収集される Config データです。まず、ウィジェットはアカウント内のルールのうち、準拠しており非準拠のリソースを持たないルールの数に基づいて、ルールコンプライアンスステータスの集計パーセンテージを表示します。次に、ウィジェットはアプリケーションリソースのコンプライアンスステータスのパーセンテージを提供し、アプリケーションリソースが選択されたルールに準拠しているかどうかを示します。

セキュリティウィジェット

AWS リソースのセキュリティ調査結果を評価するセキュリティチームは、ビジネスの重要度を理解し、次のステップを優先順位付けし、解決策を特定するために必要なアプリケーションのコンテキストを把握するのに時間を要します。アプリケーションのセキュリティ体制を改善するために、AWS ベースのアプリケーションのセキュリティ体制をより迅速に把握できるようになります。開発者、セキュリティチーム、およびアプリケーションチームは、セキュリティリスクを特定し、アプリケーションの重要度に基づいて問題を迅速に優先順位付けできます。

セキュリティウィジェットは、アプリケーションを構成するリソースに関する AWS Security Hub からの情報を表示します。AWS Security Hub は、クラウドセキュリティポスチャ管理 (CSPM) サービスであり、AWS リソースに対する自動化された継続的なセキュリティベストプラクティスチェックによってセキュリティオペレーションを効率化し、設定ミスの特定を支援します。Security Hub はセキュリティアラート(つまり、検出結果)を標準化された形式で集約し、優先順位を付けることで、より簡単にエンリッチメント、調査、および修復を行えるようにします。

Security Hub は、AWS アカウント、ワークロード、およびリソースのセキュリティを管理・改善する際の複雑さと手間を軽減します。すべてのアカウントとリージョンにわたって Security Hub を有効にすることができます。

コンピューティングウィジェット

多くの企業は、重要なビジネス運営をサポートするために、AWS 上で複雑な分散アプリケーションの大規模なポートフォリオを運用しています。これらのアプリケーションは、必要なパフォーマンスとスケーラビリティを提供するために、EC2 インスタンスや Lambda 関数などのさまざまなコンピューティングリソースに依存しています。しかし、これらすべてのアプリケーションにわたるコンピューティングメトリクスと使用率の一元的なビューがなければ、IT チームがアプリケーションインフラストラクチャの健全性とキャパシティを効果的に監視することは非常に困難になります。

AWS では、アプリケーションの適切なサイジングの機会を特定するために AWS Compute Optimizer の使用を推奨しています。AWS Compute Optimizer は、vCPU、メモリ、ストレージなどの仕様と、過去 14 日間(デフォルト期間)から最大 93 日間にわたる実行中のリソースの CloudWatch メトリクスを分析します。

myApplications ダッシュボードの Compute ウィジェットは、各アプリケーションを支えるコンピューティングリソースを統合的に一目で把握できる視点を提供することで、このニーズに応えます。このウィジェットは、アラームの総数、さまざまなコンピューティングリソースタイプ、EC2 インスタンスの CPU 使用率や Lambda の呼び出し数などのパフォーマンストレンドといった、設定済みのコンピューティングリソースに関する重要な情報とメトリクスを表示します。このウィジェットのデータを監視することで、アプリケーションのコンピューティングインフラストラクチャの運用状態とキャパシティについて貴重なインサイトを得ることができます。これにより、IT チームはコンピューティングキャパシティ全体を迅速に評価し、パフォーマンスのボトルネックを特定し、アプリケーションが 24 時間 365 日利用可能な状態で最高の効率で稼働し続けるよう、必要に応じてリソースをプロアクティブにスケールすることが可能になります。

モニタリングおよびオペレーションウィジェット

モニタリングおよびオペレーションウィジェットには、アプリケーションに関連付けられたリソースのアラームとカナリアアラーム、アプリケーションサービスレベルインジケーター (SLI) とメトリクス、およびその他の利用可能な AWS CloudWatch Application Signals メトリクスが表示されます。

アラームとは、プローブやモニターの状態、または特定のしきい値を超えたり下回ったりした値の変化を指します。アラームを作成する際には、いくつかの点を考慮する必要があります。1/ 常に目標から逆算して作業する(対処可能なものにアラートを設定する)、2/ アラームが通知を必要としない場合、または自動プロセスをトリガーしない場合は、アラートを設定する必要はありません。

Amazon CloudWatch Application Signals は、AWS 上のアプリケーションをインストルメント化することで、アプリケーションの健全性を監視し、ビジネス目標に対するパフォーマンスを追跡しながら、アプリケーション、サービス、および依存関係のビューを提供し、アプリケーションの健全性の監視とトリアージを支援します。

CloudWatch Synthetics モニタリング(カナリア)は Application Signals と統合されています。カナリアは、アプリケーションのエンドユーザーと同じルートをたどり、同じアクションを実行するスケジュールされた合成動作を使用して、エンドポイントと API を監視できる強力な機能です。カナリアを使用することで、カスタマーエクスペリエンスを継続的に評価し、エンドユーザーよりも先に問題を発見することができます。

オブザーバビリティを初めて使用する場合や、メトリクス、アラーム、またはオブザーバビリティ戦略の設定方法についてガイダンスが必要な場合は、AWS Observability Best Practices を参照してください。オブザーバビリティのさまざまなコンポーネントを理解し、モニタリングに役立つメトリクスやアラームなどを把握するための入門情報が記載されています。

注意: コンテナベースのアプリケーションを運用しているお客様がクラスター、タスクなどにタグを付けるには、EC2 以外のリソースに対して手動でタグを付ける必要があります。

戦略から実行へ

  1. アプリケーション名、環境、ビジネスユニット、コストセンターに焦点を当てた包括的なタグ付け戦略の策定から始めます。タグ付け戦略の構築
  2. これらのタグをすべての関連リソースに体系的に適用し、プロビジョニングプロセスの一部として組み込みます。AWS Resource Groups & Tag Editor を使用することで、タグに基づいてリソースを作成、管理、検索できます。複数の AWS サービスにわたるタグをアカウントレベルで一元管理する方法を提供します。AWS の Resource Groups とタグ付け
  3. これらのタグに基づいてリソースグループを作成します。たとえば、すべての本番 POS システムリソースをグループ化します。AWS Service Catalog AppRegistry を使用することで、POS や在庫管理などのシステムのすべてのコンポーネントと相互依存関係を含むアプリケーションを正式に定義できます。AWS Service Catalog AppRegistry の主要概念
  4. myApplications ダッシュボードを活用して、小売アプリケーションの統合ビューを取得し、サイバーウィークセールなどの重要なイベント時に重要なメトリクスを監視します。アプリケーション作成ウィザードを使用してアプリケーションをより簡単に作成し、コンソールの 1 つのビューから AWS アカウント内のリソースを接続できます。作成されたアプリケーションは自動的に myApplications に表示され、アプリケーションに対してアクションを実行できます。AWS Management Console の myApplications によるアプリケーションリソース管理の簡素化

参考資料:

まとめ

顧客のビジネスがクラウド上で成長・進化し続ける中、リソース管理のベストプラクティスを採用することは不可欠です。基盤を整えることで、組織は現在のニーズを満たすだけでなく、将来の成長とイノベーションにも対応できます。AWS Application Operations と myApplications は、このアプローチをさらに一歩進め、アプリケーションリソースとメトリクスの統合ビューを提供します。これにより、チームは迅速に情報に基づいた意思決定を行い、問題に積極的に対応し、大規模なリソースをより効果的に管理できるようになります。