2016-02-25 4 views
2

Есть ли способ запуска контейнеров ECS при определенных ролях IAM?Применение ролей IAM к экземплярам ECS

В принципе, если у вас есть код/​​сервер, который зависит от роли IAM для доступа к ресурсам AWS (например, ведра S3 или таблицы Dynamo), когда вы запускаете этот код/​​сервер в качестве контейнера ECS, что произойдет? можете ли вы управлять ролями на контейнер?

ответ

3

Когда вы запускаете контейнер-контейнер (экземпляр, который подключается к вашему кластеру), это называется экземпляром контейнера.

У этого экземпляра будет прикреплена к нему роль IAM (в руководствах это ecsInstanceProfile, я думаю, это имя).

В этом экземпляре запускается агент ecs (и впоследствии докер). Как это работает, когда выполняются задачи, фактические контейнеры совершают вызовы/из служб AWS и т. Д. Это поглощает мой хост (агент), поскольку он фактически контролирует сеть в/из контейнеров докеров. Этот трафик в действительности теперь поступает от агента.

Нет, вы не можете контролировать роль IAM на основе контейнера, вам нужно будет сделать это через экземпляры (агенты), которые присоединяются к кластеру.

Т.е.

вы присоединяетесь к i-aaaaaaa и имеет политику ECS IAM + S3, предназначенную только для кластера. вы присоединяетесь к i-bbbbbbb и имеет политику ECM IAM + S3 для чтения/записи в кластер.

Вы запускаете задачу 'c', которая нуждается в r/w для S3. Вы бы хотели, чтобы убедиться, что он работает на я-BBBBBB

Update: Lyft имеет открытый исходный вещь под названием «metadataproxy», которая утверждает, что для решения этой проблемы, но ее было получено с некоторыми вопросами безопасности.

Update 2: Роли в настоящее время поддерживается на уровне задач

Смежные вопросы