🏥 Auto Recoveryとは?
マンションの「自動修理サービス」のようなもの!
建物に問題が起きたら、自動的に健全な建物に引っ越して、
すべてのデータと設定をそのまま引き継いでくれる魔法のようなサービスです✨
しかも、
あなたは何もする必要がありません!
⚙️ Auto Recoveryの動作フロー
手動で対応するより圧倒的に速い!
🆚 手動対応 vs Auto Recovery
手動対応
従来の方法
障害検知から復旧まで30分〜数時間
担当者が対応できるまで待機
操作ミスや手順忘れの可能性
アラート受信→確認→対応判断→作業
24時間365日の待機体制が必要
Auto Recovery
自動化された方法
検知から復旧まで5〜15分で自動完了
いつでも自動的に対応、人手不要
常に同じ手順で確実に復旧
復旧完了の通知を受け取るだけ
追加料金なし(CloudWatchの基本料金のみ)
⚙️ Auto Recoveryの設定方法
AWS Management Consoleでの設定
📍 Step 1: CloudWatchコンソールを開く
- CloudWatchコンソールにアクセス
- 左メニューから「アラーム」を選択
- 「アラームの作成」をクリック
📍 Step 2: メトリクスを選択
- 「メトリクスの選択」をクリック
- 「EC2」→「Per-Instance Metrics」を選択
- 対象のインスタンスIDで「StatusCheckFailed_System」を選択
📍 Step 3: 条件を設定
- 統計: Maximum
- 期間: 1分
- しきい値: >= 1(1以上で障害とみなす)
- データポイント: 2 / 2(2回連続で確認)
📍 Step 4: アクションを設定
- 「アクション」セクションで「EC2アクション」を選択
- 「このインスタンスを復旧」を選択
- (オプション)SNS通知を設定して、復旧時にメール通知
📍 Step 5: 名前をつけて作成
- わかりやすい名前をつける(例: "Production-Web-AutoRecover")
- 「アラームの作成」をクリック
- 完了!
AWS CLIでの設定
コマンド一発で設定完了!
# Auto Recoveryアラームを作成 aws cloudwatch put-metric-alarm \ --alarm-name "AutoRecover-i-1234567890abcdef0" \ --alarm-description "Auto recover instance on system status check failure" \ --namespace "AWS/EC2" \ --metric-name "StatusCheckFailed_System" \ --dimensions Name=InstanceId,Value=i-1234567890abcdef0 \ --statistic Maximum \ --period 60 \ --evaluation-periods 2 \ --threshold 1 \ --comparison-operator GreaterThanOrEqualToThreshold \ --alarm-actions arn:aws:automate:ap-northeast-1:ec2:recover # SNS通知も追加する場合 aws cloudwatch put-metric-alarm \ --alarm-name "AutoRecover-with-SNS-i-1234567890abcdef0" \ --alarm-description "Auto recover with notification" \ --namespace "AWS/EC2" \ --metric-name "StatusCheckFailed_System" \ --dimensions Name=InstanceId,Value=i-1234567890abcdef0 \ --statistic Maximum \ --period 60 \ --evaluation-periods 2 \ --threshold 1 \ --comparison-operator GreaterThanOrEqualToThreshold \ --alarm-actions \ arn:aws:automate:ap-northeast-1:ec2:recover \ arn:aws:sns:ap-northeast-1:123456789012:MyTopic
•
evaluation-periods
を2にすることで、一時的な問題での誤検知を防ぐ
• リージョンに応じて
ap-northeast-1
を変更する
CloudFormationテンプレート
インフラをコード化して管理!
AWSTemplateFormatVersion: '2010-09-09' Description: 'EC2 instance with Auto Recovery' Resources: MyEC2Instance: Type: AWS::EC2::Instance Properties: ImageId: ami-0abcdef1234567890 InstanceType: t3.medium Tags: - Key: Name Value: AutoRecovery-Instance RecoveryAlarm: Type: AWS::CloudWatch::Alarm Properties: AlarmName: !Sub '${MyEC2Instance}-AutoRecover' AlarmDescription: 'Trigger auto recovery on system status check failure' Namespace: 'AWS/EC2' MetricName: 'StatusCheckFailed_System' Dimensions: - Name: InstanceId Value: !Ref MyEC2Instance Statistic: Maximum Period: 60 EvaluationPeriods: 2 Threshold: 1 ComparisonOperator: GreaterThanOrEqualToThreshold AlarmActions: - !Sub 'arn:aws:automate:${AWS::Region}:ec2:recover' - !Ref MySNSTopic # オプション: 通知用 MySNSTopic: Type: AWS::SNS::Topic Properties: TopicName: EC2-Recovery-Notifications Subscription: - Endpoint: your-email@example.com Protocol: email Outputs: InstanceId: Value: !Ref MyEC2Instance AlarmName: Value: !Ref RecoveryAlarm
⚠️ Auto Recoveryの制限事項
使えないケースがあるので要注意!
💾 Instance Store非対応
Instance Store(エフェメラルストレージ)を使用しているインスタンスは対象外
🚫 一部インスタンスタイプ
メタルインスタンス(*.metal)やスポットインスタンスは非対応
🌐 VPC内限定
EC2-Classic環境では使用できない(ほとんどのユーザーは問題なし)
📍 専有テナンシー
Dedicated Host上のインスタンスは非対応
⏸️ 停止中は無効
停止中のインスタンスは監視されない
🔀 リージョン内のみ
別リージョンへの移動はできない
✨ Auto Recoveryのメリット
高速復旧
5〜15分で自動復旧。手動対応の1/4以下の時間
追加費用なし
CloudWatchの基本料金のみ。復旧アクション自体は無料
24/7対応
深夜・休日でも自動対応。オンコール不要
データ保持
EBSボリューム、IP、設定など全て保持
確実性
人的ミスなし。毎回同じ手順で確実に復旧
可視化
CloudWatchで復旧履歴を確認・分析可能
📊 監視ダッシュボード例
EC2インスタンスの状態
💡 ベストプラクティス
SNS通知を必ず設定
Auto Recoveryが発動したことを知るために、SNSトピックを設定してメール・SMS通知を受け取りましょう。復旧が成功したか確認できます。
定期的なテスト
年に1-2回、テスト環境でStop→Startを実行し、復旧手順が正しく動作することを確認しましょう。本番環境での動作も安心です。
EBSボリュームを使用
Instance Storeは復旧時にデータが消失します。必ずEBSボリュームを使用し、定期的なスナップショットも取得しましょう。
重要なインスタンスから設定
すべてのインスタンスに設定するのが理想ですが、まずは本番環境の重要なインスタンスから優先的に設定しましょう。
CloudWatch Dashboardで可視化
すべてのインスタンスのステータスチェックを一つのダッシュボードで監視できるようにしましょう。問題の早期発見につながります。
Elastic IPを使用
固定IPが必要な場合はElastic IPを割り当てましょう。復旧後も同じIPアドレスが維持されます。
タグで管理
インスタンスに「AutoRecovery: Enabled」などのタグをつけて、どのインスタンスが保護されているか一目でわかるようにしましょう。
Instance Status Check失敗にも対応
System Status CheckだけでなくInstance Status Check失敗時の対応(自動再起動など)も設定して、両方のケースに備えましょう。
🎓 まとめ
🔄 Auto Recoveryとは
物理ホスト障害を
自動検知
して、
5〜15分
で健全なホストに自動移動!
データと設定は
すべて保持
されます✨
5〜15分で復旧
追加費用なし
24/7対応
🎯
今すぐ設定しましょう!
障害が起きてから後悔するより、
今のうちにAuto Recoveryを有効化して安心運用✨