アプリケーションの追加 - AWS OpsWorks

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

アプリケーションの追加

重要

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

アプリケーションサーバーにアプリケーションをデプロイする際、最初に行うことは、そのアプリケーションをスタックに追加することです。app はアプリケーションを表し、さまざまなメタデータ (アプリケーションの名前や種類など) と、アプリケーションをサーバーインスタンスにデプロイするために必要な情報 (リポジトリ URL など) を保持します。アプリケーションをスタックに追加するには、Manage 権限が必要です。詳細については、「ユーザー許可の管理」を参照してください。

注記

このセクションの手順は、Chef 12 以降のスタックに適用されます。Chef 11 スタックのレイヤーにアプリを追加する方法については、「ステップ 2.4: アプリケーション - Chef 11 を作成してデプロイする」を参照してください。

スタックにアプリケーションを追加するには
  1. コードは、 Amazon S3 アーカイブ、 Gitリポジトリ、 Subversion リポジトリ、 HTTP アーカイブなど、望ましいリポジトリに加えてください。詳細については、「Application Source」を参照してください。

  2. ナビゲーションペインで [Apps] をクリックします。最初のアプリケーションの場合、[Apps] ページで [Add an app] をクリックします。それ以降のアプリケーションについては、[+App] をクリックします。

  3. 次のセクションの説明に従い、[App New] ページを使用してアプリケーションを設定します。

アプリケーションの設定

[Add App] ページは、[Settings]、[Application source]、[Data Sources]、[Environment Variables]、[Add Domains]、[SSL Settings] の各セクションで構成されています。

設定

名前

UI でアプリを表すために使用されるアプリ名。 AWS OpsWorks スタックは、この名前を使用して、内部的に使用されるアプリの短縮名を生成し、スタック設定およびデプロイ属性 でアプリを識別します。アプリケーションをスタックに追加した後、ナビゲーションペインの [Apps] (アプリケーション) をクリックし、アプリケーションの名前をクリックして詳細ページを開くと短縮名を確認できます。

[Document root]

AWS OpsWorks スタックは、アプリケーションの[:document_root]属性の deploy 属性にドキュメントルート設定を割り当てます。デフォルト値は、nullです。デプロイレシピで標準の Chef ノード構文を使い、その値を deploy 属性から取得して、特定のコードをサーバー上の適切な場所にデプロイすることができます。アプリケーションのデプロイ方法の詳細については、「Deploy レシピ」を参照してください。

Application Source

以下の Git、 Amazon S3 bundle、 HTTP bundle などのリポジトリタイプからアプリケーションをデプロイできます。いずれのリポジトリタイプも、リポジトリのタイプとリポジトリの URL を指定する必要があります。リポジトリタイプにはそれぞれ固有の要件があります。以下、それらの要件について説明します。

注記

AWS OpsWorks スタックは、標準リポジトリから組み込みサーバーレイヤーにアプリケーションを自動的にデプロイします。Windows スタックの唯一のオプションである Other リポジトリタイプを使用する場合、 AWS OpsWorks Stacks はリポジトリ情報をアプリケーションのdeploy属性 に配置しますが、デプロイタスクを処理するにはカスタムレシピを実装する必要があります。

HTTP アーカイブ

パブリックにアクセス可能な HTTP サーバーをリポジトリとして使用するには、次の手順を使用します。

  1. アプリケーションのコードとあらゆる関連ファイルを含むフォルダの圧縮アーカイブ (zip、 gzip、 bzip2、 Java WAR、 tarball など) を作成します。

    注記

    AWS OpsWorks スタックは非圧縮 tarball をサポートしていません。

  2. アーカイブファイルをサーバーにアップロードします。

  3. コンソールでリポジトリを指定するには、リポジトリタイプとして [HTTP Archive] を選択し、URL を入力します。

    アーカイブがパスワードで保護されている場合、アプリケーションソース でサインイン認証を指定します。

Amazon S3 アーカイブ

