

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

# 將 Amazon ECS 容器執行個體組態儲存於 Amazon S3 中
<a name="ecs-config-s3"></a>

使用上述環境變數控制 Amazon ECS 容器代理程式組態。當容器代理程式啟動並隨之設定代理程式時，Linux 版的 Amazon ECS 最佳化 AMI 會在 `/etc/ecs/ecs.config` 中尋找這些變數。某些不敏感的環境變數 (例如 `ECS_CLUSTER`) 可以在啟動時透過 Amazon EC2 使用者資料傳遞給容器執行個體，並寫入此檔案，且不會造成任何問題。不過，其他敏感資訊，例如您的 AWS 登入資料或 `ECS_ENGINE_AUTH_DATA`變數，絕不應傳遞至使用者資料中的執行個體，或以允許它們出現在`.bash_history`檔案中`/etc/ecs/ecs.config`的方式寫入 。

在 Amazon S3 中的私有儲存貯體內存放組態資訊，並對容器執行個體 IAM 角色授予唯讀存取權，這是一種允許容器執行個體在啟動時進行設定的安全且便利方法。您可以將 `ecs.config` 文件的複本儲存在私有儲存貯體中。然後，您可以使用 Amazon EC2 使用者資料來安裝 ， AWS CLI 並在執行個體啟動`/etc/ecs/ecs.config`時將您的組態資訊複製到 。

**若要在 Amazon S3 中存放 `ecs.config` 檔案**

1. 您必須授予容器執行個體角色 (**ecsInstanceRole**) 許可，才能取得 Amazon S3 的唯讀存取權。您可以將 **AmazonS3ReadOnlyAccess** 指派給 `ecsInstanceRole` 角色來執行此操作。如需有關如何將政策連接至角色的資訊，請參閱 *AWS Identity and Access Management User Guide* 中的 [Update permissions for a role](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-permissions.html)

1. 使用下列格式建立包含有效 Amazon ECS 代理程式組態變數的 `ecs.config` 檔案。本範例將設定私有登錄檔身分驗證。如需詳細資訊，請參閱[在 Amazon ECS 中使用非AWS 容器映像](private-auth.md)。

   ```
   ECS_ENGINE_AUTH_TYPE=dockercfg
   ECS_ENGINE_AUTH_DATA={"https://index.docker.io/v1/":{"auth":"zq212MzEXAMPLE7o6T25Dk0i","email":"email@example.com"}}
   ```
**注意**  
如需可用 Amazon ECS 代理程式組態變數的完整清單，請參閱 GitHub 上的 [Amazon ECS 容器代理程式](https://github.com/aws/amazon-ecs-agent/blob/master/README.md)。

1. 若要存放您的組態檔案，請在 Amazon S3 中建立私有儲存貯體。如需詳細資訊，請參閱 *Amazon Simple Storage Service User Guide* 中的 [Creating a bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)。

1. 將 `ecs.config` 檔案上傳至 S3 儲存貯體。如需詳細資訊，請參閱 *Amazon Simple Storage Service 使用者指南*中的[上傳物件](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html)。

**若要在啟動時從 Amazon S3 載入 `ecs.config` 檔案**

1. 完成本節稍早的程序，以允許 Amazon S3 以唯讀方式存取您的容器執行個體，並將 `ecs.config` 檔案存放在私有 S3 儲存貯體。

1. 啟動新的容器執行個體，並在 EC2 使用者資料中使用如下範例指令碼。指令碼會安裝 ， AWS CLI 並將您的組態檔案複製到 `/etc/ecs/ecs.config`。如需詳細資訊，請參閱[啟動 Amazon ECS Linux 容器執行個體](launch_container_instance.md)。

   ```
   #!/bin/bash
   yum install -y aws-cli
   aws s3 cp s3://your_bucket_name/ecs.config /etc/ecs/ecs.config
   ```