ステップ 2.3: PHP アプリケーションサーバーレイヤー - Chef 11 にインスタンスを追加する - AWS OpsWorks

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

ステップ 2.3: PHP アプリケーションサーバーレイヤー - Chef 11 にインスタンスを追加する

重要

AWS OpsWorks Stacks は新規顧客を受け付けなくなりました。既存のお客様は、2024 年 5 月 26 日までは、通常どおり OpsWorks コンソール、API、CLI、および CloudFormation リソースを使用できます。その時点で廃止されます。この移行に備えて、できるだけ早くスタックを AWS Systems Manager に移行することをおすすめします。詳細については、「AWS OpsWorks Stacks サポート終了に関する FAQ」および「AWS Systems Manager アプリケーションマネージャへの AWS OpsWorks Stacks アプリケーションの移行」を参照してください。

AWS OpsWorks スタックインスタンスは、特定の Amazon EC2 インスタンスを表します。

  • インスタンスの設定では、Amazon EC2 のオペレーティングシステムやサイズなどのいくつかの基本情報を指定します。実行されますが、あまり機能しません。

  • インスタンスのレイヤーでは、インストールするパッケージを決定したり、インスタンスに Elastic IP アドレスがあるかどうかを指定したりすることで、インスタンスに機能を追加します。

AWS OpsWorks によって各インスタンスには、サービスとのやり取りを行うエージェントがインストールされます。インスタンスにレイヤーの機能を追加するために、[Chef recipes (Chef レシピ)] と呼ばれる小規模なアプリケーションを実行するように、AWS OpsWorks スタックがエージェントに指示を出します。これにより、アプリケーションやパッケージのインストール、設定ファイルの作成などが行われます。AWS OpsWorksスタックは、インスタンスの [lifecycle] (ライフサイクル) のキーポイントでレシピを実行します。例えば、 は、インスタンスの起動が完了した後に Setup レシピ OpsWorks を実行してソフトウェアのインストールなどのタスクを処理し、アプリケーションをデプロイしてコードと関連ファイルをインストールするときに Deploy レシピを実行します。

注記

レシピの動作に関心がある場合、 AWS OpsWorks スタックの組み込みレシピはすべて公開 GitHub リポジトリにあります: OpsWorks クックブック 。また、後述するように、独自のカスタムレシピを作成して AWS OpsWorks スタックで実行することもできます。

PHP アプリケーションサーバーを に追加するには MyStack、前のステップで作成した PHP アプリケーションサーバーレイヤーにインスタンスを追加します。

インスタンスを PHP アプリケーションサーバーレイヤーに追加するには
  1. インスタンスの追加

    レイヤーの追加が完了すると、AWS OpsWorks スタックに [Layers] (レイヤー) ページが表示されます。ナビゲーションペインで [Instances] (インスタンス) をクリックし、[PHP App Server] (PHP アプリケーションサーバー) の下で [Add an instance] (インスタンスを追加) をクリックします。

  2. インスタンスの設定

    各インスタンスには、AWS OpsWorks スタックによって生成されたデフォルトのホスト名があります。この例では、AWS OpsWorks スタックによってレイヤーの短縮名に数字が単純に付加されます。アベイラビリティーゾーンやオペレーティングシステムといった、スタックの作成時に指定したデフォルト設定の一部を上書きするなどして、各インスタンスを個別に設定できます。このウォークスルーでは、デフォルト設定を受け入れて [Add Instance] をクリックし、レイヤーにインスタンスを追加します。詳細については、「インスタンス」を参照してください。

  3. インスタンスの作成

    ここまでで、インスタンスの設定を指定しました。稼働状態の Amazon EC2 インスタンスを作成するために、インスタンスを起動する必要があります。AWS OpsWorksスタックは続いて、設定を使用して、指定されたアベイラビリティーゾーンで Amazon EC2 インスタンスを起動します。インスタンスの起動方法の詳細は、インスタンスのスケーリングタイプによって異なります。前のステップでは、デフォルトのスケーリングタイプである 24/7 (手動で起動する必要があり、手動で停止するまで実行される) を使用してインスタンスを作成しました。スケジュールや現在の負荷に応じて AWS OpsWorks スタックによって自動的に起動および停止される、時間ベースと負荷ベースのスケーリングタイプを作成することもできます。詳細については、「時間ベースおよび負荷ベースのインスタンスによる負荷の管理」を参照してください。

    [PHP App Server] (PHP アプリケーションサーバー) の [php-app1] に移動して、[Actions] (アクション) 列の [start] (開始) をクリックして、インスタンスを起動します。

  4. 起動中のインスタンスのステータスの監視

    Amazon EC2 インスタンスを起動してパッケージをインストールするには、通常数分かかります。起動処理が進行するに従って、インスタンスの [Status] フィールドに次のような一連の値が表示されます。

    1. [requested] (リクエスト済み) - AWS OpsWorks スタックは、Amazon EC2 インスタンスを作成するために Amazon EC2 サービスを呼び出しました。

    2. [pending] (保留中) - AWS OpsWorks スタックは Amazon EC2 インスタンスの起動を待機しています。

    3. [booting] (起動中) - Amazon EC2 インスタンスの起動中です。

    4. running_setup - AWS OpsWorks スタックエージェントがレイヤーの Setup レシピと Deploy レシピを実行しています。前者は設定やパッケージのインストールなどのタスクを処理し、後者はインスタンスにアプリケーションをデプロイします。

    5. online - インスタンスは利用可能です。

    php-app1 がオンライン状態になったら、[Instances] ページには次のように表示されます。

    ページの先頭には、スタックのすべてのインスタンスの簡単な要約が表示されます。ここでは、オンライン状態のインスタンスが 1 つ表示されています。php-app1 の [Actions] (アクション) 列で、[start] (開始) と [delete] (削除) が置き換えられ、インスタンスを停止する [stop] (停止) であることに注目してください。