翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
自動ロールバックのためのデプロイのモニタリング
デプロイ中、Amazon CloudWatch アラームに基づく AWS AppConfig デプロイ戦略と自動ロールバックを組み合わせて使用することで、誤った形式または誤った設定データが原因でアプリケーションでエラーが発生する状況を軽減できます。設定後、デプロイ中に 1 つ以上の CloudWatch アラームが ALARM
または INSUFFICIENT_DATA
状態になった場合、 は設定データを以前のバージョン AWS AppConfig に自動的にロールバックし、アプリケーションの停止やエラーを防ぎます。
注記
関連付けられた CloudWatch アラームでアクションが無効になっている場合、デプロイは自動的にロールバックされません。
アラームを無効または有効にするには、DisableAlarmActions および EnableAlarmActions API アクション、または AWS CLIの disable-alarm-actions および enable-alarm-actions コマンドを使用します。
また、デプロイが進行中に StopDeployment API オペレーションを呼び出すことで、設定をロールバックすることもできます。
重要
正常に完了したデプロイの場合、 は、StopDeployment API オペレーションで AllowRevert
パラメータを使用して設定データを以前のバージョンに戻す AWS AppConfig こともサポートします。一部のお客様では、デプロイが成功した後に以前の設定に戻すと、データはデプロイ前と同じであることが保証されます。また、元に戻すとアラームモニターも無視され、アプリケーションの緊急事態中にロールフォワードが進行するのを防ぐことができます。詳細については、「設定の復元」を参照してください。
自動ロールバックを設定するには、 AWS AppConfig 環境を作成 (または編集) するときに [CloudWatch アラーム] フィールドに 1 つ以上の CloudWatch メトリクスの Amazon リソースネーム (ARN) を指定します。詳細については、「AWS AppConfigでのアプリケーション環境を作成します 」を参照してください。
注記
サードパーティーのモニタリングソリューション (Datadog など) を使用する場合、AT_DEPLOYMENT_TICK
アクションポイントでアラームをチェックする AWS AppConfig 拡張機能を作成し、アラームをトリガーした場合、安全ガードレールとしてデプロイをロールバックできます。 AWS AppConfig 拡張機能の詳細については、「」を参照してください拡張機能を使用した AWS AppConfig ワークフローの拡張。カスタム拡張機能の詳細については、「」を参照してくださいチュートリアル: カスタム AWS AppConfig 拡張機能の作成。AT_DEPLOYMENT_TICK
アクションポイントを使用して Datadog と統合する AWS AppConfig 拡張機能のコードサンプルを表示するには、GitHub の「aws-samples / aws-appconfig-tick-extn-for-datadog
自動ロールバックをモニタリングするための推奨メトリクス
モニタリングするメトリクスは、アプリケーションで使用されるハードウェアとソフトウェアによって異なります。 の AWS AppConfig お客様は、多くの場合、次のメトリクスをモニタリングします。でグループ化された推奨メトリクスの完全なリストについては AWS のサービス、Amazon CloudWatch ユーザーガイド」の「推奨アラーム」を参照してください。
モニタリングするメトリクスを特定したら、CloudWatch を使用してアラームを設定します。詳細については、「Using Amazon CloudWatch alarms」(Amazon CloudWatch アラームを使用する) を参照してください。
サービス | メトリクス | 詳細 |
---|---|---|
4XXError |
このアラームは、クライアント側エラーの発生率が高いことを検出します。これは、認可パラメータまたはクライアントリクエストパラメータに問題があることを示している可能性があります。また、リソースが削除されたか、存在しないリソースをクライアントがリクエストしている可能性もあります。Amazon CloudWatch Logs を有効にして、4XX エラーの原因となっている可能性のあるエラーがないか確認することを検討してください。さらに、詳細な CloudWatch メトリクスを有効にして、リソースやメソッドごとにこのメトリクスを表示し、エラーの原因を絞り込むことを検討してください。また、設定したスロットリング制限を超えたためにエラーが発生することもあります。 |
|
5XXError |
このアラームは、サーバー側エラーの発生率が高いことを検出するのに役立ちます。これは、API バックエンド、ネットワーク、または API ゲートウェイとバックエンド API の統合に問題があることを示している可能性があります。 |
|
レイテンシー |
このアラームは、ステージ内のレイテンシーが大きいことを検出します。 |
|
GroupInServiceCapacity |
このアラームは、グループ内の容量がワークロードに必要な希望容量を下回ったことを検出するのに役立ちます。トラブルシューティングを行うには、スケーリングアクティビティの起動に障害がないかどうかをチェックし、必要な容量設定が正しいことを確認します。 |
|
CPUUtilization |
このアラームは EC2 インスタンスの CPU 使用率をモニタリングするのに役立ちます。アプリケーションによっては、使用率が定常的に高いことが普通かもしれません。しかし、パフォーマンスが低下し、アプリケーションがディスク I/O、メモリ、ネットワークリソースの制約を受けていない場合、CPU が上限に達しているということは、リソースのボトルネックやアプリケーションのパフォーマンス上の問題を示している可能性があります。 |
|
CPUReservation |
このアラームは、ECS クラスターの CPU 予約率が高いことを検出するのに役立ちます。CPU 予約率が高い場合は、そのタスク用に登録されている CPU がクラスターに不足している可能性があります。 |
|
HTTPCode_Target_5XX_Count |
このアラームは、ECS サービスのサーバー側エラー数が多いことを検出するのに役立ちます。これは、サーバーがリクエストを処理できない原因となるエラーがあることを示している可能性があります。 |
|
node_cpu_utilization |
このアラームは、Amazon EKS クラスターのワーカーノードの CPU 使用率が高いことを検出するのに役立ちます。使用率が定常的に高い場合は、ワーカーノードを CPU の大きいインスタンスに置き換えるか、システムを水平的にスケールする必要があることを示している可能性があります。 |
|
node_memory_utilization |
このアラームは、Amazon EKS クラスターのワーカーノードのメモリ使用率が高いことを検出するのに役立ちます。使用率が定常的に高い場合は、ポッドレプリカの数をスケールするか、アプリケーションを最適化する必要があることを示している可能性があります。 |
|
pod_cpu_utilization_over_pod_limit |
このアラームは、Amazon EKS クラスターのポッドの CPU 使用率が高いことを検出するのに役立ちます。使用率が定常的に高い場合は、影響を受けるポッドの CPU 上限を増やす必要があることを示している可能性があります。 |
|
pod_memory_utilization_over_pod_limit |
このアラームは、Amazon EKS クラスターのポッドの CPU 使用率が高いことを検出するのに役立ちます。使用率が定常的に高い場合は、影響を受けるポッドの CPU 上限を増やす必要があることを示している可能性があります。 |
|
エラー |
このアラームは、エラー数が多いことを検出します。エラーには、コードによってスローされた例外と、Lambda ランタイムによってスローされた例外が含まれます。 |
|
Throttles |
このアラームは、スロットリングされた呼び出しリクエストが多いことを検出します。スロットリングは、スケールアップに同時実行が利用できない場合に発生します。 |
|
memory_utilization |
このアラームは、Lambda 関数のメモリ使用率が設定された上限に近づいているかどうかを検出するために使用されます。 |
|
4xxErrors |
このアラームは、クライアントのリクエストに応答して生成されたエラーステータスコード 4xx の総数を報告するのに役立ちます。例えば、エラーコード 403 は IAM ポリシーが正しくないことを示している可能性があり、エラーコード 404 はクライアントアプリケーションの動作が正しくないことを示している可能性があります。 |
|
5xxErrors |
このアラームは、サーバー側エラー数が多いことを検出するのに役立ちます。これらのエラーは、クライアントがリクエストを行ったが、サーバーが完了できなかったことを示しています。これは、S3 が原因でアプリケーションが直面している問題を関連付けることに役立ちます。 |