
EC2が起動しない・動作しない・接続できない時の対応方法
こんにちは!Koty-Mousa 矢坂幸太郎 です!
クラスメソッドメンバーズのテクニカルサポートを担当しています。
今回は、「EC2が起動しない・接続できない」原因と、その対処方法について確認してみましょう!
EC2が利用できない場合、実に多種多様な原因があり、単に「起動できない・接続できない」だけでは判断できません。
しかしながら、AWSコンソールを確認すれば、原因の判断を行うことができます。
メンバーズの現場でよく見る・私がよく遭遇する現象について、まとめました!
なお、本ブログは「解決方法」を重視しているため、エラーの原因には詳しく触れないことをご了承ください。
起動できない(起動時にエラーが返される)
EC2起動画面で「インスタンスを起動」をクリックした後に、エラーが返される場合です。
~ no identity-based policy allows ~
例:
You are not authorized to perform this operation. User:(ユーザ名)is not authorized to perform: ec2:RunInstances because no identity-based policy allows the ec2:RunInstances action
使用しているIAMユーザーの権限が不足しています。
EC2 の全操作権限が必要な場合は AmazonEC2FullAccess ポリシーをアタッチしてください。
なお、全操作権限が必要ではない場合、適切な権限をアタッチしてください(最小権限の原則)。
~ explicit deny in an identity-based policy
例:
You are not authorized to perform this operation. User:(ユーザ名)is not authorized to perform: ec2:RunInstances with an explicit deny in an identity-based policy
IAMポリシーによって 操作が「拒否」されています。
使用している IAM ユーザ・ロールの「Deny」句を確認してください。
例として、下記のような IP制限を加えた IAM ポリシーの場合、自分のPCのIPアドレスが変更されると、アクセスが不可能になります。
利用中の IAM ユーザー・IAMロール に設定されている IAM ポリシーに、「Deny」が設定されているかを確認し、必要に応じてポリシーを修正してください。
ポリシー例
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": "ec2:RunInstances",
"Resource": "*",
"Condition": {
"NotIpAddress": {
"aws:SourceIp": "192.168.1.1/32" // 許可する特定のIPアドレス
}
}
}
]
}
Insufficient Capacity(キャパシティ不足)
起動しようとしている インスタンスタイプ の基盤(コンピュータ)が、AWS上の起動時に選択したAZ(アベイラビリティゾーン)にて不足しているというエラーです。
直接的な解決は難しいですが、下記の手順が有用です。
- 少し待つ(状況は常に変化しています)
- 別の AZ・リージョンを選択する
- 複数のインスタンス作成時は、少しずつリクエストする
- 例:1回で10のインスタンス起動→2回で5インスタンス起動
参考:
EC2 キャパシティ不足のエラー発生時の対応まとめ | DevelopersIO
Amazon EC2 インスタンスの起動に関する問題のトラブルシューティング - Amazon Elastic Compute Cloud
動いていたEC2が止まった - アクセスできなくなった
StatusCheckFailed_System(システムステータスチェック)が失敗している・1が返される
(StatusCheckFailed_System と StatusCheckFailed_Instance 両方が同時に失敗・1である場合も含まれます)
AWSの基板側で問題が発生しました。
インスタンスを「停止」して「開始」してください。
インスタンスが新しい基盤に移動されます。
(「再起動」では基盤移動しません)
参考:
Amazon EC2 インスタンスのステータスチェック - システムステータスのチェック - Amazon Elastic Compute Cloud
なぜ「StatusCheckFailed_System」が 出たら、停止して起動 すると良いのか | DevelopersIO
StatusCheckFailed_Instance(インスタンスステータスチェック)が失敗している・1が返される
インスタンス内のOSやファイルシステム等に問題が発生しました。
インスタンスにアクセスするか、設定を変更することによって問題を解決する必要があります。
例として、メモリの枯渇・ネットワークの設定に問題がある等があります
※ StatusCheckFailed_System の発生が原因で StatusCheckFailed_Instance が同時に発生する場合があります。
この場合は、まず StatusCheckFailed_System に対する対応を行ってください。
参考:
Amazon EC2 インスタンスのステータスチェック - インスタンスステータスのチェック - Amazon Elastic Compute Cloud
EC2 インスタンスのステータスチェックが失敗する場合の原因と確認方法 | DevelopersIO
リタイアメント・メンテナンス
EC2 インスタンスが動作する基盤に問題が発生した場合、AWS によってインスタンスの再起動や停止をおこなうイベントが予定されることがあります。
このイベントは取り消すことができず、必ず再起動または停止・開始が必要となります。
(これは頻繁に発生するものではありません。)
AWS Health Dashboard に、次のようなイベントが表示されます。合わせて AWSアカウントに登録しているメールアドレスに通知されます
※クラスメソッドメンバーズをご利用のお客様は、メンバーズに登録いただいているメールアドレスに通知されます。
- AWS EC2 instance reboot flexible maintenance scheduled
- EC2 persistent instance retirement scheduled
再起動等が発生する前に、お客様にて再起動または停止・起動いただくことで、予定を完了することができます。
イベントによっては、再起動等の予定を延期することができます(キャンセルはできません)。
その場合、AWS Health Dashboard や メールの本文にその旨が記載されています。
詳細は こちら をご参照ください
参考:
再起動を伴う EC2 メンテナンス対応方法 | DevelopersIO
マネジメントコンソールにアクセスできなくなった
IAMポリシーによって操作が「拒否」されています。
使用している IAM ユーザ・ロールの「Deny」句を確認してください。
よくある例として、IAM ポリシーにて IP アドレス制限を実施している場合、自分のPCのIPアドレスが変更されると、アクセスが不可能になります。
利用中の IAM ユーザー・IAMロール に設定されている IAM ポリシーに、「Deny」が設定されているかを確認し、必要に応じてポリシーを修正してください。
ポリシー例
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": "*",
"Resource": "*",
"Condition": {
"NotIpAddress": {
"aws:SourceIp": "192.168.1.1/32" // 許可する特定のIPアドレス
}
}
}
]
}
アノテーション株式会社について
アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新 IT テクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。当社は様々な職種でメンバーを募集しています。「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイトをぜひご覧ください。






