メニュー
AWS OpsWorks
ユーザーガイド (API バージョン 2013-02-18)

登録されたインスタンスのライフサイクル

注記

この機能は Linux スタックでのみサポートされています。

登録されたインスタンスのライフサイクルは、エージェントがインストールおよび実行されると開始します。この時点で、スタックにインスタンスを登録するように AWS OpsWorks Stacks に指示されます。次の図は、状態とライフサイクルの主な要素をまとめたものです。

各状態はインスタンスのステータスに対応します。エッジは次の AWS OpsWorks Stacks コマンドの 1 つを表します。詳細については、以降のセクションで説明します。

  • Setup – このコマンドは Setup ライフサイクルイベントに対応し、インスタンスの Setup レシピを実行します。

  • Configure – このコマンドは Configure ライフサイクルイベントに対応します。

    このイベントは、インスタンスがオンライン状態に移行したときとオンライン状態から移行したときに、AWS OpsWorks Stacks によってスタックのすべてのインスタンスでトリガーされます。インスタンスでは Configure レシピが実行され、これにより新しいインスタンスに合わせて必要な変更が加えられます。

  • Shutdown – このコマンドは Shutdown ライフサイクルイベントに対応し、インスタンスの Shutdown レシピを実行します。

    これらのレシピはサービスのシャットダウンなどのタスクを実行しますが、インスタンスは停止しません。

  • Deregister – このコマンドはインスタンスの登録を解除しますが、ライフサイクルイベントには対応しません。

注記

この図は簡略化されており、登録解除中状態と削除済み状態は示されていません。インスタンスの登録解除は、図に示したすべての状態で実行できます。登録を解除すると、Deregister コマンドがインスタンスに送信され、インスタンスが登録解除中状態に移行します。

  • オンラインインスタンスの登録を解除すると、AWS OpsWorks Stacks によってスタックの残りのインスタンスに Configure コマンドが送信され、インスタンスがオフラインに設定されることが通知されます。

  • Deregister コマンドが認識されると、インスタンスは実行中のまま削除済み状態に移行し、スタックの一部ではなくなります。インスタンスを再度スタックに組み込むには、再登録する必要があります。

登録中

エージェントから登録リクエストが送信されると、AWS OpsWorks Stacks によって Setup コマンドが送信されてインスタンスのライフサイクルが開始され、インスタンスが登録中状態に移行します。インスタンスで Setup コマンドが認識されると、インスタンスはセットアップ実行中状態に移行します。

セットアップ実行中

セットアップ実行中状態では、インスタンスの Setup レシピが実行されます。セットアップ動作の詳細は、前の状態によって変わります。

注記

セットアップ実行中状態にあるインスタンスの割り当てを解除すると、AWS OpsWorks Stacks によって Shutdown コマンドが送信され、インスタンスの Shutdown レシピが実行されますが、インスタンスは停止しません。インスタンスは割り当て解除中状態に移行します。

登録中

登録プロセス中、セットアップにより、登録されたインスタンスを表す AWS OpsWorks Stacks インスタンスがスタックに作成され、インスタンスに一連のコア Setup レシピを実行することで初期セットアップが実施されます。

初期セットアップによって実施される主な変更の 1 つは、インスタンスのホストファイルの上書きです。インスタンスを登録すると、ユーザー管理が AWS OpsWorks Stacks に引き継がれます。AWS OpsWorks Stacks には、SSH ログインアクセス権限を制御する独自のホストファイルが必要です。また、初期セットアップでは複数のファイルが作成および変更されるほか、Ubuntu システムではパッケージのソースが変更されて一連のパッケージがインストールされます。詳細については、「初期セットアップ設定の変更」を参照してください。

注記

整合性を確保するために、AWS OpsWorks Stacks はすべてのコア Setup レシピを実行します。ただし、一部のレシピでは、インスタンスが 1 つ以上の Layer に割り当てられている場合にのみタスクの一部またはすべてを実行するため、初期セットアップに影響するとは限りません。

  • セットアップが成功すると、インスタンスは登録済み状態に移行します。

  • セットアップが失敗すると、インスタンスはセットアップ失敗状態に移行します。

割り当て中

Layer には少なくとも 1 つのインスタンスが割り当てられます。AWS OpsWorks Stacks により、レイヤーの Setup イベントに割り当てたカスタムレシピを含む、各レイヤーの Setup レシピが実行されます。

  • セットアップが成功すると、インスタンスがオンライン状態に移行し、AWS OpsWorks Stacks によってスタック内のすべてのインスタンスで Configure ライフサイクルイベントがトリガーされ、新しいインスタンスに通知されます。

  • セットアップが失敗すると、インスタンスはセットアップ失敗状態に移行します。

注記

このセットアッププロセスは 2 回目のコア レシピを実行します。ただし、Chef のレシピはべき等であるため、すでに実行されているタスクは繰り返されません。

セットアップ失敗

