type
status
date
slug
summary
tags
category
icon
password
理論
1. Auto Scalingの仕組み
Auto Scalingは、AWSのサービスで、特定の条件(例:CPU使用率、メモリ、リクエスト数など)に基づいて、Amazon EC2インスタンスの数を自動的に調整するために使用されます。これにより、アプリケーションの需要に応じて、インスタンスの数を増減させ、パフォーマンスを最適化しつつ、コストを削減することができます。
Auto Scalingの設定には、スケーリングポリシー、ヘルスチェック、インスタンスの終了条件などが含まれます。
2. ヘルスチェック
ヘルスチェックは、Auto Scalingによってインスタンスが正常かどうかを監視するためのメカニズムです。ヘルスチェックは、アプリケーションの動作状態やインスタンスのネットワーク状態を確認します。
- EC2のヘルスチェック:インスタンス自体の状態(例:EC2インスタンスが起動しているかどうか)を監視します。
- Elastic Load Balancer(ELB)のヘルスチェック:インスタンスに送信されるトラフィックが正常に処理されるかどうかを監視します。
インスタンスが不健康と判断された場合、Auto Scalingはそのインスタンスを終了して、新しいインスタンスを起動します。このプロセスは、終了保護が有効でも、ヘルスチェックが原因で自動的に終了する場合があります。
3. 終了保護(Termination Protection)
終了保護は、EC2インスタンスが手動で終了されるのを防ぐための設定です。終了保護が有効になっているインスタンスは、管理者が手動でインスタンスを終了することができなくなります。これは誤ってインスタンスを終了してしまうのを防ぐために使われます。
ただし、Auto Scalingやヘルスチェックによる終了は終了保護の影響を受けません。つまり、インスタンスが不健康と判断されると、Auto Scalingはそのインスタンスを終了するため、終了保護は効かないという点を理解しておくことが重要です。
4. Auto Scalingグループのプロセス管理
Auto Scalingは、スケーリングアクションの実行においてさまざまなプロセスを管理しています。特に、次のプロセスに注意を払う必要があります。
- HealthCheck(ヘルスチェック):Auto Scalingグループ内でインスタンスの健康状態をチェックし、不健康なインスタンスを終了して置き換えます。これにはEC2インスタンスとELBのヘルスチェックが関与します。
- Terminate(終了)プロセス:インスタンスが不健康だと判断された場合、Auto Scalingはインスタンスを終了し、新しいインスタンスを起動します。終了保護が有効でも、このプロセスは影響を受けません。
5. トラブルシューティングの重要性
EC2インスタンスが「不健康」とマークされた場合、その理由を突き止めることが重要です。例えば、アプリケーションのエラーやリソースの過負荷、ネットワークの問題などが原因となる場合があります。
このような状況を解決するためには、次の手順を取ることが推奨されます。
- CloudWatch Logs:アプリケーションログやシステムログを確認して、問題の根本的な原因を特定します。
- Session Manager:AWS Systems Manager Session Managerを利用して、インスタンスにログインし、手動でのトラブルシューティングを行います。
結論
この問題に関連する本質的な知識は、Auto Scalingのスケーリングポリシー、ヘルスチェック、終了保護の仕組み、およびインスタンスの管理方法にあります。Auto Scalingがインスタンスを終了する際には、終了保護は有効でも影響を受けないため、ヘルスチェックやスケーリングポリシーに基づいて行われるアクションを理解しておくことが重要です。
実践
略
一問道場
質問 #109
トピック
大手企業が人気のウェブアプリケーションを運営しています。このアプリケーションは、プライベートサブネット内の複数のAmazon EC2 Linuxインスタンスで実行されており、Auto Scalingグループに設定されています。アプリケーションロードバランサーは、Auto Scalingグループ内のインスタンスをターゲットにしています。AWS Systems Manager Session Managerが構成され、AWS Systems Manager AgentがすべてのEC2インスタンスで実行されています。
最近、企業はアプリケーションの新しいバージョンをリリースしました。その結果、いくつかのEC2インスタンスが不健康としてマークされ、終了されています。そのため、アプリケーションは能力が低下しています。ソリューションアーキテクトは、アプリケーションから収集されたAmazon CloudWatchログを分析して原因を特定しようとしましたが、ログは決定的なものではありません。
ソリューションアーキテクトは、問題をトラブルシュートするためにEC2インスタンスにアクセスするにはどうすべきですか?
選択肢:
A. Auto ScalingグループのHealthCheckスケーリングプロセスを一時停止します。Session Managerを使用して、不健康としてマークされたインスタンスにログインします。
B. EC2インスタンス終了保護を有効にします。Session Managerを使用して、不健康としてマークされたインスタンスにログインします。
C. Auto Scalingグループの終了ポリシーをOldestInstanceに設定します。Session Managerを使用して、不健康としてマークされたインスタンスにログインします。
D. Auto ScalingグループのTerminateプロセスを一時停止します。Session Managerを使用して、不健康としてマークされたインスタンスにログインします。
解説
この問題では、EC2インスタンスが不健康と判断されて終了される前にトラブルシューティングを行う必要があります。
- A: HealthCheckスケーリングの一時停止はインスタンス終了を防げません。トラフック減少もインスタンス終了
- B: 終了保護は有効でも、インスタンスが終了されるのを防げない場合があります。
- C: 終了ポリシーを変更してもトラブルシューティングには関係ありません。
- D: Terminateプロセスを一時停止すると、インスタンスが終了されず、Session Managerでアクセスして問題を調査できます。
正解はDです。
- 作者:みなみ
- 链接:https://tangly1024.com/資格勉強/16dd7ae8-88e2-80dc-9f97-fbd4085eee92
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章