

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

# 將 Elastic Beanstalk 與 Amazon S3 搭配使用
<a name="AWSHowTo.S3"></a>

本主題說明 Elastic Beanstalk 如何利用 Amazon Simple Storage Service (Amazon S3) 及其存放在 S3 儲存貯體中的物件類型。它也會記下在您終止 Elastic Beanstalk 環境後，您必須手動刪除哪些物件，並提供執行此作業的指示。

## Elastic Beanstalk Amazon S3 客戶帳戶儲存貯體
<a name="AWSHowTo.S3.aeb-bucket"></a>

Elastic Beanstalk `elasticbeanstalk-{{region}}-{{account-id}}`會為您建立環境的每個區域建立名為 的加密 Amazon S3 儲存貯體。 AWS 您的帳戶擁有此儲存貯體。Elastic Beanstalk 會將暫存組態檔案和其他物件存放在此儲存貯體中，以正確操作您的應用程式。Elastic Beanstalk 需要啟用服務受管儲存貯體ACLs，因此會啟用此儲存貯體的存取控制清單 (ACL)。

請注意，Amazon S3 預設會停用儲存貯體存取控制清單 (ACLs)。此外，*Amazon S3 使用者指南*中的 [ACL 概觀](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html)主題建議您停用 ACLs，但特定使用案例除外。Elastic Beanstalk 服務受管儲存貯體屬於需要啟用 ACLs的使用案例。若要維護安全性 Elastic Beanstalk 部署，請強制執行此儲存貯體是由執行應用程式的 帳戶所擁有。

Elastic Beanstalk 會保留 Amazon S3 儲存貯體提供的預設加密。如需儲存貯體加密的詳細資訊，請參閱[《Amazon Simple Storage Service 使用者指南》中的 Amazon S3 預設加密](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-encryption.html)。 **

## Elastic Beanstalk Amazon S3 客戶帳戶儲存貯體的內容
<a name="AWSHowTo.S3.content"></a>

下表列出 Elastic Beanstalk 存放在客戶帳戶儲存貯體中的一些物件。此表也顯示哪些物件必須手動刪除。為了避免不必要的儲存成本並確保個人資訊不被保留，當您不再需要時，請確認手動刪除這些物件。


|  **物件**  |  ** 當儲存時？**  |  ** 當刪除時？**  | 
| --- | --- | --- | 
| [**應用程式版本**](applications-versions.md) | 當您建立環境或部署您的應用程式程式碼於現有環境中，Elastic Beanstalk 將應用程式版本存放於 Amazon S3，並與環境建立關聯。 | 在應用程式刪除時，並根據 [版本生命週期](applications-lifecycle.md)。 | 
| [**原始碼套件**](applications-versions.md) | 當您使用 Elastic Beanstalk 主控台或 EB CLI 上傳新的應用程式版本時，Elastic Beanstalk 存放其副本於 Amazon S3 中，並將它設定為您的環境原始碼套件。 | *手動。*當您刪除應用程式版本，您可以選擇 **Delete versions from Amazon S3 (從 Amazon S3 刪除版本)** 以同時刪除相關的原始碼套件。如需詳細資訊，請參閱[管理應用程式版本](applications-versions.md)。 | 
| **自訂平台** | 當您建立自訂平台時，Elastic Beanstalk 暫時存放相關資料於 Amazon S3 中。 | 成功完成的自訂平台建立。 | 
| [**日誌檔**](using-features.logging.md) | 您可以請求 Elastic Beanstalk 擷取執行個體的日誌檔案 (結尾或套件日誌)，並將這些檔案存放在 Amazon S3。您也可以啟用日誌輪換，且在日誌輪換後，設定您的環境自動發佈日誌至 Amazon S3。 | 結尾和套件日誌；在建立後的 15 分鐘。<br />旋轉日誌：* 手動。* | 
| [**已儲存的組態**](environment-configuration-savedconfig.md) | *手動。* | *手動。* | 

