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

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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

注記

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

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

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

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

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

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

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

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

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

注記

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

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

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

Registering

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

セットアップ実行中

セットアップ実行中状態では、インスタンスの Setup レシピが実行されます。セットアップの挙動は、セットアップ前の状態に応じて変化します。

注記

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

Registering

登録処理中には、登録されたインスタンスを表す AWS OpsWorks Stacks インスタンスがスタック内に作成され、インスタンスで一連のコア Setup レシピが実行されます。

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

登録中、プロセスは IAM を呼び出します。AttachUserPolicy前提として作成した IAM ユーザーにアタッチされているアクセス権限の一部です。AttachUserPolicy が存在しない場合 (大半の場合、旧リリースの AWS CLI が起動されていることが原因)、代わりに PutUserPolicy が呼び出されます。

注記

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

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

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

Assigning

Layer には少なくとも 1 つのインスタンスが割り当てられます。AWS OpsWorksスタックは、作成した Layer の Setup レシピを実行します。これには、レイヤの Setup イベントに割り当てられた

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

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

注記

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

セットアップ失敗

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

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

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

Registered

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

インスタンスを複数のレイヤーに割り当てている場合、AWS OpsWorks スタックは Setup コマンドをインスタンスに送信し、そのインスタンスは Assigning 状態に移行します。

Assigning

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

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

Online

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

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

セットアップ失敗

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

  • Setup スタックコマンドを再度実行して再試行できます。

    インスタンスはセットアップ実行中状態に戻ります。

  • インスタンスを割り当てを解除すると、AWS OpsWorks スタックによってそのインスタンスに Shutdown コマンドが送信されます。

    インスタンスはUnassigning状態に移行します。

Unassigning

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

注記

インスタンスが複数の 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

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

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

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

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

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

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

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

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

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

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

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

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

    To: 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