建構立即啟動 URL - AWS Elastic Beanstalk

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建構立即啟動 URL

您可建構自訂 URL,讓任何人都能夠在 AWS Elastic Beanstalk快速部署並執行預先決定的 Web 應用程式。此 URL 稱為立即啟動 URL。例如,為了示範專門於 Elastic Beanstalk 執行的 Web 應用程式,您可能就需要立即啟動 URL。透過立即啟動 URL,您可以使用參數,將所需資訊事先新增至建立應用程式精靈。在您將此資訊新增至精靈之後,任何人都只需要幾個步驟即可使用該 URL 連結,透過您的 Web 應用程式原始碼啟動 Elastic Beanstalk 環境。這表示使用者無須手動上傳或指定應用程式原始碼套件的位置。他們也不需要向精靈提供任何其他資訊。

立即啟動 URL 向 Elastic Beanstalk 提供建立應用程式所需要的最少資訊:應用程式名稱、解決方案堆疊、執行個體類型以及環境類型。對於在您的自訂立即啟動 URL 中未明確指定的組態詳細資訊,Elastic Beanstalk 會使用預設值。

立即啟動 URL 使用標準 URL 語法。如需詳細資訊,請參閱 RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax

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

立即啟動 URL 可選擇性納入下列參數。若您的立即啟動 URL 不含選用參數,Elastic Beanstalk 會使用預設值來建立並執行您的應用程式。如果您不包含sourceBundleUrl參數,Elastic Beanstalk 會使用指定平台的預設範例應用程式。

  • sourceBundleUrl— 以 URL 格式指定 Web 應用程式來源套裝軟體的位置。例如,如果您將來源服務包上傳到 Amazon S3 儲存貯體,則可以將sourceBundleUrl參數的值指定為https://mybucket.s3.amazonaws.com/myobject

    注意

    您可以將sourceBundleUrl參數值指定為 HTTP URL,但是使用者的網頁瀏覽器會套用 HTML URL 編碼,視需要轉換字元。

  • environmentType – 指定環境是否有負載平衡且可擴展,或為單一執行個體環境。如需更多詳細資訊,請參閱 環境類型。參數值可指定為 LoadBalancingSingleInstance

  • tierName – 指定環境支援的 Web 應用程式,是否會處理 Web 請求或執行背景任務。如需更多詳細資訊,請參閱 Elastic Beanstalk 工作者環境。您可指定為 WebServerWorker

  • instanceType – 指定具有最適合您應用程式之特性 (包含記憶體大小和 CPU 能力) 的伺服器。如需 Amazon EC2 執行個體系列和類型的詳細資訊,請參閱 Amazon EC2 使用者指南中的執行個體類型或 Amazon EC2 使用者指南中的執行個體類型。如需有關跨區域可用執行個體類型的詳細資訊,請參閱 Amazon EC2 使用者指南中的可用執行個體類型或 Amazon EC2 使用者指南中的可用執行個體類型。

  • withVpc – 指定是否於 Amazon VPC 中建立環境。您可指定為 truefalse。如需搭配 Amazon VPC 使用 Elastic Beanstalk 的詳細資訊,請參閱搭配 Amazon VPC 使用 Elastic Beanstalk

  • withRds – 指定是否透過此環境建立 Amazon RDS 資料庫執行個體。如需更多詳細資訊,請參閱 搭配 Amazon RDS 使用 Elastic Beanstalk。您可指定為 truefalse

  • rdsDBEngine – 指定環境中 Amazon EC2 執行個體欲使用的資料庫引擎。您可指定為 mysqloracle-selsqlserver-exsqlserver-websqlserver-se。預設值為 mysql

  • RDSDB AllocatedStorage — 指定配置的資料庫儲存體大小 (GB)。您可以指定下列值:

    • MySQL - 51024。預設值為 5

    • Oracle - 101024。預設值為 10

    • Microsoft SQL Server Express 版本 - 30

    • Microsoft SQL Server Web 版本 - 30

    • Microsoft SQL Server Standard 版本 - 200

  • RDSDB InstanceClass — 指定資料庫執行處理類型。預設值為 db.t2.micro (非執行於 Amazon VPC 的環境則為 db.m1.large)。如需 Amazon RDS 支援的資料庫執行個體類別清單,請參閱《Amazon Relational Database Service 使用者指南》中的資料庫執行個體類別

  • rdsMultiAZDatabase - 指定 Elastic Beanstalk 是否需要跨多個可用區域建立資料庫執行個體。您可指定為 truefalse。如需使用 Amazon RDS 進行多個可用區域部署的詳細資訊,請參閱《Amazon Relational Database Service 使用者指南》中的區域與可用區域

  • RDSDB DeletionPolicy — 指定是否要在環境終止時刪除或建立資料庫執行處理的快照。您可指定為 DeleteSnapshot

範例

下列是立即啟動 URL 的範例。建構自己的 URL 後,即可提供給您的使用者。例如,您可以在網頁或培訓教材中內嵌 URL。當使用者透過立即啟動 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

當使用者選擇立即啟動 URL,Elastic Beanstalk 會顯示如下頁面。

立即啟動 URL 的 Elastic Beanstalk 管理主控台頁面
欲使用立即啟動 URL
  1. 選擇立即啟動 URL。

  2. 在 Elastic Beanstalk 主控台開啟後,請於 Create a web app (建立 Web 應用程式) 頁面選擇 Review and launch (檢閱並發佈),即可檢視 Elastic Beanstalk 用於建立應用程式並啟動應用程式執行之環境所使用的設定。

  3. Configure (設定) 頁面中選擇 Create app (建立應用程式) 以建立應用程式。