

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

# 管理應用程式版本
<a name="applications-versions"></a>

本主題說明應用程式版本，以及如何建立和管理它們。

只要您上傳原始程式碼，Elastic Beanstalk 就會建立一個應用程式版本。當您使用[環境管理主控台](environments-console.md)或 [EB CLI](eb-cli3.md) 建立環境或上傳並部署程式碼時，通常就會建立應用程式版本。Elastic Beanstalk 會根據應用程式的生命週期政策並在您刪除應用程式時刪除這些應用程式版本。如需關於應用程式生命週期政策的詳細資訊，請參閱 [進行應用程式版本生命週期的設定](applications-lifecycle.md)。

您亦可上傳原始碼套件，且無須於[應用程式管理主控台](applications-console.md)或使用 EB CLI 命令 **[**eb appversion**](eb3-appversion.md)** 進行部署。Elastic Beanstalk 將原始碼套件存放於 Amazon Simple Storage Service (Amazon S3)，且不會自動刪除這些套件。

您可以在建立時，將標籤套用至應用程式版本，並編輯現有應用程式版本的標籤。如需詳細資訊，請參閱[標記應用程式版本](applications-versions-tagging.md)。

## 建立應用程式版本
<a name="applications-versions.creating"></a>

您也可以使用 EB CLI 建立新的應用程式版本。如需詳細資訊，請參閱 *EB CLI 命令*一章中的 [**eb appversion**](eb3-appversion.md)。

**注意**  
您的應用程式將隨時間累積許多應用程式版本。為了節省儲存空間並避免達到[應用程式版本配額](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_elastic_beanstalk)，建議您刪除不再需要的應用程式版本。

您在下列程序中指定的檔案與您的應用程式相關聯。您可將應用程式版本部署至新的或現有環境。

**建立新的應用程式版本**

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

1. 在導覽窗格中，選擇 **Applications** (應用程式)，然後在清單上選取應用程式名稱。

1. 在導覽窗格中，找到應用程式名稱並選擇 **Application versions (應用程式版本)**。

1. 選擇**上傳**。使用畫面顯示表單來上傳應用程式的[原始碼套件](applications-sourcebundle.md)。
**注意**  
原始碼套件的檔案大小上限為 500 MB。

1. 您可選擇性地提供簡短描述，並新增標籤索引鍵和值。

1. 選擇**上傳**。

## 刪除應用程式版本
<a name="applications-versions.deleting"></a>

您也可以使用 EB CLI 刪除應用程式版本。如需詳細資訊，請參閱 *EB CLI 命令*一章中的 [**eb appversion**](eb3-appversion.md)。

**注意**  
刪除應用程式版本不會影響目前執行該版本的環境。

您也可以設定應用程式版本生命週期設定，將 Elastic Beanstalk 設定為會自動刪除舊版本。如果您設定這些生命週期設定，將在您建立新的應用程式版本時套用。例如，若您設定應用程式版本的數量上限為 25 個，在您上傳第 26 個版本時，Elastic Beanstalk 會刪除最舊的版本。若您將最大期限設定為 90 天，當您上傳新版本時，即會刪除任何早於 90 天的版本。如需詳細資訊，請參閱[進行應用程式版本生命週期的設定](applications-lifecycle.md)。

**刪除應用程式版本**

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

1. 在導覽窗格中，選擇 **Applications** (應用程式)，然後在清單上選取應用程式名稱。

1. 在導覽窗格中，找到應用程式名稱並選擇 **Application versions (應用程式版本)**。

1. 選取您要刪除的一或多個應用程式版本。

1. 選擇**動作**，然後選擇**刪除**。

1. (選用) 若要在您的 Amazon Simple Storage Service (Amazon S3) 儲存貯體內保留這些應用程式版本的應用程式原始碼套件，請清除 **Delete versions from Amazon S3 (從 Amazon S3 刪除版本)** 方塊。

1. 選擇 **刪除**。

如果您不選擇從 Amazon S3 刪除原始碼套件，Elastic Beanstalk 仍會從其記錄中刪除該版本。不過，原始碼套件會留存在您的 [Elastic Beanstalk 儲存貯體](AWSHowTo.S3.md)中。應用程式版本配額僅適用於 Elastic Beanstalk 追蹤的版本。因此，您可以刪除版本以保持在配額內，但將所有原始碼套件保留於 Amazon S3 中。

