

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

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

# App Runner 架構和概念
<a name="architecture"></a>

AWS App Runner 從儲存庫取得您的原始碼或原始映像，並在 中為您建立和維護執行中的 Web 服務 AWS 雲端。一般而言，您只需要呼叫一個 App Runner 動作 [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html) 即可建立您的服務。

透過來源映像儲存庫，您可以提供 App Runner 可以部署以執行 Web 服務的ready-to-use容器映像。使用原始程式碼儲存庫，您可以提供建置和執行 Web 服務的程式碼和指示，並以特定執行時間環境為目標。App Runner 支援多個程式設計平台，每個平台都有一或多個平台主要版本的受管執行時間。

此時，App Runner 可以從 [Bitbucket](https://bitbucket.org/) 或 [GitHub](https://github.com/) 儲存庫擷取來源碼，也可以從 中的 [Amazon Elastic Container Registry (Amazon ECR)](https://docs.aws.amazon.com/AmazonECR/latest/userguide/) 擷取來源映像 AWS 帳戶。

下圖顯示 App Runner 服務架構的概觀。在圖表中，有兩個範例服務：一個從 GitHub 部署來源碼，另一個從 Amazon ECR 部署來源映像。相同的流程適用於 Bitbucket 儲存庫。

![App Runner 架構](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/architecture.png)


## App Runner 概念
<a name="architecture.concepts"></a>

以下是與在 App Runner 中執行之 Web 服務相關的重要概念：
+ *App Runner 服務* – App Runner 根據其原始碼儲存庫或容器映像用來部署和管理應用程式 AWS 的資源。App Runner 服務是您應用程式的執行版本。如需建立服務的詳細資訊，請參閱 [建立 App Runner 服務](manage-create.md)。
+ *來源類型* – 您為部署 App Runner 服務提供的來源儲存庫類型：[來源碼](service-source-code.md)或[來源映像](service-source-image.md)。
+ *儲存庫提供者* – 包含應用程式來源的儲存庫服務 （例如 [GitHub](service-source-code.md#service-source-code.providers.github)、[Bitbucket](service-source-code.md#service-source-code.providers.github) 或 [Amazon ECR](service-source-image.md#service-source-image.providers.ecr))。
+ *App Runner 連線* – 一種 AWS 資源，可讓 App Runner 存取儲存庫提供者帳戶 （例如 GitHub 帳戶或組織）。如需連線的相關資訊，請參閱[管理 App Runner 連線](manage-connections.md)。
+ *執行時間* – 部署原始程式碼儲存庫的基礎映像。App Runner 為不同的程式設計平台和版本提供各種*受管執行時間*。如需詳細資訊，請參閱[以原始程式碼為基礎的 App Runner 服務](service-source-code.md)。
+ *部署* – 將來源儲存庫版本 （程式碼或映像） 套用至 App Runner 服務的動作。服務的第一個部署會做為服務建立的一部分進行。稍後的部署可以透過下列兩種方式之一進行：
  + *自動部署* – CI/CD 功能。您可以設定 App Runner 服務，以自動建置 （適用於原始程式碼） 並部署應用程式的每個版本，如其在儲存庫中所示。這可以是來源碼儲存庫中的新遞交，或來源映像儲存庫中的新映像版本。
  + *手動部署* – 您明確啟動之 App Runner 服務的部署。
+ *自訂網域* – 與 App Runner 服務建立關聯的網域。Web 應用程式的使用者可以使用此網域來存取 Web 服務，而不是預設的 App Runner 子網域。如需詳細資訊，請參閱[管理 App Runner 服務的自訂網域名稱](manage-custom-domains.md)。
**注意**  
為了增強 App Runner 應用程式的安全性，在[公有尾碼清單 (PSL) 中註冊](https://publicsuffix.org/) *\*.awsapprunner.com *網域。為了進一步提高安全性，如果您需要在 App Runner 應用程式的預設網域名稱中設定敏感 Cookie，建議您使用具有`__Host-`字首的 Cookie。此做法將有助於保護您的網域免受跨站請求偽造 (CSRF) 攻擊。如需更多資訊，請參閱 Mozilla 開發人員網路中的[設定 Cookie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#cookie_prefixes) 頁面。
+ *維護* – App Runner 偶爾在執行 App Runner 服務的基礎設施上執行的活動。進行維護時，服務狀態會暫時變更為 `OPERATION_IN_PROGRESS`（主控台中的**操作進行中**) 幾分鐘。在此期間，服務上的動作 （例如，部署、組態更新、暫停/繼續或刪除） 會遭到封鎖。服務狀態回到 時，請在幾分鐘後再次嘗試動作`RUNNING`。
**注意**  
如果您的動作失敗，並不表示 App Runner 服務已關閉。您的應用程式處於作用中狀態，並持續處理請求。您的服務不太可能遇到任何停機時間。

  特別是，如果 App Runner 在託管服務的基礎硬體中偵測到問題，則會遷移您的服務。為了防止任何服務停機，App Runner 會將您的服務部署到一組新的執行個體，並將流量轉移到這些執行個體 （藍綠部署）。您偶爾可能會看到費用稍微暫時增加。

## App Runner 支援的組態
<a name="architecture.vcpu-memory"></a>

 當您設定 App Runner 服務時，您可以指定要配置給服務的虛擬 CPU 和記憶體組態。您需根據您選取的運算組態付費。如需定價的詳細資訊，請參閱 [AWS Resource Groups 定價](https://aws.amazon.com/apprunner/pricing)。

下表提供 App Runner 支援的 vCPU 和記憶體組態的相關資訊：


|  **CPU**  |  **記憶體**  | 
| --- | --- | 
| 0.25 vCPU | 0.5 GB | 
| 0.25 vCPU | 1 GB | 
| 0.5 vCPU | 1 GB | 
| 1 vCPU | 2 GB | 
| 1 vCPU | 3 GB | 
| 1 vCPU | 4 GB | 
| 2 vCPU | 4 GB | 
| 2 vCPU | 6 GB | 
| 4 vCPU | 8 GB | 
| 4 vCPU | 10 GB | 
| 4 vCPU | 12 GB | 

## App Runner 資源
<a name="architecture.resources"></a>

當您使用 App Runner 時，您可以在 中建立和管理幾種類型的資源 AWS 帳戶。這些資源用於存取您的程式碼和管理 服務。

下表提供這些資源的概觀：


|  **資源名稱**  |  **Description**  | 
| --- | --- | 
| Service | 代表應用程式的執行版本。本指南其餘大部分都說明服務類型、管理、組態和監控。<br />ARN：`arn:aws:apprunner:{{region}}:{{account-id}}:service/{{service-name}}[/{{service-id}}]` | 
| Connection | 為您的 App Runner 服務提供由第三方供應商存放之私有儲存庫的存取權。作為跨多個服務共用的個別資源存在。如需連線的相關資訊，請參閱[管理 App Runner 連線](manage-connections.md)。<br />ARN：`arn:aws:apprunner:{{region}}:{{account-id}}:connection/{{connection-name}}[/{{connection-id}}]` | 
| AutoScalingConfiguration | 為您的 App Runner 服務提供可控制應用程式自動擴展的設定。作為跨多個服務共用的個別資源存在。如需自動擴展的相關資訊，請參閱[管理 App Runner 自動擴展](manage-autoscaling.md)。<br />ARN：`arn:aws:apprunner:{{region}}:{{account-id}}:autoscalingconfiguration/{{config-name}}[/{{config-revision}}[/{{config-id}}]]` | 
| ObservabilityConfiguration | 為您的 App Runner 服務設定其他應用程式可觀測性功能。作為跨多個服務共用的個別資源存在。如需可觀測性組態的詳細資訊，請參閱 [為您的服務設定可觀測性](manage-configure-observability.md)。<br />ARN：`arn:aws:apprunner:{{region}}:{{account-id}}:observabilityconfiguration/{{config-name}}[/{{config-revision}}[/{{config-id}}]]` | 
| VpcConnector | 設定 App Runner 服務的 VPC 設定。作為跨多個服務共用的個別資源存在。如需 VPC 功能的詳細資訊，請參閱 [啟用傳出流量的 VPC 存取](network-vpc.md)。<br />ARN：`arn:aws:apprunner:{{region}}:{{account-id}}:vpcconnector/{{connector-name}}[/{{connector-revision}}[/{{connector-id}}]]` | 
| VpcIngressConnection | 這是用來設定傳入流量 AWS App Runner 的資源。它會在 VPC 介面端點與 App Runner 服務之間建立連線，讓您的 App Runner 服務只能從 Amazon VPC 內存取。如需 VPCIngressConnection 功能的詳細資訊，請參閱[為傳入流量啟用私有端點](network-pl.md)。<br />ARN：`arn:aws:apprunner:{{region}}:{{account-id}}:vpcingressconnection/{{vpc-ingress-connection-name}}[/{{connector-id}}]]` | 

## App Runner 資源配額
<a name="architecture.quotas"></a>

AWS 對您的帳戶施加一些配額 （也稱為限制），以用於每個 AWS 帳戶的資源用量 AWS 區域。下表列出與 App Runner 資源相關的配額。配額也會列在 的[AWS App Runner 端點和配額](https://docs.aws.amazon.com/general/latest/gr/apprunner.html)中*AWS 一般參考*。


<table>
<thead>
  <tr><th colspan="2"> 資源配額 </th><th> Description </th><th> 預設值 </th><th> 可調整？ </th></tr>
</thead>
<tbody>
  <tr><td colspan="2">Services</td><td>您可以在帳戶中為每個 建立的 服務數量上限 AWS 區域。</td><td>30</td><td> ![](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/icon-yes.png) 是</td></tr>
  <tr><td colspan="2">Connections</td><td>您可以在帳戶中為每個連線建立的連線數目上限 AWS 區域。您可以在多個 服務中使用單一連線。</td><td>10</td><td> ![](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/icon-yes.png) 是</td></tr>
  <tr><td rowspan="2">Auto scaling configurations</td><td>names</td><td>您可以在帳戶中為每個 建立的自動擴展組態中擁有的唯一名稱數目上限 AWS 區域。您可以在多個 服務中使用單一自動擴展組態。</td><td>10</td><td> ![](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/icon-yes.png) 是</td></tr>
  <tr><td>每個名稱的修訂</td><td>您可以為每個唯一名稱在帳戶中為每個 建立 AWS 區域 的自動擴展組態修訂數目上限。您可以在多個服務中使用單一自動擴展組態修訂。</td><td>5</td><td> ![](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/icon-no.png) 否</td></tr>
  <tr><td rowspan="2">Observability configurations</td><td>names</td><td>您可以在帳戶中為每個 建立的可觀測性組態中擁有的唯一名稱數目上限 AWS 區域。您可以在多個服務中使用單一可觀測性組態。</td><td>10</td><td> ![](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/icon-yes.png) 是</td></tr>
  <tr><td>每個名稱的修訂</td><td>您可以為每個 AWS 區域 唯一名稱在帳戶中為每個 建立的可觀測性組態修訂數目上限。您可以在多個服務中使用單一可觀測性組態修訂。</td><td>10</td><td> ![](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/icon-no.png) 否</td></tr>
  <tr><td colspan="2">VPC connectors</td><td>您可以在帳戶中為每個連接器建立的 VPC 連接器數量上限 AWS 區域。您可以在多個服務中使用單一 VPC 連接器。</td><td>10</td><td> ![](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/icon-yes.png) 是</td></tr>
  <tr><td colspan="2">VPC Ingress Connection</td><td>您可以在帳戶中為每個 VPC 輸入連線建立的最大數量 AWS 區域。您可以使用單一 VPC 輸入連線來存取多個 App Runner 服務。</td><td>1</td><td> ![](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/icon-no.png) 否</td></tr>
</tbody>
</table>


大多數配額都是可調整的，您可以請求提高配額。如需詳細資訊，請參閱《Service Quotas 使用者指南》中的[請求提高配額](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)。