Elastic Beanstalk を使用したサンプルアプリケーションの作成 - AWS Elastic Beanstalk

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

Elastic Beanstalk を使用したサンプルアプリケーションの作成

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

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

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

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

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

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

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

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

  6. [Next (次へ)] を選択します。

  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 コンソールのナビゲーションペインで、ロール を選択します。

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

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

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

  7. [Next (次へ)] を選択します。

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

    • AWSElasticBeanstalkWebTier

    • AWSElasticBeanstalkWorkerTier

    • AWSElasticBeanstalkMulticontainerDocker

  9. [Next (次へ)] を選択します。

  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. 次の AWS リソースを使用して GettingStartedApp-env という名前の環境を起動します。

    • 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 環境にデプロイします。

環境の作成プロセス中に、コンソールは進行状況を追跡し、イベントタブにイベントステータスを表示します。すべてのリソースが起動され、アプリケーションを実行している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」ページを参照してください。