**注意**  
應用程式版本配額不適用於原始碼套件，但您可能仍須支付 Amazon S3 的費用，並在使用完成後仍繼續保留個人資訊。Elastic Beanstalk 永遠不會自動刪除原始碼套件。您應該在不需要時刪除原始碼套件。

# 進行應用程式版本生命週期的設定
<a name="applications-lifecycle"></a>

本主題說明 Elastic Beanstalk 適用於特定環境中應用程式版本的政策和配額，包括應用程式版本在環境中保留的時間長度。

每當您使用 Elastic Beanstalk 主控台或 EB CLI 上傳應用程式的新版本時，Elastic Beanstalk 都會建立一個[應用程式版本](applications-versions.md)。如果不刪除不再使用的版本，最終將會達到[應用程式版本配額](https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html#limits_elastic_beanstalk)，而無法建立該應用程式的新版本。

您可在應用程式套用*應用程式版本生命週期政策*，藉此避免達到配額。生命週期政策會告知 Elastic Beanstalk，讓 Elastic Beanstalk 刪除舊的應用程式版本，或是在應用程式版本總數超過指定的數字時，刪除應用程式的版本。

每當您建立新的應用程式版本時，Elastic Beanstalk 都會套用應用程式的生命週期政策，並在每次套用生命週期政策時，刪除最多 100 個版本。Elastic Beanstalk 會先刪除舊版本再建立新版本，而且不會將新版本計入政策所定義的版本數上限。

Elastic Beanstalk 不會刪除環境目前正在使用的應用程式版本，也不會刪除部署到此政策觸發前 10 週內終止的環境的應用程式版本。

應用程式版本數的配額，適用於同一區域中的所有應用程式。如果您有多個應用程式、請針對每個應用程式設定適合的生命週期政策，以避免達到配額。例如，若您在一個區域有 10 個應用程式，而應用程式版本配額為 1,000，請考慮將所有應用程式的生命週期政策設定為 99 個應用程式版本配額，或者個別設定每個應用程式的限制值，只要應用程式版本總和不超過 1,000。只有在應用程式版本建立成功時，Elastic Beanstalk 才會套用政策，因此若已達到配額，務必先手動刪除一些版本，再建立新版本。

Elastic Beanstalk 預設會在 Amazon S3 中保留應用程式版本的[原始碼套件](applications-sourcebundle.md)，以防止資料遺失。您可以刪除原始碼套件來節省儲存空間。

您可以透過 Elastic Beanstalk CLI 和 API 來進行生命週期設定。如需詳細資訊，請參閱 [**eb appversion**](eb3-appversion.md)、[CreateApplication](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_CreateApplication.html) (使用 `ResourceLifecycleConfig`參數) 和 [UpdateApplicationResourceLifecycle](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_UpdateApplicationResourceLifecycle.html)。

## 在主控台中進行應用程式生命週期設定
<a name="applications-lifecycle-console"></a>

您可以在 Elastic Beanstalk 主控台指定生命週期的設定。

**指定您的應用程式生命週期設定**

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

1. 在導覽窗格中，選擇 **Applications** (應用程式)，然後在清單上選取應用程式名稱。

1. 在導覽窗格中，找到應用程式名稱並選擇 **Application versions (應用程式版本)**。

1. 選擇**設定**。

1. 使用畫面顯示表單來設定應用程式生命週期設定。

1. 選擇**儲存**。

在此設定頁面上，您可以執行下列動作。
+ 根據應用程式版本總數或應用程式版本的期限來設定生命週期設定。
+ 指定是否要在刪除應用程式版本時同時刪除 S3 內的原始碼套件。
+ 指定要刪除所屬應用程式版本的服務角色。若要將所刪除版本需要的所有許可一併刪除，請選擇名為 `aws-elasticbeanstalk-service-role` 的預設 Elastic Beanstalk 服務角色，或者其他使用 Elastic Beanstalk 受管服務政策的服務角色。如需詳細資訊，請參閱[管理 Elastic Beanstalk 服務角色](iam-servicerole.md)。

# 標記應用程式版本
<a name="applications-versions-tagging"></a>

本主題說明標記 Elastic Beanstalk 應用程式版本的好處，以及如何管理標籤。

您可以將標籤套用至 AWS Elastic Beanstalk 應用程式版本。標籤是與 AWS 資源相關聯的鍵/值對。如需 Elastic Beanstalk 資源標記、使用案例、標籤索引鍵和值限制條件的相關資訊，以及支援的資源類型，請參閱[標記 Elastic Beanstalk 應用程式資源](applications-tagging-resources.md)。

您可以在建立應用程式版本時指定標籤。您可以在現有的應用程式版本中新增或移除標籤，以及更新現有標籤的值。您最多可以為每個應用程式版本新增 50 個標籤。

## 在應用程式版本建立期間新增標籤
<a name="applications-versions-tagging.create"></a>

當您使用 Elastic Beanstalk 主控台[建立環境](environments-create-wizard.md)，並選擇上傳您的應用程式碼版本時，您可以指定要與新的應用程式版本建立關聯的標籤金鑰和值。

您也可以使用 Elastic Beanstalk 主控台[上傳應用程式版本](applications-versions.md)，無須立即在環境中使用。在上傳應用程式版本時，您可以指定標籤索引鍵和值。

使用 AWS CLI 或其他 API 型用戶端，在 **[create-application-version](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/create-application-version.html)**命令上使用 `--tags` 參數來新增標籤。

```
$ aws elasticbeanstalk create-application-version \
      --tags Key=mytag1,Value=value1 Key=mytag2,Value=value2 \
      --application-name my-app --version-label v1
```

當您使用 EB CLI 來建立或更新環境時，系統會從您部署的程式碼建立應用程式版本。您無法在 EB CLI 建立應用程式版本期間直接標記應用程式版本。請參閱以下區段，了解如何將標籤新增至現有的應用程式版本。

## 管理現有應用程式版本的標籤
<a name="applications-versions-tagging.manage"></a>

您可以新增、更新和刪除現有 Elastic Beanstalk 應用程式版本中的標籤。

**若要使用 Elastic Beanstalk 主控台管理應用程式版本的標籤**

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

1. 在導覽窗格中，選擇 **Applications** (應用程式)，然後在清單上選取應用程式名稱。

1. 在導覽窗格中，找到應用程式名稱並選擇 **Application versions (應用程式版本)**。

1. 選取您要管理的應用程式版本。

1. 選擇 **Actions (動作)**，然後選擇 **Manage tags (管理標籤)**。

1. 使用畫面顯示表單來新增、更新或刪除標籤。

1. 若要儲存變更，請選擇頁面底部的**儲存變更**。

如果您使用 EB CLI 更新應用程式版本，請使用 **[eb tags](eb3-tags.md)** 新增、更新、刪除或列出標籤。

例如，以下命令會列出應用程式版本中的標籤。

```
~/workspace/my-app$ eb tags --list --resource "arn:aws:elasticbeanstalk:us-east-2:my-account-id:applicationversion/my-app/my-version"
```

下列命令會更新標籤 `mytag1` 並刪除標籤 `mytag2`。

```
~/workspace/my-app$ eb tags --update mytag1=newvalue --delete mytag2 \
      --resource "arn:aws:elasticbeanstalk:us-east-2:my-account-id:applicationversion/my-app/my-version"
```

如需完整選項清單和更多範例，請參閱 `eb tags`。

使用 AWS CLI 或其他 API 型用戶端時，請使用 **[list-tags-for-resource](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/list-tags-for-resource.html)**命令來列出應用程式版本的標籤。

```
$ aws elasticbeanstalk list-tags-for-resource --resource-arn "arn:aws:elasticbeanstalk:us-east-2:my-account-id:applicationversion/my-app/my-version"
```

使用 **[update-tags-for-resource](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/update-tags-for-resource.html)** 命令新增、更新或刪除應用程式版本中的標籤。

```
$ aws elasticbeanstalk update-tags-for-resource \
      --tags-to-add Key=mytag1,Value=newvalue --tags-to-remove mytag2 \
      --resource-arn "arn:aws:elasticbeanstalk:us-east-2:my-account-id:applicationversion/my-app/my-version"
```

在 `--tags-to-add` 的 **update-tags-for-resource** 參數中，同時指定欲新增和欲更新的標籤。如此將新增不存在的標籤，並更新現有標籤的值。

**注意**  
若要搭配 Elastic Beanstalk 應用程式版本使用某些 EB CLI 和 AWS CLI 命令，您需要應用程式版本的 ARN。您可使用下列命令來擷取 ARN。  

```
$ aws elasticbeanstalk describe-application-versions --application-name my-app --version-label my-version
```