

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

# 更多適用於 Java 的 Elastic Beanstalk 範例應用程式和教學課程
<a name="java-getstarted"></a>

本節提供額外的應用程式和教學課程。本主題稍早的 [適用於 Java 的 QuickStart ](java-quickstart.md)和 [Tomcat 上的適用於 Java 的 QuickStart ](tomcat-quickstart.md)主題會逐步引導您使用 EB CLI 啟動範例 Java 應用程式。

若要開始使用 Java 應用程式 AWS Elastic Beanstalk，您只需要上傳應用程式[原始碼套件](applications-sourcebundle.md)做為第一個應用程式版本，並部署到環境。當您建立環境時，Elastic Beanstalk 會設定所有需要的 AWS 資源，以執行可擴展的 Web 應用程式。

## 使用範例 Java 應用程式來啟動環境
<a name="java-getstarted-samples"></a>

Elastic Beanstalk 為每個平台提供單頁範例應用程式，以及更複雜的範例，示範如何使用其他 AWS 資源，例如 Amazon RDS 和語言或平台特定的功能和 APIs。

這些單頁範例的程式碼，和您未提供自己的原始碼即建立環境時所得到的相同。GitHub 上託管了更為複雜的範例，這些範例可能需要先行編譯或建置，才能部署到 Elastic Beanstalk 環境。

 


**範例**  