## 刪除 Elastic Beanstalk Amazon S3 儲存貯體中的物件
<a name="AWSHowTo.S3.delete-objects"></a>

當您終止環境或刪除應用程式時，Elastic Beanstalk 會從 Amazon S3 刪除最相關的物件。為了盡可能降低執行中應用程式的儲存成本，定期刪除您的應用程式不需要的物件。此外，請留意需要手動刪除的物件，如列於 [Elastic Beanstalk Amazon S3 客戶帳戶儲存貯體的內容](#AWSHowTo.S3.content) 中的。為了確保私有資訊被不必要的保留，當您不再需要時，刪除這些物件。
+ 刪除您不再希望用於您的應用程式的應用程式版本。當您刪除應用程式版本時，您可以選取**Delete versions from Amazon S3 (從 Amazon S3 刪除版本)**，以同時刪除相關的原始碼套件 - 當您部署應用程式或上傳應用程式版本時，Elastic Beanstalk 上傳到 Amazon S3 您的應用程式的原始程式碼和組態檔案的副本。若要了解如何刪除應用程式版本的詳細資訊，請參閱 [管理應用程式版本](applications-versions.md)。
+ 刪除您不需要的輪換日誌。或者，下載它們或將其移至 Amazon Glacier 進行進一步分析。
+ 刪除您不會再於任何環境中使用的已儲存組態。

## 刪除 Elastic Beanstalk Amazon S3 儲存貯體
<a name="AWSHowTo.S3.delete-bucket"></a>

當 Elastic Beanstalk 建立儲存貯體時，它也會建立套用至新儲存貯體的儲存貯體政策。此政策有兩個用途：
+ 允許環境寫入儲存貯體。
+ 防止意外刪除儲存貯體。

由於 Elastic Beanstalk 適用於它為您的環境建立的儲存貯體的政策，因此不允許您刪除這些儲存貯體，除非您先刻意刪除儲存貯體政策。可從 Amazon S3 主控台的儲存貯體屬性的**許可**區段，刪除儲存貯體政策。

**警告**  
**我們建議您從 Elastic Beanstalk Amazon S3 儲存貯體中刪除特定不必要的物件，而不是刪除整個儲存貯體。**  
如果您刪除 Elastic Beanstalk 在您的帳戶中建立的儲存貯體，而且在對應的區域中，仍具備現有的應用程式和執行的環境，您的應用程式可能會停止正常運作。例如：  
當環境可擴展時，Elastic Beanstalk 應該能夠找到於 Amazon S3 儲存貯體中的環境應用程式版本，並使用它來啟動新的 Amazon EC2 執行個體。
當您建立自訂平台時，Elastic Beanstalk 會在建立過程中使用臨時的 Amazon S3 儲存。
  
如需刪除 S3 儲存貯體之影響的詳細資訊，請參閱《*Amazon S3 使用者指南*》中的[刪除儲存貯](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html)體中列出的考量事項。

**刪除 Elastic Beanstalk 儲存貯體 (主控台)**

Amazon S3 *使用者指南中的刪除儲存貯體Amazon S3*[也說明了刪除 S3 儲存貯](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html)體的一般程序。由於我們要在下列程序中刪除 Elastic Beanstalk 建立的儲存貯體，因此我們包含了其他步驟來首先刪除儲存貯體政策。

1. 開啟 [Amazon S3 主控台](https://console.aws.amazon.com/s3)。

1. 選擇儲存貯體名稱，以開啟 Elastic Beanstalk 儲存貯體的頁面。

1. 選擇**許可**索引標籤。

1. 選擇 **Bucket Policy** (儲存貯體政策)。

1. 選擇 **刪除**。

1. 返回 Amazon S3 主控台的主要頁面，然後刪除 Elastic Beanstalk 儲存貯體。

1. 選擇 **Delete Bucket** (刪除儲存貯體)。

1. 在文字欄位中輸入儲存貯體名稱以確認您要刪除該儲存貯體，然後選擇**刪除儲存貯體**。