Amazon シンプルストレージサービスバケットをリポジトリとして使用するには:

  1. 公開またはプライベートの Amazon S3 バケットを作成します。詳細については、「Amazon S3 Documentation」(Amazon S3のドキュメント) を参照してください。

  2. AWS OpsWorks スタックがプライベートバケットにアクセスするには、少なくとも Amazon S3 バケットに対する読み取り専用権限を持つユーザーである必要があります。アクセスキー ID とシークレットアクセスキーが必要です。詳細については、AWS Identity and Access Management ドキュメント を参照してください。

  3. コードとすべての関連ファイルを単一フォルダに配置し、そのフォルダを圧縮アーカイブ (zip、gzip、bzip2、Java WAR、tarball のいずれか) に保存します。

    注記

    AWS OpsWorks スタックは非圧縮 tarball をサポートしていません。

  4. アーカイブファイルを Amazon S3 バケットにアップロードし、 URL を記録します。

  5. AWS OpsWorks スタックコンソールでリポジトリを指定するには、リポジトリタイプを S3 Archive に設定し、アーカイブの URL を入力します。プライベートアーカイブの場合、ポリシーがバケットへのアクセス権限を付与する AWS アクセスキー ID とシークレットアクセスキーを提供する必要があります。パブリックアーカイブでは、これらの設定を空白のままにします。

Git リポジトリ

Git リポジトリはソースコントロールとバージョニングを提供します。 AWS OpsWorks スタックは、 GitHubBitbucket などのパブリックにホストされているリポジトリサイトと、プライベートにホストされている Git サーバーをサポートします。アプリケーションも Git サブモジュールも、[Application Source] (アプリケーションソース) にリポジトリの URL を指定する際の形式は、リポジトリがパブリックであるかプライベートであるかによって異なります。

[Public repository (パブリックリポジトリ) ] - HTTPS または Git の読み取り専用プロトコルを使用します。例えば、 は、次のいずれかの URL 形式でアクセスできるパブリック GitHub リポジトリChef 11 Linux スタックの使用開始を使用します。

  • Git 読み取り専用: git://github.com/amazonwebservices/opsworks-demo-php-simple-app.git

  • HTTPS: https://github.com/amazonwebservices/opsworks-demo-php-simple-app.git

[Private repository (プライベートリポジトリ) ] - 次の例に示す SSH の読み取り/書き込み形式を使用します。

  • Github リポジトリ: git@github.com:project/repository

  • Git サーバー上のリポジトリ: user@server:project/repository

[Source Control (ソースコントロール) ] で [Git (Git) ] を選択すると、次の 2 つの追加オプション設定が表示されます。

[Repository SSH key]

プライベート Git リポジトリにアクセスするには、デプロイ SSH キーを指定する必要があります。このフィールドにはプライベートキーが必要となり、パブリックキーは Git リポジトリに割り当てられます。Git サブモジュールの場合、指定するキーには、それらのサブモジュールへのアクセス権が必要です。詳細については、「Git リポジトリの SSH キーの使用」を参照してください。

重要

デプロイ SSH キーはパスワードを要求できません。 AWS OpsWorks スタックにはパスワードを渡す方法がありません。

[Branch/Revision]

リポジトリに複数のブランチがある場合、 AWS OpsWorks スタックはデフォルトでマスターブランチをダウンロードします。特定のブランチを指定するには、ブランチ名、SHA1 ハッシュ、タグ名のいずれかを入力します。特定のコミットを指定するには、40 桁の 16 進数コミット ID を入力します。

その他のリポジトリ

標準のリポジトリでは要件を満たすことができない場合、他のリポジトリ (Bazaar など) を使用することができます。ただし、 AWS OpsWorks スタックはそのようなリポジトリからアプリケーションを自動的にデプロイしません。デプロイプロセスを処理するカスタムレシピを独自に実装し、それらを適切なレイヤーの Deploy イベントに割り当てる必要があります。Deploy レシピの実装方法の例については、「Deploy レシピ」を参照してください。

データソース

このセクションはアプリケーションにデータベースをアタッチします。次のオプションがあります。

[RDS] を選択する場合、以下の情報を指定する必要があります。

Database instance

