

AWS App Runner 不再開放給新客戶。現有客戶可以繼續正常使用該服務。如需詳細資訊，請參閱[AWS App Runner 可用性變更](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html)。

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

# 建立 App Runner 服務
<a name="manage-create"></a>

AWS App Runner 會自動從容器映像或原始程式碼儲存庫轉換到自動擴展的執行中 Web 服務。您可以將 App Runner 指向來源映像或程式碼，只指定少量的必要設定。App Runner 會視需要建置您的應用程式、佈建運算資源，以及部署您的應用程式以在其上執行。

當您建立服務時，App Runner 會建立*服務*資源。在某些情況下，您可能需要提供*連線*資源。如果您使用 App Runner 主控台，主控台會隱含地建立連線資源。如需 App Runner 資源類型的詳細資訊，請參閱 [App Runner 資源](architecture.md#architecture.resources)。這些資源類型具有與每個 中您的帳戶相關聯的配額 AWS 區域。如需詳細資訊，請參閱[App Runner 資源配額](architecture.md#architecture.quotas)。

根據來源類型和提供者，建立服務的程序存在細微差異。本主題涵蓋建立這些來源類型的不同程序，讓您可以遵循適合您情況的任何程序。如需使用程式碼範例啟動基本程序，請參閱 [App Runner 入門](getting-started.md)。

## 先決條件
<a name="manage-create.prereq"></a>

建立 App Runner 服務之前，請務必完成下列動作：
+ 完成 中的設定步驟[設定 App Runner](setting-up.md)。
+ 請確定您的應用程式來源已就緒。您可以使用 [GitHub](https://github.com/) 中的程式碼儲存庫、[Bitbucket](https://bitbucket.org/) 或 [Amazon Elastic Container Registry (Amazon ECR)](https://docs.aws.amazon.com/AmazonECR/latest/userguide/) 中的容器映像來建立 App Runner 服務。

## 建立服務
<a name="manage-create.create"></a>

本節會逐步解說兩種 App Runner 服務類型的建立程序：以原始碼為基礎，以及以容器映像為基礎。

**注意**  
如果您為服務建立傳出流量 VPC 連接器，接下來的服務啟動程序將經歷一次性延遲。您可以在建立新服務時或之後使用服務更新來設定此組態。如需詳細資訊，請參閱本指南*的 Networking with App Runner* 章節[一次性延遲](network-vpc.md#network-vpc.VPC-connector.latency)中的 。

### 從程式碼儲存庫建立服務
<a name="manage-create.create.github"></a>

下列各節說明如何在來源為 [GitHub](https://github.com/) 或 [Bitbucket](https://bitbucket.org/) 中的程式碼儲存庫時建立 App Runner 服務。當您使用程式碼儲存庫時，App Runner 必須連線到提供者組織或帳戶。因此，您需要協助建立此連線。如需 App Runner 連線的詳細資訊，請參閱 [管理 App Runner 連線](manage-connections.md)。

當您建立服務時，App Runner 會建置 Docker 映像，其中包含您的應用程式程式碼和相依性。然後，它會啟動執行此映像之容器執行個體的服務。

#### 使用 App Runner 主控台從程式碼建立服務
<a name="manage-create.create.github.console"></a>

**使用主控台建立 App Runner 服務**

1. 設定您的原始程式碼。

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

   1. 如果 還沒有 AWS 帳戶 任何 App Runner 服務，則會顯示主控台首頁。選擇**建立 App Runner 服務**。  
![App Runner 主控台首頁，顯示建立服務按鈕](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/getting-started-home.png)

      如果 AWS 帳戶 有現有的服務，則會顯示包含服務清單的服務****頁面。選擇 **Create service (建立服務)**。  
![App Runner 主控台服務頁面](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/getting-started-services.png)

   1. 在**來源和部署**頁面上的**來源**區段中，針對**儲存庫類型**，選擇**來源碼儲存庫**。

   1. 選取**提供者類型**。選擇 **GitHub** 或 **Bitbucket**。

   1. 接著，為您之前使用的提供者選取帳戶或組織，或選擇**新增**。然後，完成提供程式碼儲存庫登入資料，以及選擇要連線的帳戶或組織的程序。

   1. 針對**儲存庫**，選取包含應用程式程式碼的儲存庫。

   1. 針對**分支**，選取您要部署的分支。

   1. 對於**來源目錄**，在存放應用程式程式碼和組態檔案的來源儲存庫中輸入目錄。
**注意**  
組建和啟動命令會從您指定的來源目錄執行。App Runner 會將路徑視為根的絕對值。如果您不在此處指定值，目錄會預設為儲存庫根目錄。

1. 設定您的部署。

   1. 在**部署設定**區段中，選擇**手動**或**自動**。

      如需部署方法的詳細資訊，請參閱 [部署方法](manage-deploy.md#manage-deploy.methods)。

   1. 選擇**下一步**。  
![建立 App Runner 服務時的來源和部署設定](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/getting-started-create-source-depl.png)

1. 設定應用程式建置。

   1. 在**設定建置**頁面上，針對**組態檔案**，如果您的儲存庫不包含 App Runner 組態檔案，請選擇**此處設定所有設定**，或者如果包含，則選擇**使用組態檔案**。
**注意**  
App Runner 組態檔案是維護建置組態作為應用程式來源一部分的一種方式。當您提供時，App Runner 會從 檔案讀取一些值，而且不會讓您在 主控台中設定這些值。

   1. 提供下列建置設定：
      + **執行時間**：為您的應用程式選擇特定的受管執行時間。
      + **Build 命令** – 輸入從原始程式碼建置應用程式的命令。這可能是語言特定的工具或程式碼隨附的指令碼。
      + **Start 命令** – 輸入啟動 Web 服務的命令。
      + **連接埠** – 輸入 Web 服務接聽的 IP 連接埠。

   1. 選擇**下一步**。  
![在建立 App Runner 服務時建置設定](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/getting-started-create-build.png)

1. 設定您的服務。

   1. 在**設定服務**頁面上的服務**設定**區段中，輸入服務名稱。
**注意**  
所有其他服務設定皆為選用，或具有主控台提供的預設值。

   1. 選擇性地變更或新增其他設定，以符合您的應用程式需求。

   1. 選擇**下一步**。  
![建立 App Runner 服務時的 服務設定](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/manage-create-github-service.png)

1. 在**檢閱和建立**頁面上，驗證您輸入的所有詳細資訊，然後選擇**建立和部署**。

   **結果：**如果成功建立服務，主控台會顯示服務儀表板，其中包含新**服務的服務概觀**。  
![App Runner 服務儀表板頁面](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/getting-started-create-dashboard.png)

1. 確認您的服務正在執行。

   1. 在服務儀表板頁面上，等待服務**狀態****執行**中。

   1. 選擇**預設網域**值。這是您服務網站的 URL。

   1. 使用您的網站並驗證其是否正常運作。

#### 使用 App Runner API 或 從程式碼建立服務 AWS CLI
<a name="manage-create.create.github.api"></a>

若要使用 App Runner API 或 建立服務 AWS CLI，請呼叫 `CreateService` API 動作。如需詳細資訊和範例，請參閱 [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)。如果這是您第一次使用來源碼儲存庫 (GitHub 或 Bitbucket) 的特定組織或帳戶建立服務，請先呼叫 [CreateConnection](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateConnection.html)。這會在 App Runner 與儲存庫提供者的組織或帳戶之間建立連線。如需 App Runner 連線的詳細資訊，請參閱 [管理 App Runner 連線](manage-connections.md)。

如果呼叫傳回成功回應，且[服務](https://docs.aws.amazon.com/apprunner/latest/api/API_Service.html)物件顯示 `"Status": "CREATING"`，則您的服務會開始建立。

如需範例呼叫，請參閱 *AWS App Runner API 參考*中的[建立原始碼儲存庫服務](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html#API_CreateService_Example_1) 

### 從 Amazon ECR 映像建立服務
<a name="manage-create.create.ecr"></a>

下列各節說明如何在來源是存放在 [Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/) 中的容器映像時建立 App Runner 服務。Amazon ECR 是 AWS 服務。因此，若要根據 Amazon ECR 映像建立服務，您可以為 App Runner 提供包含必要 Amazon ECR 動作許可的存取角色。

**注意**  
存放在 Amazon ECR Public 中的映像可公開取得。因此，如果您的映像存放在 Amazon ECR Public 中，則不需要存取角色。

建立服務時，App Runner 會啟動執行您所提供映像之容器執行個體的服務。在這種情況下，沒有建置階段。

如需詳細資訊，請參閱[以來源映像為基礎的 App Runner 服務](service-source-image.md)。

#### 使用 App Runner 主控台從映像建立服務
<a name="manage-create.create.ecr.console"></a>

**使用主控台建立 App Runner 服務**

1. 設定您的原始程式碼。

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

   1. 如果 還沒有 AWS 帳戶 任何 App Runner 服務，則會顯示主控台首頁。選擇**建立 App Runner 服務**。  
![App Runner 主控台首頁，顯示建立服務按鈕](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/getting-started-home.png)

      如果 AWS 帳戶 有現有的服務，則會顯示服務****頁面，其中包含您的服務清單。選擇 **Create service (建立服務)**。  
![App Runner 主控台服務頁面](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/getting-started-services.png)

   1. 在**來源和部署**頁面上的**來源**區段中，針對**儲存庫類型**，選擇**容器登錄**檔。

   1. 針對**提供者**，選擇存放映像的提供者：
      + **Amazon ECR** – 存放在 Amazon ECR 中的私有映像。
      + **Amazon ECR Public** – 存放在 Amazon ECR Public 中的可公開讀取映像。

   1. 針對**容器映像 URI**，選擇**瀏覽**。

   1. 在**選取 Amazon ECR 容器映像**對話方塊中，針對**映像儲存庫**，選取包含映像的儲存庫。

   1. 針對**映像標籤**，選取您要部署的特定映像標籤 （例如，**最新**)，然後選擇**繼續**。  
![在建立 App Runner 服務時選取 Amazon ECR 映像](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/manage-create-ecr-select-image.png)

1. 設定您的部署。

   1. 在**部署設定**區段中，選擇**手動**或**自動**。
**注意**  
App Runner 不支援 Amazon ECR 公有映像的自動部署，以及 Amazon ECR 儲存庫中屬於您服務所在之不同 AWS 帳戶的影像。

      如需部署方法的詳細資訊，請參閱 [部署方法](manage-deploy.md#manage-deploy.methods)。

   1. 【**Amazon ECR** 提供者】 對於 **ECR 存取角色**，選擇帳戶中現有的服務角色，或選擇建立新的角色。如果您使用的是手動部署，您也可以選擇在部署時使用 IAM 使用者角色。

   1. 選擇**下一步**。  
![建立 App Runner 服務時的來源和部署設定](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/manage-create-ecr-source-depl.png)

1. 設定您的服務。

   1. 在**設定服務**頁面**的服務設定**區段中，輸入服務名稱和您的服務網站接聽的 IP 連接埠。
**注意**  
所有其他服務設定皆為選用，或具有主控台提供的預設值。

   1. （選用） 變更或新增其他設定，以符合應用程式的需求。

   1. 選擇**下一步**。  
![建立 App Runner 服務時的 服務設定](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/manage-create-ecr-service.png)

1. 在**檢閱和建立**頁面上，驗證您輸入的所有詳細資訊，然後選擇**建立和部署**。

   **結果：**如果成功建立服務，主控台會顯示服務儀表板，其中包含新服務**的服務概觀**。  
![App Runner 服務儀表板頁面](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/manage-create-ecr-dashboard.png)

1. 確認您的服務正在執行。

   1. 在服務儀表板頁面上，等待服務**狀態****執行**中。

   1. 選擇**預設網域**值。這是您服務網站的 URL。

   1. 使用您的網站並確認其是否正常運作。

#### 使用 App Runner API 或 從映像建立服務 AWS CLI
<a name="manage-create.create.ecr.api"></a>

若要使用 App Runner API 或 建立服務 AWS CLI，請呼叫 [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html) API 動作。

如果呼叫傳回成功回應，且服務物件顯示 ，您的[服務](https://docs.aws.amazon.com/apprunner/latest/api/API_Service.html)建立就會開始`"Status": "CREATING"`。

如需範例呼叫，請參閱 *AWS App Runner API 參考*中的[建立來源映像儲存庫服務](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html#API_CreateService_Example_2) 