Amazon ECS マネージドインスタンスのインフラストラクチャの最適化
Amazon ECS マネージドインスタンスは、キャパシティプロバイダの設定と現在のワークロード需要に基づいて、適切なサイズの EC2 インスタンスを自動的に割り当てることで、コンテナ化されたアプリケーションが展開された瞬間から適切なコンピューティングリソースを確保します。アプリケーションのトラフィックパターンが進化し、ワークロード要件が時間の経過とともに変化するにつれて、Amazon ECS マネージドインスタンスは、現在のニーズに合わせてインスタンスサイズを自律的に調整し、最適な設定から逸脱したインスタンスを積極的に置き換え、コスト効率、アプリケーションパフォーマンス、システムの信頼性を動的に調整することで、インフラストラクチャを継続的にモニタリングおよび最適化します。このリソース管理システムは手動の介入なしで動作するため、アプリケーションの高可用性を維持しながらインフラストラクチャコストを削減できます。
インフラストラクチャの最適化には次の利点があります。
-
コスト最適化 – リソース使用率を最大化し、余剰能力を排除することで、インフラストラクチャコストを削減します
-
パフォーマンスの改善 – リソース要件とパフォーマンス特性に基づいてワークロード配置を最適化します
-
運用の簡素化 – 手動の介入を必要とせずに、複雑なリソース管理の決定を自動化します
-
信頼性の向上 – 自律的なワークロード分散と動作状態のモニタリングを通じて高可用性を維持します
Amazon ECS マネージドインスタンスは、効率を最大化しコストを削減するために、2 種類のインフラストラクチャ最適化を実行します。
非稼働インスタンスの検出
実行中のタスクがない EC2 インスタンスを特定して削除することで、未使用の能力から不要なインフラストラクチャコストを排除します。非稼働状態のインスタンスが検出されると、最適化プロセスはコンテナインスタンスを DEREGISTERING として印を付け、基盤となる EC2 インスタンスを安全に終了するクリーンアップシーケンスを開始します。
使用率の低いインスタンス検出
インスタンス間にわたるタスク分散を分析し、リソース割り当ての改善機会を特定します。タスクが複数のインスタンス間で最適に実行されていない場合、Amazon ECS マネージドインスタンスはワークロードをより少なく、より効率的に使用されているインスタンスに統合し、パフォーマンスを維持しながら全体的なコストを削減します。最適化プロセスでは、使用率の低いコンテナインスタンスを DRAINING として印を付けます。これにより、タスクの置き換えが開始され、ワークロードが既存または新しい、より効率的なインスタンスに移行されます。すべてのタスクが安全に移行されると、インスタンスは DEREGISTERING 状態に移行し、クリーンアップされます。この最適化は、サービスタスクを実行しているインスタンスに適用され、サービスの最小タスク制限と最大タスク制限を尊重し、スタートビフォーストップのデプロイ動作を優先し、ドレイニングプロセス全体を通してタスク保護設定を維持することで、安全な統合を実現します。ECS マネージドインスタンスは独立型タスクを置き換えないため、独立型タスクを実行しているインスタンスは最適化対象とはみなされません。
これらの最適化は連携して、アプリケーションの可用性に影響を与えることなく、自動的に無駄を排除し、リソース使用率を改善することで、インフラストラクチャが実際のワークロードの需要に継続的に適応することを確実にします。どちらのメカニズムも、タスクとインスタンスのライフサイクルイベントに応答するイベント駆動型モニタリングを使用して、最適化の機会をリアルタイムで特定します。Amazon ECS マネージドインスタンスは、コンテナインスタンス上で最後のタスクが停止したときに検出し、コスト最適化のため、非稼働状態になる見込みを提示します。使用率の低いインスタンスの場合、タスクの停止または新しいインスタンスの起動によって分析が開始され、ワークロード統合とリソース効率改善の機会を特定します。
ScaleInAfter
どちらのインフラストラクチャの最適化も、実行中のインスタンスを終了して使用率を向上し、コストを削減する機会を探します。Amazon ECS マネージドインスタンスのキャパシティプロバイダ設定の ScaleInAfter 設定を使用して、これらのアクションのタイミングを制御できます。これは、非稼働状態のインスタンスと使用率の低いインスタンスの両方に適用されます。ScaleInAfter では、インスタンスが非稼働状態または使用率の低い状態になるときから、Amazon ECS マネージドインスタンスがインフラストラクチャの最適化を開始するときまでの遅延を秒単位で指定できます。遅延は 0~3600 秒の間で設定できます。-1 を指定してインフラストラクチャの最適化を無効にすることもできます。
- 非稼働状態のインスタンス
-
-
ECS は、最後のタスクが停止した後、インスタンスの登録を解除する前に、指定された期間待機します。
-
待機期間中に新しいタスクが開始された場合、インスタンスは非稼働状態とみなされなくなり、停止はキャンセルされます。
-
- 使用率の低いインスタンス
-
-
ECS は、インスタンスが十分に活用されない結果となるタスク停止イベントの後、インスタンスをドレイニングする前に、指定された期間待機します。
-
待機期間中に新しいタスクが起動、または既存のタスクが特定のインスタンスで停止された場合、タイマーは最新のタスク停止時間または新しいタスク作成時間からリセットされ、Amazon ECS マネージドインスタンスは非効率について再評価し、新しい待機期間が終了した後に必要に応じてアクションを実行します。
-
この設定はオプションです。指定しない場合、ECS マネージドインスタンスは ECS マネージドインスタンスのデフォルト設定に基づいて最適なタイミングを自動的に決定します。