

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

# 登録されたインスタンスのライフサイクル
<a name="registered-instances-lifecycle"></a>

**重要**  
この AWS OpsWorks Stacks サービスは 2024 年 5 月 26 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、[AWS re:Post](https://repost.aws/) または[AWS プレミアムサポート](https://aws.amazon.com/support)を通じて AWS サポート チームにお問い合わせください。

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

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

![\[State diagram showing lifecycle of registered instances with various states and transitions.\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/images/on-prem-state.png)


各状態はインスタンスのステータスに対応します。エッジは、次のいずれかの OpsWorks Stacks コマンドを表します。詳細については、以降のセクションで説明します。
+ **設定** - このコマンドは Setup [ライフサイクル](workingcookbook-events.md)イベントに対応し、インスタンスの Setup レシピを実行します。
+ **設定** - このコマンドは Configure ライフサイクルイベントに対応します。

  OpsWorks スタックは、インスタンスがオンライン状態に出入りすると、スタック内のすべてのインスタンスでこのイベントをトリガーします。インスタンスでは Configure レシピが実行され、これにより新しいインスタンスに合わせて必要な変更が加えられます。
+ **シャットダウン** - このコマンドは Shutdown ライフサイクルイベントに対応し、インスタンスの Shutdown レシピを実行します。

  これらのレシピはサービスのシャットダウンなどのタスクを実行しますが、インスタンスは停止しません。
+ **登録解除** - このコマンドはインスタンスの登録を解除しますが、ライフサイクルイベントには対応しません。

**注記**  
この図は簡略化されており、登録解除中状態と削除済み状態は示されていません。インスタンスの登録解除は、図に示したすべての状態で実行できます。登録を解除すると、Deregister コマンドがインスタンスに送信され、インスタンスが登録解除中状態に移行します。  
オンラインインスタンスの登録を解除すると、 OpsWorks スタックはスタック内の残りのインスタンスに Configure コマンドを送信して、インスタンスがオフラインになることを通知します。
Deregister コマンドが認識されると、インスタンスは実行中のまま削除済み状態に移行し、スタックの一部ではなくなります。インスタンスを再度スタックに組み込むには、再登録する必要があります。

**Topics**
+ [を登録する](#registered-instances-lifecycle-registering)
+ [セットアップ実行中](#registered-instances-lifecycle-running-setup)
+ [登録済み](#registered-instances-lifecycle-registered)
+ [割り当て中](#registered-instances-lifecycle-assigning)
+ [オンライン](#registered-instances-lifecycle-online)
+ [セットアップ失敗](#registered-instances-lifecycle-setup-failed)
+ [割り当て解除中](#registered-instances-lifecycle-unassigning)
+ [初期セットアップ設定の変更](#registered-instances-lifecycle-setup-config)

## を登録する
<a name="registered-instances-lifecycle-registering"></a>

エージェントが登録リクエストを送信すると、 OpsWorks Stacks は Setup コマンドをインスタンスに送信してインスタンスのライフサイクルを開始し、登録状態にします。インスタンスで Setup コマンドが認識されると、インスタンスは[セットアップ実行中](#registered-instances-lifecycle-running-setup)状態に移行します。

## セットアップ実行中
<a name="registered-instances-lifecycle-running-setup"></a>

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

**注記**  
Running Setup 状態のインスタンスの割り当てを解除すると、 OpsWorks Stacks は Shutdown コマンドを送信します。このコマンドはインスタンスの Shutdown レシピを実行しますが、インスタンスは停止しません。インスタンスは[割り当て解除中](#registered-instances-lifecycle-unassigning)状態に移行します。

**Topics**
+ [を登録する](#registered-instances-lifecycle-running-setup-registering)
+ [割り当て中](#registered-instances-lifecycle-running-setup-assigning)
+ [セットアップ失敗](#registered-instances-lifecycle-running-setup-failed)

### を登録する
<a name="registered-instances-lifecycle-running-setup-registering"></a>

登録プロセス中に、セットアップは OpsWorks スタック内の登録済みインスタンスを表す スタックインスタンスを作成し、インスタンスで一連のコアセットアップレシピを実行します。

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

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

**注記**  
一貫性を保つために、 OpsWorks スタックはすべてのコア Setup レシピを実行します。ただし、一部のレシピでは、インスタンスが 1 つ以上のレイヤーに割り当てられている場合にのみタスクの一部またはすべてを実行するため、初期セットアップに影響するとは限りません。
+ セットアップが成功すると、インスタンスは[登録済み](#registered-instances-lifecycle-registered)状態に移行します。
+ セットアップが失敗すると、インスタンスは[セットアップ失敗](#registered-instances-lifecycle-setup-failed)状態に移行します。

### 割り当て中
<a name="registered-instances-lifecycle-running-setup-assigning"></a>

インスタンスには、少なくとも 1 つの割り当てられた Layer があります。 OpsWorks スタックは、レイヤーの Setup [イベントに割り当てたカスタムレシピを含め、各レイヤーの Setup ](workingcookbook-executing.md)レシピを実行します。
+ セットアップが成功すると、インスタンスがオンライン状態に移行し、 OpsWorks スタックによってスタック内のすべてのインスタンスで Configure ライフサイクルイベントがトリガーされ、新しいインスタンスに通知されます。
+ セットアップが失敗すると、インスタンスはセットアップ失敗状態に移行します。

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

### セットアップ失敗
<a name="registered-instances-lifecycle-running-setup-failed"></a>

[割り当て中](#registered-instances-lifecycle-assigning)状態にあるインスタンスのセットアッププロセスが失敗した場合は、インスタンスの Setup レシピを [Setup スタックコマンド](workingstacks-commands.md)を使用して手動で再実行できます。
+ セットアップが成功すると、割り当てられているインスタンスは [オンライン](#registered-instances-lifecycle-online) 状態に移行し、 OpsWorks スタックはそのスタック内のすべてのインスタンスに対して Configure ライフサイクルイベントをトリガーして、新しいインスタンスについて通知します。
+ セットアップの試行が失敗すると、インスタンスはセットアップ失敗状態に戻ります。

## 登録済み
<a name="registered-instances-lifecycle-registered"></a>

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

インスタンスを 1 つ以上のレイヤーに割り当てると、 OpsWorks スタックは Setup コマンドをインスタンスに送信し、 [割り当て中](#registered-instances-lifecycle-assigning)状態に移行します。

## 割り当て中
<a name="registered-instances-lifecycle-assigning"></a>

インスタンスで Setup コマンドが認識されると、インスタンスは[セットアップ実行中](#registered-instances-lifecycle-running-setup)状態に移行します。

割り当て状態のインスタンスの割り当てを解除すると、 OpsWorks スタックはセットアッププロセスを終了し、Shutdown コマンドを送信します。インスタンスは[割り当て解除中](#registered-instances-lifecycle-unassigning)状態に移行します。

## オンライン
<a name="registered-instances-lifecycle-online"></a>

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

オンライン状態のインスタンスの割り当てを解除すると、 OpsWorks スタックはインスタンスに Shutdown コマンドを送信し、残りのスタックのインスタンスに Configure コマンドを送信します。インスタンスは[割り当て解除中](#registered-instances-lifecycle-unassigning)状態に移行します。

## セットアップ失敗
<a name="registered-instances-lifecycle-setup-failed"></a>

Setup コマンドが失敗しました。
+ [Setup スタックコマンド](workingstacks-commands.md)を再度実行して再試行できます。

  インスタンスは[セットアップ実行中](#registered-instances-lifecycle-running-setup)状態に戻ります。
+ インスタンスの割り当てを解除すると、 OpsWorks スタックはインスタンスに Shutdown コマンドを送信します。

  インスタンスは[割り当て解除中](#registered-instances-lifecycle-unassigning)状態に移行します。

## 割り当て解除中
<a name="registered-instances-lifecycle-unassigning"></a>

Shutdown コマンドを実行すると、インスタンスはすべてのレイヤーから割り当てが解除され、[登録済み](#registered-instances-lifecycle-registered)状態に戻ります。

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

## 初期セットアップ設定の変更
<a name="registered-instances-lifecycle-setup-config"></a>

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

**作成されたファイル**  

```
/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` がアンインストールされ、次のパッケージがインストールされます。      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/registered-instances-lifecycle.html)