「Launch Now URL」の作成 - AWS Elastic Beanstalk

「Launch Now URL」の作成

誰でも迅速に事前定義されたウェブアプリケーションを AWS Elastic Beanstalk にデプロイして実行できるように、カスタム URL を作成できます。この URL は「Launch Now URL」と呼ばれます。「Launch Now URL」が必要になるのは、例えば Elastic Beanstalk 上で実行するために構築したウェブアプリケーションのデモを行う場合などです。「Launch Now URL」により、パラメータを使用して、必要な情報を事前に Create Application ウィザードに追加することができます。この情報をウィザードに追加すると、誰でも URL リンクを使用して、短い手順でウェブアプリケーションソースで Elastic Beanstalk 環境を起動できます。つまり、ユーザーはアプリケーションソースバンドルの場所を手動でアップロードまたは指定する必要がありません。また、ウィザードに追加の情報を入力する必要もありません。

「Launch Now URL」では、アプリケーションの作成に必要な最低限の情報 (アプリケーション名、ソリューションスタック、インスタンスタイプ、および環境タイプ) が Elastic Beanstalk に渡されます。カスタムの「Launch Now URL」で明示的に指定されていない設定事項については、Elastic Beanstalk によりデフォルト値が使用されます。

「Launch Now URL」は、標準の URL 構文を使用します。詳細については、「RFC 3986 - Uniform Resource Identifier (URI): 一般的な構文」を参照してください。

URL パラメータ

URL には次のパラメータを含める必要があります。大文字と小文字は区別されます。

  • リージョン – AWS リージョンを指定する Elastic Beanstalk でサポートされているリージョンのリストについては、AWS 全般のリファレンスの「AWS Elastic Beanstalk エンドポイントとクォータ」を参照してください。

  • applicationName – アプリケーションの名前を指定します。Elastic Beanstalk コンソールでは、他のアプリケーションと区別できるように Elastic Beanstalk によってこのアプリケーション名が表示されす。デフォルトでは、アプリケーションの名前は環境の名前と環境 URL を基に作成されます。

  • platform – 環境で使用するプラットフォームのバージョンを指定します。次のいずれかのメソッドを使用し、選択したものを URL エンコードします。

    • バージョンなしでプラットフォーム ARN を指定します。Elastic Beanstalk により、対応するプラットフォームのメジャーバージョンの最新プラットフォームバージョンが選択されます。例えば、最新の Python 3.6 プラットフォームバージョンを選択するには、Python 3.6 running on 64bit Amazon Linux を指定します。

    • プラットフォーム名を指定します。Elastic Beanstalk により、プラットフォームの最新言語ランタイムの最新バージョンが選択されます (例: Python)。

    使用可能なすべてのプラットフォームとそのバージョンの説明については、「Elastic Beanstalk でサポートされているプラットフォーム」を参照してください。

    AWS Command Line Interface (AWS CLI) を使用すると、すべての使用可能なプラットフォームのバージョンのリストとそれぞれの ARN を取得できます。list-platform-versions コマンドは、すべての使用可能なプラットフォームのバージョンに関する詳細情報を一覧表示します。--filters 引数を使用してリストの範囲を制限します。例えば、特定の言語のプラットフォームのバージョンのみを一覧表示するように制限できます。

    次の例では、すべての Python プラットフォームバージョンのクエリを実行し、出力を一連のコマンドのパイプに送り込みます。結果は、プラットフォームのバージョン ARN のリスト (末尾に /version がない) となります。人間が読み取れる形式で、URL エンコードはありません。

    $ aws elasticbeanstalk list-platform-versions --filters 'Type="PlatformName",Operator="contains",Values="Python"' | grep PlatformArn | awk -F '"' '{print $4}' | awk -F '/' '{print $2}' Preconfigured Docker - Python 3.4 running on 64bit Debian Preconfigured Docker - Python 3.4 running on 64bit Debian Python 2.6 running on 32bit Amazon Linux Python 2.6 running on 32bit Amazon Linux 2014.03 ... Python 3.6 running on 64bit Amazon Linux

    次の例では、最後の例に Perl コマンドを追加し、出力を URL エンコードします。

    $ aws elasticbeanstalk list-platform-versions --filters 'Type="PlatformName",Operator="contains",Values="Python"' | grep PlatformArn | awk -F '"' '{print $4}' | awk -F '/' '{print $2}' | perl -MURI::Escape -ne 'chomp;print uri_escape($_),"\n"' Preconfigured%20Docker%20-%20Python%203.4%20running%20on%2064bit%20Debian Preconfigured%20Docker%20-%20Python%203.4%20running%20on%2064bit%20Debian Python%202.6%20running%20on%2032bit%20Amazon%20Linux Python%202.6%20running%20on%2032bit%20Amazon%20Linux%202014.03 ... Python%203.6%20running%20on%2064bit%20Amazon%20Linux