このリストには、すべての Amazon RDS サービスレイヤーが含まれています。加えて、次のいずれかを選択することができます。

(必須) アプリケーションにアタッチするデータベースサーバーを指定します。リストの内容は、データソースによって異なります。

  • [RDS (RDS) ] - スタックの Amazon RDS サービスレイヤーのリスト。

データベース名

(オプション) データベース名を指定します。

  • Amazon RDS レイヤー - Amazon RDS インスタンスに対して指定したデータベース名を入力します。

    データベース名は、 [Amazon RDS console (Amazon RDSコンソール) ] から取得できます。

データベースがアタッチされたアプリケーションをデプロイすると、 AWS OpsWorks スタックはデータベースインスタンスの接続をアプリケーションのdeploy属性 に追加します。

カスタムレシピを書き込んで deploy 属性から情報を取得し、アプリケーションからアクセスすることができるファイルに配置できます。これは、Other アプリケーションタイプにデータベース接続情報を提供する唯一のオプションです。

データベース接続を処理する方法の詳細については、「データベースへの接続」を参照してください。

データベースサーバーをアプリケーションからデタッチするには、アプリケーションの設定を編集して、異なるデータベースサーバーを指定するか、サーバーの指定を削除します。

環境可変

各アプリケーションに対し、アプリケーションに固有の一連の環境変数を指定できます。たとえば、2 つのアプリケーションがある場合、最初のアプリケーションに定義した環境変数を、もう 1 つのアプリケーションに定義することはできません。その逆も同様です。また、複数のアプリケーションに同じ環境変数を定義し、アプリケーションごとに異なる値を割り当てることもできます。

注記

環境変数の数に、特定の制限はありません。ただし、変数の名前、値、および保護されたフラグ値を含む、関連するデータ構造のサイズは、 20 KB を超えることはできません。この制限は、すべてではないものの、ほとんどのユースケースに適合します。これを超えると、サービスエラー (コンソール) または例外 (API) が発生し、"Environment: is too large (maximum is 20KB)" というメッセージが表示されます。

AWS OpsWorks スタックは、変数を属性としてアプリケーションのdeploy属性 に保存します。標準の Chef ノード構文を使用して、カスタムレシピにこれらの値を取得することができます。アプリケーションの環境変数にアクセスする方法の例については 環境変数の使用 を参照してください。

キー

変数名。最大 64 個の大文字および小文字の文字、数字、下線 (_) を含めることができますが、冒頭には文字または下線を使用する必要があります。

変数値。最大 256 文字を含めることができますが、すべて表示可能な文字である必要があります。

Protected value

値を保護するかどうかを指定します。この設定では、パスワードなどの機密情報を非表示にすることができます。変数に [Protected value] を設定した場合、アプリケーションの作成後は次のようになります。

  • アプリケーションの詳細ページには値が表示されず、変数名だけが表示されます。

  • アプリケーションを編集するアクセス許可がある場合、[Update value ] をクリックして新しい値を指定することはできますが、古い値を確認したり、編集したりすることはできません。

注記

Chef のデプロイログ には、環境変数が含まれることがあります。これは、保護された変数がコンソールに表示される場合があることを意味します。保護された変数がコンソールに表示されないようにするには、コンソールに表示したくない保護された変数のストレージとして Amazon S3 バケットを使用すること推奨します。この目的で S3 バケットを使用する例は、このガイドの「Amazon S3 バケットの使用する」を参照してください。

ドメインと SSL の設定

その他のアプリタイプでは、 AWS OpsWorks スタックはアプリのdeploy属性に設定を追加します。レシピは、それらの属性からデータを取得し、必要に応じてサーバーを設定できます。

Domain Settings

このセクションには、ドメインを指定するためのオプションの [Add Domains] フィールドがあります。詳細については、「カスタムドメインの使用」を参照してください。

SSL Settings

このセクションの [SSL Support] トグルを使用して、SSL の有効と無効を切り替えることができます。[Yes] をクリックした場合は、SSL 証明書の情報を指定する必要があります。詳細については、「SSL の使用」を参照してください。