割り当て中状態にあるインスタンスのセットアッププロセスが失敗した場合は、インスタンスの Setup レシピを Setup スタックコマンドを使用して手動で再実行できます。

  • セットアップが成功すると、割り当てられたインスタンスはオンライン状態に移行し、AWS OpsWorks Stacks によってスタック内のすべてのインスタンスで Configure ライフサイクルイベントがトリガーされ、新しいインスタンスに通知されます。

  • セットアップの試行が失敗すると、インスタンスはセットアップ失敗状態に戻ります。

登録済み

登録済み状態のインスタンスはスタックの一部であり、AWS OpsWorks Stacks によって管理されますが、レイヤーには割り当てられません。これらのインスタンスは永続的にこの状態を維持できます。

1 つ以上のレイヤーにインスタンスを割り当てると、AWS OpsWorks Stacks によって Setup コマンドがインスタンスに送信され、インスタンスが割り当て中状態に移行します。

割り当て中

インスタンスで Setup コマンドが認識されると、インスタンスはセットアップ実行中状態に移行します。

割り当て中状態にあるインスタンスの割り当てを解除すると、AWS OpsWorks Stacks によってセットアッププロセスが中断され、Shutdown コマンドが送信されます。インスタンスは割り当て解除中状態に移行します。

オンライン

インスタンスは 1 つ以上の レイヤーのメンバーであり、通常の AWS OpsWorks Stacks インスタンスと同様に処理されます。このインスタンスは永続的にこの状態を維持できます。

オンライン状態にあるインスタンスの割り当てを解除すると、AWS OpsWorks Stacks によってそのインスタンスに Shutdown コマンドが送信され、スタック内の残りのインスタンスに Configure コマンドが送信されます。インスタンスは割り当て解除中状態に移行します。

セットアップ失敗

Setup コマンドが失敗しました。

割り当て解除中

Shutdown コマンドを実行すると、インスタンスはすべての Layer から割り当てが解除され、登録済み状態に戻ります。

注記

インスタンスが複数の Layer に割り当てられている場合、割り当ての解除はすべての Layer に適用されます。割り当てられた Layer の一部のみの割り当てを解除することはできません。Layer の割り当てを変更するには、一度インスタンスの割り当てを解除してから希望の Layer に再度割り当てる必要があります。

初期セットアップ設定の変更

初期セットアップでは、登録されたすべてのインスタンスで次のファイルとディレクトリが作成または変更されます。

作成されたファイル
/etc/apt/apt.conf.d/99-no-pipelining /etc/aws/ /etc/init.d/opsworks-agent /etc/motd /etc/motd.opsworks-static /etc/sudoers.d/opsworks /etc/sudoers.d/opsworks-agent /etc/sysctl.d/70-opsworks-defaults.conf /opt/aws/opsworks/ /usr/sbin/opsworks-agent-cli /var/lib/aws/ /var/log/aws/ /vol/
変更されたファイル
/etc/apt/apt.conf.d/99-no-pipelining /etc/crontab /etc/default/monit /etc/group /etc/gshadow /etc/monit/monitrc /etc/passwd /etc/security/limits.conf (removing limits only for EC2 micro instances) /etc/shadow /etc/sudoers

また、初期セットアップでは Amazon EC2 のマイクロインスタンスにスワップファイルが作成されます。

初期セットアップにより、Ubuntu システムに対して次の変更が加えられます。

パッケージソース

初期セットアップにより、パッケージソースが次のように変更されます:

  • deb http://archive.ubuntu.com/ubuntu/ ${code_name} main universe

    終了: deb-src http://archive.ubuntu.com/ubuntu/ ${code_name} main universe

  • deb http://archive.ubuntu.com/ubuntu/ ${code_name}-updates main universe

    終了: deb-src http://archive.ubuntu.com/ubuntu/ ${code_name}-updates main universe

  • deb http://archive.ubuntu.com/ubuntu ${code_name}-security main universe

    終了: deb-src http://archive.ubuntu.com/ubuntu ${code_name}-security main universe

  • deb http://archive.ubuntu.com/ubuntu/ ${code_name}-updates multiverse

    終了: deb-src http://archive.ubuntu.com/ubuntu/ ${code_name}-updates multiverse

  • deb http://archive.ubuntu.com/ubuntu ${code_name}-security multiverse

    終了: deb-src http://archive.ubuntu.com/ubuntu ${code_name}-security multiverse

  • deb http://archive.ubuntu.com/ubuntu/ ${code_name} multiverse

    終了: deb-src http://archive.ubuntu.com/ubuntu/ ${code_name} multiverse

  • deb http://security.ubuntu.com/ubuntu ${code_name}-security multiverse

    終了: deb-src http://security.ubuntu.com/ubuntu ${code_name}-security multiverse

パッケージ

初期セットアップにより landscape がアンインストールされ、次のパッケージがインストールされます。

autofs libicu-dev libopenssl-ruby
libssl-dev libxml2-dev libxslt-dev
libyaml-dev monit ntpd
procps ruby ruby-dev
rubygems screen sqlite
vim xfs