本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Amazon S3 中儲存 Amazon ECS容器執行個體組態
Amazon ECS容器代理程式組態是以環境變數控制。當容器代理程式啟動並相應地設定代理程式/etc/ecs/ecs.config
時,Amazon ECS最佳化的 Linux 變體會在 中AMI尋找這些變量。某些無害環境變數,例如 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
檔案
您必須授予容器執行個體角色 (ecsInstanceRole) 許可,才能擁有 Amazon S3 的唯讀存取權。您可以將 AmazonS3ReadOnlyAccess 指派給
ecsInstanceRole
角色來執行此操作。如需有關如何將政策連接至角色的資訊,請參閱 AWS Identity and Access Management 使用者指南中的修改角色許可政策 (主控台)-
使用下列格式建立具有有效 Amazon ECS代理程式組態變數
ecs.config
的檔案。本範例將設定私有登錄檔身分驗證。如需詳細資訊,請參閱在 Amazon 中使用非AWS 容器映像 ECS。ECS_ENGINE_AUTH_TYPE=dockercfg ECS_ENGINE_AUTH_DATA={"https://index.docker.io/v1/":{"auth":"
zq212MzEXAMPLE7o6T25Dk0i
","email":"email@example.com
"}}注意
如需可用 Amazon ECS代理程式組態變數的完整清單,請參閱 上的 Amazon ECS Container Agent
GitHub。 -
若要存放您的組態檔案,請在 Amazon S3 中建立私有儲存貯體。如需詳細資訊,請參閱 Amazon Simple Storage Service 主控台使用者指南中的建立儲存貯體。
-
將
ecs.config
檔案上傳至 S3 儲存貯體。如需詳細資訊,請參閱 Amazon Simple Storage Service 使用者指南中的新增物件至儲存貯體。
若要在啟動時從 Amazon S3 載入 ecs.config
檔案
-
完成本節稍早的程序,以允許 Amazon S3 以唯讀方式存取您的容器執行個體,並將
ecs.config
檔案存放在私有 S3 儲存貯體。 -
啟動新的容器執行個體,並在EC2使用者資料中使用下列範例指令碼。指令碼會安裝 , AWS CLI 並將您的組態檔案複製到
/etc/ecs/ecs.config
。如需詳細資訊,請參閱啟動 Amazon ECS Linux 容器執行個體。#!/bin/bash yum install -y aws-cli aws s3 cp s3://
your_bucket_name
/ecs.config /etc/ecs/ecs.config