

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

# AWS App Runner 搭配 使用 AWS Toolkit for Visual Studio Code
<a name="using-apprunner"></a>

[AWS App Runner](https://docs.aws.amazon.com/apprunner/latest/dg/what-is-apprunner.html) 提供快速、簡單且符合成本效益的方式，從原始碼或容器映像直接部署到 AWS 雲端中可擴展且安全的 Web 應用程式。使用它，您不需要學習新技術、決定要使用的運算服務，或知道如何佈建和設定 AWS 資源。

您可以使用 根據*來源映像*或*來源碼* AWS App Runner 來建立和管理服務。如果您使用來源映像，則可以選擇存放在映像儲存庫中的公有或私有容器映像。App Runner 支援下列映像儲存庫提供者：
+ Amazon Elastic Container Registry (Amazon ECR)：將私有映像儲存在您的帳戶中 AWS 。
+ Amazon Elastic Container Registry Public (Amazon ECR Public)：存放公有的可讀取映像。

 如果您選擇原始碼選項，則可以從由支援的儲存庫提供者所維護的原始碼儲存庫進行部署。目前，App Runner 支援 [GitHub](https://github.com/) 作為原始碼儲存庫提供者。

## 先決條件
<a name="apprunner-prereqs"></a>

若要使用 與 App Runner 互動， AWS Toolkit for Visual Studio Code 需要下列項目：
+  AWS 帳戶
+  AWS Toolkit for Visual Studio Code 該功能的版本 AWS App Runner

 除了這些核心需求之外，請確定所有相關的 IAM 使用者都具有與 App Runner 服務互動的許可。此外，您還需要獲取有關服務來源的特定資訊，例如：容器映像 URI 或與 GitHub 儲存庫的連線。當您建立 App Runner 服務時需要此資訊。

### 設定 App Runner 的 IAM 許可
<a name="app-runner-permissions"></a>

授予 App Runner 所需許可的最簡單方法是將現有的 AWS 受管政策連接到相關 AWS Identity and Access Management (IAM) 實體，特別是使用者或群組。App Runner 提供兩個您可以連接至 IAM 使用者的受管政策：
+ `AWSAppRunnerFullAccess`：允許使用者執行所有 App Runner 動作。
+ `AWSAppRunnerReadOnlyAccess`：允許使用者列出和檢視 App Runner 資源的詳細資訊。

此外，如果您從 Amazon Elastic Container Registry (Amazon ECR) 選擇私有儲存庫做為服務來源，則必須為 App Runner 服務建立下列存取角色：
+ `AWSAppRunnerServicePolicyForECRAccess`：允許 App Runner 存取您帳戶中的 Amazon Elastic Container Registry (Amazon ECR) 映像。

您可以在使用 VS Code 的**命令面板**設定服務執行個體時自動建立此角色。

**注意**  
**AWSServiceRoleForAppRunner** 服務連結角色允許 AWS App Runner 完成下列任務：  
將日誌推送至 Amazon CloudWatch Logs 日誌群組。
建立 Amazon CloudWatch Events 規則，以訂閱 Amazon Elastic Container Registry (Amazon ECR) 映像推送。
您不需要手動建立 服務連結角色。當您 AWS App Runner 在 AWS 管理主控台 中或使用 呼叫的 API 操作建立 時 AWS Toolkit for Visual Studio Code， 會為您 AWS App Runner 建立此服務連結角色。

如需詳細資訊，請參閱 *AWS App Runner 開發人員指南*》、中的「[App Runner 的 Identity and Access Management](https://docs.aws.amazon.com/apprunner/latest/dg/security-iam.html)」。

### 取得 App Runner 的服務來源
<a name="app-runner-sources"></a>

您可以使用 AWS App Runner 從來源映像或來源碼部署服務。

------
#### [ Source image ]

如果您是從來源映像部署，您可以從私有或公有映像登錄檔取得該 AWS 映像儲存庫的連結。
+ Amazon ECR 私有登錄：複製使用 Amazon ECR 主控台之私有儲存庫的 URI，網址為 [https://console.aws.amazon.com/ecr/repositories](https://console.aws.amazon.com/ecr/repositories)。
+ Amazon ECR 公有登錄：複製使用 Amazon ECR Public Gallery (Amazon ECR 公有映像庫) 的公有儲存庫的 URI，網址為 [https://gallery.ecr.aws/](https://gallery.ecr.aws)。

**注意**  
您也可以直接從 Toolkit for VS 程式碼中的 **AWS Explorer** 取得私有 Amazon ECR 儲存庫的 URI：  
開啟 **AWS Explorer** 並展開 **ECR** 節點，以檢視該 AWS 區域的儲存庫清單。
在儲存庫上按一下滑鼠右鍵，然後選擇 **Copy Repository URI** (複製儲存庫 URI) 將連結複製到剪貼簿。

使用 VS Code 的**命令面板**設定服務執行個體時，您可以指定映像儲存庫的 URI

如需詳細資訊，請參閱 *AWS App Runner 開發人員指南*中的「[以來源映像為基礎的 App Runner 服務](https://docs.aws.amazon.com/apprunner/latest/dg/service-source-image.html)」。

------
#### [ Source code ]

若要將原始碼部署到 AWS App Runner 服務，該程式碼必須存放在由支援的儲存庫提供者維護的 Git 儲存庫中。App Runner 支援 [GitHub](https://github.com/) 作為原始碼儲存庫提供者。

如需設定 GitHub 儲存庫的相關資訊，請參閱 GitHub 上的[入門文件](https://docs.github.com/en/github/getting-started-with-github)。

若要從 GitHub 儲存庫將原始碼部署至 App Runner 服務，App Runner 會建立至 GitHub 的連線。如果您的儲存庫是私有的 (也就是說，它不能在 GitHub 上公開存取)，則您必須提供連線的詳細資訊給 App Runner。

**重要**  
若要建立 GitHub 連線，您必須使用 App Runner 主控台 ([https://console.aws.amazon.com/apprunner](https://console.aws.amazon.com/apprunner)) 來建立一個將 GitHub 連結到 AWS的連線。使用 VS Code 的**命令面板**設定服務執行個體時，您可以選擇 **GitHub 連線**頁面上可用的連線。  
如需詳細資訊，請參閱 *AWS App Runner 開發人員指南*中的「[管理 App Runner 連線](https://docs.aws.amazon.com/apprunner/latest/dg/manage-connections.html)」。

App Runner 服務執行個體提供受管執行期，可讓您的程式碼建置和執行。 AWS App Runner 目前支援下列執行期：
+ Python 受管的執行時間 
+ Node.js 受管的執行時間

做為服務設定的一部分，您會提供 App Runner 服務如何建置和開始服務的相關資訊。您可以使用 **Command Palette** (命令選擇區) 或指定一個 YAML 格式化的 [App Runner 組態檔案](https://docs.aws.amazon.com/apprunner/latest/dg/config-file.html)來輸入此資訊。此檔案中的值會指示 App Runner 如何建置和開始您的服務，並提供執行時間內容。這包括相關的網路設定和環境變數。組態檔案命名為 `apprunner.yaml`。它會自動新增到您應用程式儲存庫的根目錄中。

 

------

## 定價
<a name="app-runner-pricing"></a>

您需支付應用程式使用的運算和記憶體資源的費用。此外，如果您將部署自動化，您也要針對每個涵蓋當月所有自動化部署的應用程式來支付固定月費。如果您選擇從原始碼進行部署，您還需要根據 App Runner 從原始碼建置容器所需的時間來支付建置費用。

如需詳細資訊，請參閱[AWS App Runner 定價](https://aws.amazon.com/apprunner/pricing/)。

**Topics**
+ [先決條件](#apprunner-prereqs)
+ [定價](#app-runner-pricing)
+ [建立 App Runner 服務](creating-service-apprunner.md)
+ [管理 App Runner 服務](managing-service-apprunner.md)