「Launch Now URL」は、オプションで次のパラメータを含めることができます。オプションのパラメータを「Launch Now URL」に含めなかった場合、Elastic Beanstalk ではデフォルトの値を使用してアプリケーションの作成および実行が行われます。sourceBundleUrl パラメータが含まれていない場合、Elastic Beanstalk は指定の platform に対応するデフォルトのサンプルアプリケーションを使用します。

  • sourceBundleUrl – ウェブアプリケーションソースバンドルの場所を URL 形式で指定します。たとえば、Amazon S3 バケットにソースバンドルをアップロードした場合は、sourceBundleUrlパラメータの値を https://mybucket.s3.amazonaws.com/myobject のように指定できます。

    注記

    [sourceBundleUrl] パラメータの値を HTTP URL として指定できますが、ユーザーのウェブブラウザは、必要に応じて HTML URL エンコードのポリシーを使用して文字を変換します。

  • environmentType] – 環境のタイプとして、負荷分散されたスケーラブルな環境であるか、単一のインスタンスであるかを指定します。詳細については、「」を参照してください環境タイプ パラメータ値として LoadBalancing または SingleInstance を指定できます。

  • tierName - ウェブリクエストを処理するウェブアプリケーションか、バックグラウンドジョブを実行するウェブアプリケーションのどちらを環境でサポートしているかを指定します。詳細については、「」を参照してくださいElastic Beanstalk ワーカー環境 WebServer または Worker のどちらかを指定できます。

  • instanceType - アプリケーションに最適な特性 (メモリサイズや CPU 能力など) を持つサーバーを選択します。Amazon EC2 インスタンスファミリーとタイプの詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「インスタンスタイプ」または Windows インスタンス用 Amazon EC2 ユーザーガイドの「インスタンスタイプ」を参照してください。各リージョンで使用できるインスタンスタイプの詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「利用可能なインスタンスタイプ」またはWindows インスタンス用 Amazon EC2 ユーザーガイドの「利用可能なインスタンスタイプ」を参照してください。

  • withVpc - Amazon VPC で環境を作成するかどうかを指定します。true または false のどちらかを指定できます。Amazon VPC で Elastic Beanstalk を使用する方法については、「Amazon VPC で Elastic Beanstalk を使用する」を参照してください。

  • withRds - この環境で Amazon RDS データベースインスタンスを作成するかどうかを指定します。詳細については、「」を参照してくださいAmazon RDS で Elastic Beanstalk を使用する true または false のどちらかを指定できます。

  • rdsDBEngine - この環境の Amazon EC2 インスタンスで使用するデータベースエンジンを指定します。mysqloracle-selsqlserver-exsqlserver-web、または sqlserver-se を指定できます。デフォルト値は mysql です。

  • rdsDBAllocatedStorage – 割り当て済みデータベースストレージのサイズをギガバイト (GB) 単位で指定します。次の値を指定できます。

    • MySQL51024。デフォルト: 5

    • Oracle101024。デフォルト: 10

    • Microsoft SQL Server Express Edition30

    • Microsoft SQL Server Web Edition30

    • Microsoft SQL Server Standard Edition200

  • rdsDBInstanceClass - データベースインスタンスタイプを指定します。デフォルト値は db.t2.micro (Amazon VPC で実行されていない環境では db.m1.large) です。Amazon RDS でサポートされているデータベースインスタンスクラスのリストについては、Amazon Relational Database Service ユーザーガイドの「DB インスタンスクラス」を参照してください。

  • rdsMultiAZDatabase - Elastic Beanstalk で複数のアベイラビリティーゾーンを対象としたデータベースインスタンスを作成する必要があるかどうかを指定します。true または false のどちらかを指定できます。Amazon RDS を使用した複数のアベイラビリティーゾーンのデプロイについては、Amazon Relational Database Service ユーザーガイドの「リージョンとアベイラビリティーゾーン」を参照してください。

  • rdsDBDeletionPolicy - 環境の終了時に、データベースインスタンスを削除するか、そのスナップショットを取得するかを指定します。Delete または Snapshot のどちらかを指定できます。

[Example] (例)

「Launch Now URL」の例を次に示します。アプリケーションを構築した後、ユーザーがそれを使用することができます。例えば、URL をウェブページまたはトレーニング教材に組み込むことができます。ユーザーが「Launch Now URL」を使用してアプリケーションを作成する場合、Elastic Beanstalk のアプリケーションの作成ウィザードで追加の入力は必要ありません。

https://console.aws.amazon.com/elasticbeanstalk/home?region=us-west-2#/newApplication?applicationName=YourCompanySampleApp&platform=PHP%207.3%20running%20on%2064bit%20Amazon%20Linux&sourceBundleUrl=http://s3.amazonaws.com/mybucket/myobject&environmentType=SingleInstance&tierName=WebServer&instanceType=m1.small&withVpc=true&withRds=true&rdsDBEngine=postgres&rdsDBAllocatedStorage=6&rdsDBInstanceClass=db.m1.small&rdsMultiAZDatabase=true&rdsDBDeletionPolicy=Snapshot

ユーザーが [Launch Now URL] を選択すると、Elastic Beanstalk では次のようなページが表示されます。


        Elastic Beanstalk マネジメントコンソールの [Launch Now URL] ページ

Launch Now URL を使用するには

  1. [Launch Now URL] を選択します

  2. Elastic Beanstalk コンソールが開いたら [ウェブアプリケーションの作成] ページで [確認と起動] を選択します。アプリケーションを作成し、アプリケーションの実行環境を起動するために Elastic Beanstalk が使用する設定が表示されます。

  3. [設定] ページで、[アプリの作成] を選択してアプリケーションを作成します。