Web系から業務系まで,
トラシュー事例(初級編)
本番環境に突然ログインできなくなった!
本番環境に突然ログインできなくなった!
AWSでシステムを運用している場合,
初級編のトラブルは図1のようにWebサーバ,
原因調査と対策例
トラブル対応時にまずやるべきことは,
ssh: connect to host web.example.com port 22: No route to host
発生しているトラブルの内容から,
- ① 名前解決はできているが,
メンテナス拠点からEC2インスタンスの22番ポートにアクセスができない - ② メンテナス拠点,
監視拠点からともにサービスにアクセスできるので, EC2インスタンスがダウンしている可能性は低い - ③ メンテナンス拠点からサービスを利用できるため,
メンテナス拠点からEC2インスタンスへのルーティング設定に問題がある可能性は低い - ④ 監視拠点からはサービスの利用,
SSHアクセスともにできていることから, SSHサーバのプロセスがダウンしている可能性は低い
しかし,
トラブル発生時の仮説検証や問題切り分けの進め方としては,
オンプレミス環境での物理的障害に近いものからチェックを始めます。EC2インスタンスも仮想サーバを稼働させている物理ホストの影響を受けてダウンする場合もありますが,
- Instance Stateがrunning状態にあること
- System status ckecksがpassed
(0) 状態であること
また,
EC2インスタンスがダウンしていないことが確認できたら,
設定ミスによって思わぬトラブルにつながる
ここまでで物理的,
- EC2インスタンスに正しいSecurity Groupが割り当てられているか
- 割り当てられているSecurity Groupにメンテナンス拠点からのアクセスが許可されているか
この段階で
- 注1)
- その他ネットワークレベルのアクセス制御としてNetworks ACLという機能があります。
IAMによる権限設定とAWS Config,Cloud Trailによる追跡
AWSにはIAMという権限管理のサービスもあります。Security Groupのルール設定は適切な権限を持つ人にのみ付与して,
また,
AWSに限らずクラウドサービスではAPIが提供されているものが数多くあります。筆者が担当しているサービスではAWS SDK for RubyとRSpecを使ってAWSアカウントのあるべき状態をテストコードに定義して,
- 注2)
- サンプルコードをhttps://
github. に公開しています。com/ serverworks/ aws-spec