ステップ 1: サンプルアプリケーションを作成する - AWS Elastic Beanstalk

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

ステップ 1: サンプルアプリケーションを作成する

このステップでは、既存のサンプルアプリケーションから開始して新しいアプリケーションを作成します。Elastic Beanstalk は、さまざまなプログラミング言語、アプリケーションサーバー、および Docker コンテナ用のプラットフォームをサポートします。アプリケーションを作成する際にプラットフォームを選択します。

アプリケーションと環境を作成する

サンプルアプリケーションを作成するには、[Create application] (アプリケーションの作成) コンソールウィザードを使用します。Elastic Beanstalk アプリケーションを作成し、その中に環境を起動します。環境とは、 AWS アプリケーションコードの実行に必要なリソースの集まりです。

サンプルアプリケーションを作成するには
  1. Elastic Beanstalk コンソールで開きます

  2. [Create application] を選択します。

  3. [Application name] (アプリケーション名) に getting-started-app と入力します。

  4. 必要に応じて、アプリケーションタグを追加します。

  5. [Platform] (プラットフォーム) で、プラットフォームを選択します。

  6. [次へ] をクリックします。

  7. [サービスアクセスの設定] ページが表示されます。

  8. [サービスロール][既存のサービスロールを使用] を選択します。

  9. 次に、[EC2 インスタンスプロファイル] ドロップダウンリストに焦点を当てます。このドロップダウンリストに表示される値は、アカウントが以前に新しい環境を作成したかどうかによって異なる場合があります。

    リストに表示されている値に基づいて、次のいずれかを選択します。

    • aws-elasticbeanstalk-ec2-role がドロップダウンリストに表示されている場合は、[EC2 インスタンスプロファイル] ドロップダウンリストから選択します。

    • リストに別の値が表示され、かつそれがお使いの環境向けのデフォルト EC2 インスタンスプロファイルである場合、[EC2 インスタンスプロファイル] ドロップダウンリストからその値を選択します。

    • [EC2 インスタンスプロファイル] ドロップダウンリストに選択できる値が何も表示されない場合、「EC2 インスタンスプロファイルの IAM ロールを作成」の次の手順を拡張してください。

      「EC2 インスタンスプロファイルの IAM ロールを作成」のステップを完了し、[EC2 インスタンスプロファイル] に後で選択できる IAM ロールを作成します。その後、このステップに戻ります。

      IAM ロールを作成してリストを更新すると、ドロップダウンリストに選択肢として表示されます。[EC2 インスタンスプロファイル] ドロップダウンリストから、先ほど作成した IAM ロールを選択します。

  10. [Configure service access] (サービスアクセスの設定) ページで [Skip to Review] (確認をスキップ) を選択します。

    これはオプションのステップを省略します。

  11. [Review] (レビュー) ページに、すべての選択内容の概要が表示されます。

    ページの一番下の [Submit] (送信) を選択します。

サービスアクセスを設定する
EC2 インスタンスプロファイルに選択される IAM ロールを作成する方法
  1. [許可の詳細を表示] を選択します。これは [EC2 インスタンスプロファイル] ドロップダウンリストに表示されます。

    [インスタンスプロファイルの許可を表示] というタイトルのモーダルウィンドウが表示されます。このウィンドウには、作成する新しい EC2 インスタンスプロファイルにアタッチする必要がある管理プロファイルが表示されます。IAM コンソールを起動するリンクも提供します。

  2. ウィンドウの上部に表示される [IAM コンソール] リンクを選択します。

  3. IAM コンソールのナビゲーションペインで、[Roles] (ロール) を選択します。

  4. [ロールを作成] を選択します。

  5. [信頼されたエンティティタイプ] から、[AWS サービス] を選択します。

  6. [ユースケース] で、[EC2] を選択します。

  7. [次へ] をクリックします。

  8. 適切な管理ポリシーをアタッチします。[インスタンスプロファイルの許可を表示] モーダルウィンドウをスクロールして、管理ポリシーを表示します。ポリシーはこちらにも記載されています。

    • AWSElasticBeanstalkWebTier

    • AWSElasticBeanstalkWorkerTier

    • AWSElasticBeanstalkMulticontainerDocker

  9. [次へ] をクリックします。

  10. ロールの名前を入力します。

  11. (オプション) ロールにタグを追加します。

  12. [ロールを作成] を選択します。

  13. 開いている Elastic Beanstalk コンソールウィンドウに戻ります。

  14. [インスタンスプロファイルの許可を表示] モーダルウィンドウを閉じます。

    重要

    Elastic Beanstalk コンソールを表示するブラウザページを閉じないでください。

  15. [EC2 インスタンスプロファイル] ドロップダウンリストの横にある refresh icon (更新) を選択します。

    これによってドロップダウンリストが更新され、今作成したロールがドロップダウンリストに表示されます。

