

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

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

# 以來源映像為基礎的 App Runner 服務
<a name="service-source-image"></a>

您可以使用 根據兩種基本不同的服務來源類型 AWS App Runner 來建立和管理服務：*來源碼*和*來源映像*。無論來源類型為何，App Runner 都會負責啟動、執行、擴展和負載平衡您的服務。您可以使用 App Runner 的 CI/CD 功能來追蹤來源映像或程式碼的變更。當 App Runner 發現變更時，它會自動建置 （適用於原始程式碼） 並將新版本部署到您的 App Runner 服務。

本章討論以來源映像為基礎的 服務。如需以來源碼為基礎的 服務資訊，請參閱 [以原始程式碼為基礎的 App Runner 服務](service-source-code.md)。

*來源映像*是存放在映像儲存庫中的公有或私有容器映像。您可以將 App Runner 指向映像，並啟動根據此映像執行容器的服務。不需要建置階段。反之，您會提供ready-to-deploy的映像。

**注意**  
提供容器映像時，您必須負責定期更新和修補這些映像。App Runner 管理基礎設施時，您應該確保所提供容器映像的安全性和up-to-date狀態。如需詳細資訊，請參閱 [AWS App Runner 文件](security-shared-responsibility.md#security-shared-responsibility.patch-images)

## 映像儲存庫供應商
<a name="service-source-image.providers"></a>

App Runner 支援下列映像儲存庫提供者：
+ **Amazon Elastic Container Registry (Amazon ECR)** – 儲存私有至 的映像 AWS 帳戶。
+ **Amazon Elastic Container Registry Public (Amazon ECR Public)** – 存放可公開讀取的映像。

**Topics**
+ [使用*您 AWS 帳戶中存放在 Amazon ECR 中的*映像](#service-source-image.providers.ecr)
+ [*在不同 AWS 帳戶中使用存放在 Amazon ECR 中的*映像](#service-source-image.providers.ecr-cross)
+ [使用存放在 Amazon ECR Public 中的映像](#service-source-image.providers.ecrpublic)

### 使用*您 AWS 帳戶中存放在 Amazon ECR 中的*映像
<a name="service-source-image.providers.ecr"></a>

[Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/) 會將映像存放在儲存庫中。有私有和公有儲存庫。若要從私有儲存庫將映像部署至 App Runner 服務，App Runner 需要從 Amazon ECR 讀取映像的許可。若要提供該許可給 App Runner，您需要為 App Runner 提供 *存取角色*。這是具有必要 Amazon ECR 動作許可的 AWS Identity and Access Management (IAM) 角色。當您使用 App Runner 主控台建立服務時，您可以選擇帳戶中的現有角色。或者，您可以使用 IAM 主控台建立新的自訂角色。或者，您可以選擇讓 App Runner 主控台根據受管政策為您建立角色。

當您使用 App Runner API 或 時 AWS CLI，您會完成兩個步驟的程序。首先，您可以使用 IAM 主控台來建立存取角色。您可以使用 App Runner 提供的受管政策，或輸入您自己的自訂許可。然後，您可以使用 [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html) API 動作在建立服務期間提供存取角色。

如需建立 App Runner 服務的相關資訊，請參閱 [建立 App Runner 服務](manage-create.md)。

### *在不同 AWS 帳戶中使用存放在 Amazon ECR 中的*映像
<a name="service-source-image.providers.ecr-cross"></a>

建立 App Runner 服務時，您可以使用存放在 Amazon ECR 儲存庫中的映像，該儲存庫屬於您服務所在帳戶以外的 AWS 帳戶。使用跨帳戶映像時，除了上一節關於相同帳戶映像中列出的映像之外，還有幾個額外的考量。
+ 跨帳戶儲存庫應附加政策。儲存庫政策為您的存取角色提供讀取儲存庫中映像的許可。為此使用下列政策。使用存取角色的 Amazon Resource Name (ARN) 取代 `Princiapal`元素中的角色。

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Principal": {"AWS": "arn:aws:iam::123456789012:role/MyApplicationRole"},
        "Action": [
          "ecr:BatchGetImage",
          "ecr:DescribeImages",
          "ecr:GetDownloadUrlForLayer"
          ],
          "Resource": "arn:aws:ecr:{{us-east-1}}:{{111122223333}}:repository/*"
      }
    ]
  }
  ```

------

  如需有關將儲存庫政策連接至 Amazon ECR 儲存庫的資訊，請參閱《*Amazon Elastic Container Registry 使用者指南*》中的[設定儲存庫政策陳述](https://docs.aws.amazon.com/AmazonECR/latest/userguide/set-repository-policy.html)式。
+ App Runner 不支援在您服務所在的不同帳戶中自動部署 Amazon ECR 映像。

### 使用存放在 Amazon ECR Public 中的映像
<a name="service-source-image.providers.ecrpublic"></a>

[Amazon ECR Public](https://docs.aws.amazon.com/AmazonECR/latest/public/) 存放可公開讀取的映像。以下是 Amazon ECR 和 Amazon ECR Public 之間的主要差異，您應在 App Runner 服務內容中了解這些差異：
+ Amazon ECR Public 映像可公開讀取。當您根據 Amazon ECR Public 映像建立服務時，不需要提供存取角色。儲存庫不需要連接任何政策。
+ App Runner 不支援 Amazon ECR Public 映像的自動 （連續） 部署。

#### 直接從 Amazon ECR Public 啟動服務
<a name="service-source-image.providers.ecrpublic.direct"></a>

您可以直接啟動託管在 [Amazon ECR Public Gallery](https://gallery.ecr.aws) 上之相容 Web 應用程式的容器映像，做為在 App Runner 上執行的 Web 服務。瀏覽圖庫時，請在圖庫頁面上尋找**使用 App Runner 啟動**影像。具有此選項的映像與 App Runner 相容。如需圖庫的詳細資訊，請參閱《[Amazon ECR Public 使用者指南》中的使用 Amazon ECR Public Gallery](https://docs.aws.amazon.com/AmazonECR/latest/public/public-gallery.html)。 **

![Amazon ECR Public Gallery 顯示具有使用 App Runner 啟動按鈕的容器映像頁面](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/ecr-gallery-image-launch.png)


**將圖庫映像啟動為 App Runner 服務**

1. 在映像的圖庫頁面上，選擇**使用 App Runner 啟動**。

   結果：App Runner 主控台會在新的瀏覽器索引標籤中開啟。主控台會顯示**建立服務**精靈，其中大部分所需的新服務詳細資訊已預先填入。

1. 如果您想要在主控台顯示的 AWS 區域以外的區域中建立服務，請選擇主控台標頭上顯示的 區域。然後，選取另一個區域。

1. 針對**連接埠**，輸入映像應用程式接聽的連接埠號碼。您通常可以在映像的圖庫頁面上找到它。

1. 或者，變更任何其他組態詳細資訊。

1. 選擇**下一步**，檢閱設定，然後選擇**建立和部署**。

## 影像範例
<a name="service-source-image.example"></a>

App Runner 團隊會在 Amazon ECR Public Gallery 中維護 **hello-app-runner** 範例映像。您可以使用此範例來開始建立以映像為基礎的 App Runner 服務。如需詳細資訊，請參閱 [hello-app-runner](https://gallery.ecr.aws/aws-containers/hello-app-runner)。