ステップ 2.4: IISレイヤーを追加する - AWS OpsWorks

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

ステップ 2.4: IISレイヤーを追加する

重要

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

クックブックには、IIS のインストールと起動のみ行うレシピが 1 つあります。これは、レイヤーを作成し、動作している IIS インスタンスがあることを確認するのに十分です。後で、レイヤーにアプリケーションデプロイ機能を追加します。

レイヤーの作成

まず、スタックにレイヤーを追加します。次に、適切なライフサイクルイベントにカスタムレシピを割り当てることによって、そのレイヤーに機能を追加します。

IISレイヤーをスタックに追加するには
  1. ナビゲーションペインで [Layers] (レイヤー) を選択し、[Add a layer] (レイヤーの追加) を選択します。

  2. レイヤーを次のように設定します。

    • [Name] (名前) - IISExample

    • [Short name] (短縮名) - iisexample

      AWS OpsWorks スタックは短縮名を使用して内部的にレイヤーを識別します。短縮名を使用してレシピ内のレイヤーを識別することもできますが、この例はそうしていません。短縮名を指定できますが、小文字の英数字と少数の句読点のみ使用できます。詳細については、「カスタムレイヤー」を参照してください。

  3. [Add Layer] を選択します。

この時点でインスタンスを IISWalkthrough に追加して起動した場合、 AWS OpsWorks スタックによりクックブックが自動的にインストールされますが、install.rb は実行されません。インスタンスがオンラインになった後、Execute Recipes スタックコマンドを使用してレシピを手動で実行できます。ただし、レイヤーのライフサイクルイベントの 1 つにレシピを割り当てることをお勧めします。 AWS OpsWorks スタックは、インスタンスのライフサイクルの適切な時点でレシピを自動的に実行します。

インスタンスの起動が完了したら、すぐに IIS をインストールして起動します。これを行うには、install.rb をレイヤーの Setup イベントに割り当てます。

ライフサイクルイベントにレシピを割り当てるには
  1. ナビゲーションペインで [Layers] (レイヤー) を選択します。

  2. [IISExample]レイヤーのボックスで、[Recipes] を選択します。

  3. 右上の [Edit] を選択します。

  4. [Custom Chef Recipes] の [Setup] レシピボックスに「iis-cookbook::install」と入力します。

    注記

    cookbook-name::recipe-name を使用してレシピを識別します。このとき、レシピ名の .rb サフィックスは省略します。

  5. [+] を選択してレシピをレイヤーに追加します。後で簡単に削除できるように、赤色の x がレシピの横に表示されます。

  6. [Save] を選択して新しい設定を保存します。カスタム Setup レシピに iis-cookbook::install が含まれるようになります。

インスタンスをレイヤーに追加して起動

レイヤーにインスタンスを追加してインスタンスを起動することで、レシピを試すことができます。 AWS OpsWorks スタックは、インスタンスの起動が完了するとすぐに、クックブックを自動的にインストールし、セットアップinstall.rb中に実行します。

インスタンスをレイヤーに追加して起動するには
  1. AWS OpsWorks スタックナビゲーションペインで、インスタンス を選択します。

  2. [IISExample Layer]レイヤーで、[Add an instance] を選択します。

  3. 適切なサイズを選択します。この例では、t2.micro (または利用可能な最小サイズ) で十分です。

  4. [Add Instance] を選択します。デフォルトでは、 AWS OpsWorks Stacks はレイヤーの短縮名に整数を追加してインスタンス名を生成するため、インスタンスの名前は iisexample1 にする必要があります。

  5. インスタンスのアクション列で開始を選択してインスタンスを起動します。 AWS OpsWorks スタックは EC2 インスタンスを起動し、Setup レシピを実行して設定します。この時点でレイヤーに Deploy レシピがある場合、 AWS OpsWorks スタックは Setup レシピが完了した後にそれらを実行します。

    プロセスには数分かかる場合があり、その間 [Status] 列には一連のステータスが表示されます。ステータスが [online] になると、設定プロセスが完了し、インスタンスが使用可能になります。

IIS がインストールおよび実行されたことの確認

RDP を使用してインスタンスに接続し、Setup レシピが正常に機能していることを確認できます。

IIS がインストールおよび実行されたことを確認するには
  1. ナビゲーションペインでインスタンスを選択し、iisexample1 インスタンスの Actions 列で rdp を選択します。 AWS OpsWorks スタックは、指定した期間後に期限切れになる RDP パスワードを自動的に生成します。

  2. [Session valid for] を 2 時間に設定し、[Generate Password] を選択します。

  3. AWS OpsWorks スタックにはパスワードと、インスタンスのパブリック DNS 名とユーザー名が表示されます。3 つすべてをコピーして、[Acknowledge and close] をクリックします。

  4. RDP クライアントを開き、ステップ 3 のデータを使用してインスタンスに接続します。

  5. インスタンスで、Windows エクスプローラを開いて C: ドライブを調べます。IIS のインストールにより作成された C:\inetpub ディレクトリがあります。

  6. [コントロール パネル] の [管理ツール] アプリケーションを開き、[サービス] を開きます。リストの一番下近くに IIS サービスが表示されています。「World Wide Web Publishing サービス」という名前で、ステータスは [実行中] になっています。

  7. AWS OpsWorks スタックコンソールに戻り、iisexample1 インスタンスのパブリック IP アドレスを選択します。これは、Amazon EC2 コンソールではなく、 AWS OpsWorks スタックで実行してください。これにより、自動的に HTTP リクエストがそのアドレスに送信され、デフォルトの IIS ようこそページが開きます。

次のトピックでは、アプリケーションをインスタンス (この例では、シンプルな静的 HTML ページ) にデプロイする方法について説明します。ただし、休憩したい場合は、の [iisexample1] インスタンスの [Actions] (アクション) 列で [stop] (停止) を選択すると、インスタンスが停止し、不要な料金が発生するのを防ぐことができます。続行する準備が整ったら、インスタンスを再起動します。