Elastic Beanstalk のワークフロー

AWS サンプルアプリケーションをリソースにデプロイして実行するために、Elastic Beanstalk は次のアクションを実行します。これらの処理は約 5 分で完了します。

  1. という名前の Elastic Beanstalk アプリケーションを作成します。getting-started-app

  2. 以下のリソースを使用して GettingStartedApp-env という名前の環境を起動します。 AWS

    • Amazon Elastic Compute Cloud (Amazon EC2) インスタンス (仮想マシン)

    • Amazon EC2 セキュリティグループ

    • 1 つの Amazon Simple Storage Service (Amazon S3) バケット

    • Amazon CloudWatch アラーム

    • 任意のスタック AWS CloudFormation

    • ドメイン名

    AWS これらのリソースの詳細については、を参照してくださいAWS サンプルアプリケーション用に作成されたリソース

  3. Sample Application という名前の新しいアプリケーションバージョンを作成します。これは、デフォルトの Elastic Beanstalk サンプルアプリケーションファイルです。

  4. サンプルアプリケーションのコードを GettingStartedApp-env 環境にデプロイします。

環境の作成プロセス中、コンソールでは進捗状況が追跡され、イベントが表示されます。

環境の作成時に発生するイベントを示す Elastic Beanstalk コンソール

すべてのリソースが起動され、アプリケーションを実行している EC2 インスタンスがヘルスチェックに合格すると、環境のヘルス状態が Ok に変わります。これで、ウェブアプリケーションのウェブサイトを使用できるようになりました。

AWS サンプルアプリケーション用に作成されたリソース

サンプルアプリケーションを作成すると、Elastic Beanstalk は次のリソースを作成します。 AWS

  • EC2 インスタンス – 選択したプラットフォームでウェブアプリケーションを実行するよう設定された Amazon EC2 仮想マシン。

    各プラットフォームは、それぞれ特定の言語バージョン、フレームワーク、ウェブコンテナ、またはそれらの組み合わせをサポートするための、さまざまなソフトウェア、設定ファイル、スクリプトを実行します。ほとんどのプラットフォームでは、ウェブアプリケーションの前にウェブトラフィックを処理するリバースプロキシとして Apache または nginx のいずれかを使用します。そのプロキシがリクエストをアプリケーションに転送し、静的アセットを提供して、アクセスログとエラーログを生成します。

  • インスタンスセキュリティグループ – ポート 80 上の受信トラフィックを許可するよう設定された Amazon EC2 セキュリティグループ。このリソースでは、ロードバランサーからの HTTP トラフィックが、ウェブ・アプリケーションを実行している EC2 インスタンスに達することができます。デフォルトでは、トラフィックは他のポート上で許可されません。

  • Amazon S3 バケット – Elastic Beanstalk の使用時に作成されるソースコード、ログ、その他のアーティファクトの保存場所。

  • Amazon CloudWatch アラーム — 環境内のインスタンスの負荷を監視し、負荷が高すぎたり低すぎたりした場合にトリガーされる 2 CloudWatch つのアラーム。アラームがトリガーされると、Auto Scaling グループはレスポンスとしてスケールアップまたはダウンを行います。

  • AWS CloudFormation スタック — Elastic Beanstalk AWS CloudFormation は環境内のリソースを起動し、設定の変更を伝達するために使用されます。リソースは、AWS CloudFormation コンソールに表示できるテンプレートで定義されます。

  • ドメイン名 – ウェブ・アプリケーションまでのルートとなるドメイン名であり、subdomain.region.elasticbeanstalk.com の形式です。

    注記

    Elastic Beanstalk アプリケーションのセキュリティを強化するため、elasticbeanstalk.com ドメインはパブリックサフィックスリスト (PSL) に登録されています。セキュリティ強化のため、Elastic Beanstalk アプリケーションのデフォルトドメイン名に機密な Cookie を設定する必要が生じた場合は、__Host- プレフィックスの付いた Cookie の使用をおすすめします。この方法は、ドメインをクロスサイトリクエストフォージェリ (CSRF) の攻撃から守るのに役立ちます。詳細については、Mozilla 開発者ネットワークの「Set-Cookie」ページを参照してください。