我想從我的Docker容器中使用安全VPC安全地從S3中獲取配置文件。但我想在應用程序內部確定哪個配置文件要根據我所在的區域來獲取和使用。繼續描述當前集裝箱的區域是否有一個好的/最佳的做法?自我描述ECS/EC2實例的區域
我知道您可以使用AWS開發工具包/ CLI來描述ECS實例,但是這並不告訴我哪個容器是專門部署的。
我想從我的Docker容器中使用安全VPC安全地從S3中獲取配置文件。但我想在應用程序內部確定哪個配置文件要根據我所在的區域來獲取和使用。繼續描述當前集裝箱的區域是否有一個好的/最佳的做法?自我描述ECS/EC2實例的區域
我知道您可以使用AWS開發工具包/ CLI來描述ECS實例,但是這並不告訴我哪個容器是專門部署的。
在EC2中,您可以使用簡單的curl命令將實例元數據檢索到本地(內部)Web API。地區和亞利桑那州的一些數據點就可以得到:
http://169.254.169.254/latest/meta-data/services/domain
http://169.254.169.254/latest/meta-data/placement/availability-zone
有關實例元數據的全部細節見this page。
在ECS內部,我有興趣看看它們是否仍然有效 - 我的預感是它們會,因爲容器應該查詢主機的API以獲得答案,而ECS主機肯定是EC2實例。
讓我們知道這是否有效?
使用metadata server
來查詢availability-zone
,從中您可以得到region
。如果你正在使用Python SDK
$ curl 169.254.169.254/latest/meta-data/placement/availability-zone/
us-east-1a
一個例子是:
import os
az = os.popen("curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone/").read()
print az[:-1]
>>> us-east-1
感謝您的回答,我意識到這一點很好,但不知道是否會容器內工作。將更新! – Serey