|  名稱  |  支援的版本  |  環境類型  |  來源  |  描述  | 
| --- | --- | --- | --- | --- | 
|  Tomcat (單頁)  |  所有 *Tomcat with Corretto* 平台分支  |  Web 伺服器 工作者  |   [tomcat.zip](samples/tomcat.zip)   |  Tomcat Web 應用程式，包含設定要在網站根目錄顯示的單一頁面 (`index.jsp`)。 針對[工作者環境](using-features-managing-env-tiers.md)，此範例包含了 `cron.yaml` 檔案，其中設定了排程的任務，每分鐘呼叫 `scheduled.jsp` 一次。當 `scheduled.jsp` 受到呼叫時，會寫入位於 `/tmp/sample-app.log` 的日誌檔案。最後，`.ebextensions` 中包含了組態檔案，該檔案會在您請求環境日誌時，將日誌從 `/tmp/` 複製到 Elastic Beanstalk 所讀取的位置。 如果您在執行此範例的環境中[啟用 X-Ray 整合](environment-configuration-debugging.md)功能，則此應用程式會顯示關於 X-Ray 的其他內容，並提供選項，來產生可在 X-Ray 主控台中檢視的除錯資訊。  | 
|  Corretto (單頁)  |  Corretto 11 Corretto 8  |  Web 伺服器  |  [corretto.zip](samples/corretto.zip)  |  包含 `Buildfile` 與 `Procfile` 組態檔案的 Corretto 應用程式。 如果您在執行此範例的環境中[啟用 X-Ray 整合](environment-configuration-debugging.md)功能，則此應用程式會顯示關於 X-Ray 的其他內容，並提供選項，來產生可在 X-Ray 主控台中檢視的除錯資訊。  | 
|  Scorekeep  | Java 8 | Web 伺服器 | [複製 GitHub.com 的儲存庫](https://github.com/awslabs/eb-java-scorekeep) |  *Scorekeep* 是一種 RESTful web API，使用 Spring 架構來提供界面，此界面可用來建立和管理使用者、工作階段與遊戲。此 API 套裝隨附 Angular 1.5 Web 應用程式，這個應用程式可透過 HTTP 使用此 API。 此應用程式使用 Java SE 平台的功能，來下載相依項目和建置啟動執行個體，將原始碼套件的檔案大小減到最小。此應用程式亦包含 nginx 組態檔案，可覆寫預設組態，藉由代理的連接埠 80 供前端 Web 應用程式靜態使用，而路由則會要求 `/api` 底下運作於 `localhost:5000` 的 API 的路徑。 Scorekeep 也包含了 `xray` 的分支，此分支顯示如何備妥 Java 應用程式以搭配 AWS X-Ray使用。它顯示使用 servlet 篩選條件來檢測傳入的 HTTP 請求、自動和手動 AWS SDK 用戶端檢測、記錄器組態，以及檢測傳出的 HTTP 請求和 SQL 用戶端。 請參閱讀我檔案取得相關說明，或使用 [AWS X-Ray 入門教學](https://docs.aws.amazon.com/xray/latest/devguide/xray-gettingstarted.html)嘗試搭配應用程式和 X-Ray。  | 
|  Does it Have Snakes?  | Tomcat 8 搭配 Java 8 | Web 伺服器 | [複製 GitHub.com 的儲存庫](https://github.com/awslabs/eb-tomcat-snakes) |  *Does it Have Snakes?* 是一種 Tomcat Web 應用程式，會針對 Elastic Beanstalk 組態檔案、Amazon RDS、JDBC、PostgreSQL、Servlet、JSP、Simple Tag Support、標記檔案、Log4J、Bootstrap 與 Jackson，顯示使用的狀況。 此專案的原始程式碼包含了最低程度的建置指令碼，這些指令碼會將 Servlet 和模型編譯為類別檔案，並將所需的檔案封裝為 Web 封存檔案，此等封裝檔案可以部署到 Elastic Beanstalk 環境。如需完整說明，請參閱專案儲存庫中的 readme 檔案。  | 
| Locust Load Generator | Java 8 | Web 伺服器 | [複製 GitHub.com 的儲存庫](https://github.com/awslabs/eb-locustio-sample) |  Web 應用程式，您可以用來針對不同 Elastic Beanstalk 環境中執行的另一個 Web 應用程式，進行負載測試。顯示 `Buildfile` 和 `Procfile` 檔案、DynamoDB 與 [Locust](http://locust.io/) 的使用狀況，Locust 是一種開放原始碼的負載測試工具。  | 

下載任一範例應用程式，並依下列步驟將其部署至 Elastic Beanstalk：

**使用 應用程式啟動環境 （主控台）**

1. 開啟 [Elastic Beanstalk 主控台](https://console.aws.amazon.com/elasticbeanstalk)，然後在**區域**清單中選取您的 AWS 區域。

1. 在導覽窗格中，選擇 **Applications (應用程式)**。在清單中選取現有的應用程式。您也可以依照 中的指示，選擇建立一個[管理 應用程式](applications.md)。

1. 在應用程式概觀頁面上，選擇**建立環境**。

   這會啟動 **Create environment** (建立環境) 精靈。精靈提供一組建立新環境的步驟。

1. 針對**環境層**，選擇 **Web 伺服器環境**或**工作者環境**[環境層](concepts.md#concepts-tier)。建立後您即無法變更環境層。
**注意**  
[Windows Server 平台上的 .NET](create_deploy_NET.md) 不支援工作者環境層。

   **應用程式資訊**欄位預設為根據您先前選擇的應用程式。

   在**環境資訊**中，根據應用程式**名稱將環境**名稱分組為預設值。如果您偏好不同的環境名稱，您可以在欄位中輸入另一個值。您可以選擇輸入**網域名稱**，否則 Elastic Beanstalk 會自動產生值。您也可以選擇性地輸入**環境描述。**

1. 在 **Platform (平台)**，選取符合您應用程式所使用語言的平台和平台分支。
**注意**  
Elastic Beanstalk 支援所列出大多數平台的多個[版本](concepts.platforms.md)。根據預設，主控台會針對您選擇的平台和平台分支，選取建議的版本。如果您的應用程式需要不同的版本，您可以在這裡選取。如需支援的平台版本的相關詳細資訊，請參閱 [支援 Elastic Beanstalk 的平台](concepts.platforms.md)。

1. 對於**應用程式碼**，您有幾個選擇可以繼續。
   + 若要啟動預設範例應用程式而不提供原始碼，請選擇**範例應用程式**。此動作會選擇 Elastic Beanstalk 為您先前選取的平台提供的單一頁面應用程式。
   + 如果您從本指南下載範例應用程式，或擁有自己的應用程式原始碼，請執行下列步驟。

     1. 選取**上傳您的程式碼**。

     1. 接著選擇**本機檔案**，然後在**上傳應用程式**下，選擇**選擇檔案**。

     1. 用戶端機器的作業系統會顯示 界面，以選取您下載的本機檔案。選取原始碼套件檔案並繼續。

1. 您對**預設**集的選擇取決於您對環境的用途。
   + 如果您要建立範例環境來了解 Elastic Beanstalk 或開發環境，請選擇**單一執行個體 （符合免費方案資格）**。
   + 如果您要建立生產環境或環境以進一步了解負載平衡，請選擇其中一個**高可用性**選項。

1. 選擇**下一步**。

**設定服務存取**  
接下來，您需要兩個角色。*服務角色*可讓 Elastic Beanstalk 監控您的 EC2 執行個體，並升級您環境的平台。*EC2 執行個體描述*檔角色允許寫入日誌和與其他 服務互動等任務。

**建立或選取服務角色**

1. 如果您先前已建立**服務角色**，並想要選擇現有的角色，請從**服務角色**下拉式清單中選取值，然後略過這些步驟的其餘部分來建立服務角色。

1. 如果您沒有看到針對**服務角色**列出的任何值，或者您想要建立新的值，請繼續執行後續步驟。

1. 針對**服務角色**，選擇**建立角色**。

1. 針對**信任的實體類型**，請選擇 **AWS 服務**。

1. 針對**使用案例**，選擇 **Elastic Beanstalk – 環境**。

1. 選擇**下一步**。

1. 確認**許可政策**包含下列項目，然後選擇**下一步**：
   + `AWSElasticBeanstalkEnhancedHealth`
   + `AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy`

1. 選擇建**立角色**。

1. 返回**設定服務存取**索引標籤，重新整理清單，然後選取新建立的服務角色。

**建立或選取 EC2 執行個體描述檔**

1. 如果您先前已建立 **EC2 執行個體描述檔**，並想要選擇現有的描述檔，請從 **EC2 執行個體描述檔**下拉式清單中選取值，然後略過這些步驟的其餘部分來建立 EC2 執行個體描述檔。

1. 如果您沒有看到 **EC2 執行個體描述檔**列出的任何值，或想要建立新的值，請繼續執行後續步驟。

1. 選擇建**立角色**。

1. 針對**信任的實體類型**，請選擇 **AWS 服務**。

1. 針對**使用案例**，選擇** Elastic Beanstalk – 運算**。

1. 選擇**下一步**。

1. 確認**許可政策**包含下列項目，然後選擇**下一步**：
   + `AWSElasticBeanstalkWebTier`
   + `AWSElasticBeanstalkWorkerTier`
   + `AWSElasticBeanstalkMulticontainerDocker`

1. 選擇建**立角色**。

1. 返回**設定服務存取**索引標籤，重新整理清單，然後選取新建立的 EC2 執行個體描述檔。

**完成設定和建立您的應用程式**

1. （選用） 如果您先前已建立 EC2 金鑰對，您可以從 **EC2 金鑰對**欄位下拉式清單中選取它。您可以使用它安全地登入 Elastic Beanstalk 為您的應用程式佈建的 Amazon EC2 執行個體。如果您略過此步驟，您可以隨時在環境建立後建立和指派 EC2 金鑰對。如需詳細資訊，請參閱[EC2 key pair (EC2 金鑰對)](using-features.managing.security.md#using-features.managing.security.keypair)。

1. 在 **Configure service access** (設定服務存取)頁面上選擇 **Skip to Review** (略過以檢閱)。

1. **Review** (檢閱)頁面會顯示您所有選擇的摘要。

   若要進一步自訂您的環境，請選擇步驟旁的 **Edit** (編輯)，其中包含您想要設定的任何項目。下列選項僅能於環境建立期間進行設定：
   + 環境名稱
   + 網域名稱
   + 平台版本
   + 處理器
   + 負載平衡器類型
   + 層

   下列設定可於環境建立後變更，但需要佈建新的執行個體或其他資源，且套用時間可能較長：
   + 執行個體類型、根磁碟區、金鑰對和 AWS Identity and Access Management (IAM) 角色
   + 內部 Amazon RDS 資料庫
   + VPC

   如需所有可用設定的詳細資訊，請參閱[建立新的環境精靈](environments-create-wizard.md)。

1. 選擇頁面底部的 **Submit** (提交)，以將建立的新環境初始化。

## 後續步驟
<a name="java-getstarted-next"></a>

在您擁有執行應用程式的環境後，可以隨時[部署應用程式的新版本](using-features.deploy-existing-version.md)或完全不同的應用程式。部署新的應用程式版本非常快速，因無須佈建或重新啟動 EC2 執行個體。

在您部署好一兩個範例應用程式，並準備好開始在本機上開發和執行 Java 應用程式之後，請參閱[下一節](java-development-environment.md)的內容，利用您將會用到的所有工具和程式庫，來設定 Java 開發環境。