Важно: если вы работаете внутри AWS, настоятельно рекомендуется использовать сервисную роль AWS ECS или роль задачи ECS или роль EC2. вам нужно извлечь учетные данные из метаданных.
Но похоже, что текущая роль имеет разрешение на s3 или точка входа не экспортирует должным образом переменную Environment.
Если экземпляр вашего контейнера уже выполняет роль помощникатогда не нужно экспортировать Accesskey, просто вызовите aws s3 cp s3://BUCKET/file.txt /PATH/file.txt
, и он должен работать.
Роли IAM для задач
С ролями IAM для задач Amazon ECSвы можете указать роль IAM, которая может использоваться контейнерами в задаче. Приложения должны подписывать свои запросы API AWS с помощью учетных данных AWS, и эта функция предоставляет стратегию управления учетными данными для использования вашими приложениями, подобно тому, как профили экземпляров Amazon EC2 предоставляют учетные данные для экземпляров EC2. Вместо создания и распространения учетных данных AWS среди контейнеров или использования роли экземпляра EC2 вы можете связать роль IAM с определением задачи ECS или операцией API RunTask.
Таким образом, когда вы назначаете роль дляЗадача ECS или служба ECS ваша точка входа будет настолько простой.
printenv
aws s3 cp s3://BUCKET/file.txt /PATH/file.txt
Кроме того, ваш экспорт не будет работать так, как вы ожидаете, лучший способ передать ENV в форму контейнера определение задачи , export в этом случае не будет.
Я предлагаю назначить роль задаче ECS, и она должна работать так, как вы ожидаете.