リソース仕様の更新、ホスト名の変更、システムメンテナンスイベントへの対応など、特定の変更を Elastic Compute Service (ECS) インスタンスに適用するには、コンソールまたは API を使用してインスタンスを再起動する必要があります。インスタンスの再起動に伴い、サービス中断やデータ損失のリスクが生じる可能性があります。
潜在的リスク
サービスの中断:再起動時にはインスタンスの停止と起動が伴うため、インスタンス上で稼働中のサービスは中断されます。
メモリデータの損失 (強制再起動時):インスタンスを強制的に再起動した場合、ストレージデバイスに書き込まれていないメモリ上のキャッシュデータは失われます。
操作手順
ステップ 1: 再起動前の確認
再起動タイミングの検討:サービスへの影響を最小限に抑えるため、アクセスが少ないオフピーク時間帯にこの操作を実施することを推奨します。
アプリケーションの停止:OS 内で手動でアプリケーションサービスを停止し、すべての処理中のリクエストとデータの書き込みが完了していることを確認してください。
再起動後の迅速なサービス復旧を確実にするため、重要なビジネスアプリケーションは起動時に自動起動するよう設定しておくことを推奨します。
データのバックアップ:再起動中に予期せぬ問題が発生した場合のデータ損失を防ぐため、操作を開始する前にスナップショットを作成し、データをバックアップしてください。
スナップショットは有料機能です。詳細については、「スナップショットの課金」をご参照ください。
ステップ 2: インスタンスの再起動
コンソール
ECS コンソール - インスタンスに移動し、対象のリージョンとリソースグループを選択します。
インスタンス ID をクリックして、詳細ページを開きます。ページの右上隅にある [再起動] をクリックします。
表示されるダイアログボックスで、再起動モードを選択します。
通常再起動 (デフォルト):[強制的に再起動する] のチェックボックスにチェックを入れない場合、インスタンスは通常の再起動モードに入ります。このモードでは、すべてのプロセスを正常にシャットダウンしてから、再起動を開始します。
強制再起動:[強制的に再起動する] を選択すると、インスタンスは強制再起動モードに入ります。これは電源を切る操作に相当し、メモリデータの損失やファイルシステムの破損のリスクがあります。このオプションは、インスタンスが応答しない場合にのみ使用してください。
インスタンスを再起動します。
即時再起動:[確認] をクリックします。
再起動のスケジュール:[指定時刻に再起動する] を選択することで、再起動をスケジュールすることも可能です。時刻と RAM ロールを指定して [確認] をクリックすると、再起動のスケジュールが作成されます。スケジュール作成後は、CloudOps Orchestration Service (OOS) コンソール - スケジュールされた O&Mで設定を変更できます。
インスタンスを再起動すると、OS はプロセス、CPU、メモリなどのリソースをリリースする必要があります。また、仮想化レイヤーも関連リソースをリリースします。この操作は平均で 3〜5 分かかりますが、最大で 20 分かかる場合があります。
API
以下の API を使用して、ECS インスタンスを再起動します。
実行中の単一の ECS インスタンスを再起動するには、RebootInstance API を呼び出します。
実行中の 1 つまたは複数の ECS インスタンスを再起動するには、RebootInstances API を呼び出します。
期限切れまたは支払い遅延の ECS インスタンスを再アクティブ化して再起動するには、ReActivateInstances API を呼び出します。
インスタンスの再起動をスケジュールするには、OOS テンプレート「ACS-ECS-ScheduleToRebootInstances」をご参照ください。
よくある質問
rebootコマンドでインスタンスを再起動しても変更が適用されないのはなぜですか?
コンソールまたは API を使用してインスタンスを再起動することを推奨します。これらの方法で再起動すると、基盤となる仮想化プラットフォームからインスタンスの完全な設定が再読み込みされます。一方、OS 内部で実行されるreboot コマンドは、これらの外部設定の変更を認識できないため、変更は適用されません。
RAM ユーザーが ECS インスタンスを再起動するために必要な権限は何ですか?
RAM ユーザーは、ecs:DescribeInstancesおよびecs:RebootInstanceの権限が必要です。