Поддержка Secrets в Environment для #Fargate появилась в конце 2018-го года (версия Fargate 1.3), но на текущий момент в документации есть только следующее. Получается, это можно реализовать и в #CloudFormation #templates, однако документация, как обычно, отстаёт и хромает, хотя это уже работает.
Предположим, что нужно поднять какой-то Fargate контейнер, создать для него #SSM_Parameters, которые прокидываются в докер Environment, чтобы после можно было поменять нужный параметр без пересоздания всего стэка (для применения, естественно, потребуется пересоздание таски).
Главная часть кода для имплементации такого будет следующая:
Т.е. добавляется блок Secrets, куда значения из #ParameterStore попадают благодаря такой конструкции:
arn:aws:ssm:YOUR_AWS_REGION:YOUR_AWS_ACCOUNT:parameter/PARAMETER_NAME
Полный (рабочий) пример тут.
На текущий момент параметры из блока Secrets не отображаются в AWS Console (см. картинку внизу - она из примера), однако точно работают (можно попробовать пример). Хотя с некоторыми регионами могут быть вопросы - точно работает (проверено) для Virginia и Ireland.
Предположим, что нужно поднять какой-то Fargate контейнер, создать для него #SSM_Parameters, которые прокидываются в докер Environment, чтобы после можно было поменять нужный параметр без пересоздания всего стэка (для применения, естественно, потребуется пересоздание таски).
Главная часть кода для имплементации такого будет следующая:
...
ssmparamDbEndpoint:
Type: AWS::SSM::Parameter
Properties:
Name: !Ref ParamNameDbEndpoint
Type: String
Value: !Ref DbEndpoint
Description: SSM Parameter for DB endpoint
...
fargateTask:
Type: AWS::ECS::TaskDefinition
Properties:
ContainerDefinitions:
- Name: !Ref ServiceName
Image: !Ref DockerImage
Essential: true
Secrets:
- Name: WORDPRESS_DB_HOST
ValueFrom: !Join ['',['arn:aws:ssm:', !Ref 'AWS::Region', ':', !Ref 'AWS::AccountId', ':parameter/', !Ref ParamNameDbEndpoint]]
- Name: WORDPRESS_DB_USER
ValueFrom: !Join ['',['arn:aws:ssm:', !Ref 'AWS::Region', ':', !Ref 'AWS::AccountId', ':parameter/', !Ref ParamNameDbUser]]
- Name: WORDPRESS_DB_PASSWORD
ValueFrom: !Join ['',['arn:aws:ssm:', !Ref 'AWS::Region', ':', !Ref 'AWS::AccountId', ':parameter/', !Ref ParamNameDbPassword]]
Environment:
- Name: WORDPRESS_DB_NAME
Value: wp-db
...
Т.е. добавляется блок Secrets, куда значения из #ParameterStore попадают благодаря такой конструкции:
arn:aws:ssm:YOUR_AWS_REGION:YOUR_AWS_ACCOUNT:parameter/PARAMETER_NAME
Полный (рабочий) пример тут.
На текущий момент параметры из блока Secrets не отображаются в AWS Console (см. картинку внизу - она из примера), однако точно работают (можно попробовать пример). Хотя с некоторыми регионами могут быть вопросы - точно работает (проверено) для Virginia и Ireland.
Fargate for EKS
На анонсе EKS и Fargate два года назад на re:Invent 2017, мне врезалась в память фраза, что #Fargate будет работать на базе #EKS под капотом. И до этого времени я пребывал в наивной уверенности, что это так и есть - под капотом у Fargate в реальности EKS.
Однако сегодня первый день на #HighLoad прошёл не зря - я заблуждался и с подачи умных людей узнал правду, что это были лишь планы, который оными и остались на сегодняшний день (см. картинку). Мало того, всё идёт к тому, что это (Fargate for EKS) так и останется лишь планами в роадмэпе.
Теперь и вы это знаете, и если тоже так думали - значит тоже теперь мучайтесь, как я.
#what_i_learned_today
На анонсе EKS и Fargate два года назад на re:Invent 2017, мне врезалась в память фраза, что #Fargate будет работать на базе #EKS под капотом. И до этого времени я пребывал в наивной уверенности, что это так и есть - под капотом у Fargate в реальности EKS.
Однако сегодня первый день на #HighLoad прошёл не зря - я заблуждался и с подачи умных людей узнал правду, что это были лишь планы, который оными и остались на сегодняшний день (см. картинку). Мало того, всё идёт к тому, что это (Fargate for EKS) так и останется лишь планами в роадмэпе.
Теперь и вы это знаете, и если тоже так думали - значит тоже теперь мучайтесь, как я.
#what_i_learned_today
Forwarded from aws_update
Фаргейт на спотах:
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/fargate-capacity-providers.html
Fargate Spot ведёт себя аналогично Spot-инстансам и за две минуты присылает предупрежение об удалении.
#Fargate
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/fargate-capacity-providers.html
Fargate Spot ведёт себя аналогично Spot-инстансам и за две минуты присылает предупрежение об удалении.
#Fargate
Amazon
Amazon ECS clusters for the Fargate launch type - Amazon Elastic Container Service
Learn about the Fargate capacity provider options.
SSM + Fargate
Тем, кто любит SSM - заслуживающий рассмотрения случай интеграции SSM с Fargate:
https://github.com/andrewkrug/fargate-ir
Конкретно здесь функционал предназначен для incident response, однако мне кажется, что это правильный подход в сторону унификации использования SSM, когда практики, характерные для ОС, распространяются также и на контейнеры.
#SSM #Fargate
Тем, кто любит SSM - заслуживающий рассмотрения случай интеграции SSM с Fargate:
https://github.com/andrewkrug/fargate-ir
Конкретно здесь функционал предназначен для incident response, однако мне кажется, что это правильный подход в сторону унификации использования SSM, когда практики, характерные для ОС, распространяются также и на контейнеры.
#SSM #Fargate
Как выполнить команду на ECS или Fargate?
Если нужен аналог
https://github.com/dschaaff/ecs-cmd
#ECS #Fargate
Если нужен аналог
docker exec, только для ECS/Fargate, то можно использовать Ecs-Cmd:https://github.com/dschaaff/ecs-cmd
COMMANDS
exec - Execute a Command Within a Service's Container
get - Get Info on Clusters and Services
help - Shows a list of commands or help for one command
logs - Tail Logs From a Service's Container
run-task - Run a One Off Task On an ECS Cluster
shell - Open a Shell Inside a Service's Container
ssh - SSH into Host Task is Running On
#ECS #Fargate
GitHub
GitHub - dschaaff/ecs-cmd: command line utility for working with AWS Elastic Container Service
command line utility for working with AWS Elastic Container Service - GitHub - dschaaff/ecs-cmd: command line utility for working with AWS Elastic Container Service
Fargate (сильно) обновился: поддержка EFS + 20GB диск + Сontainerd + Fargate-agent + изменённый Task ENI.
https://aws.amazon.com/blogs/containers/aws-fargate-launches-platform-version-1-4/
Одно из важнейших (и как видно - далеко не единственное) изменений — поддержка EFS. Теперь, наконец, в нём есть Persistent Storage и можно строить stateful приложения без костылей.
p.s. Прошло три месяца с момента прикручивания IAM авторизации к EFS (просто для статистики скорости внедрения фич).
#Fargate
https://aws.amazon.com/blogs/containers/aws-fargate-launches-platform-version-1-4/
Одно из важнейших (и как видно - далеко не единственное) изменений — поддержка EFS. Теперь, наконец, в нём есть Persistent Storage и можно строить stateful приложения без костылей.
p.s. Прошло три месяца с момента прикручивания IAM авторизации к EFS (просто для статистики скорости внедрения фич).
#Fargate
Amazon
AWS Fargate launches platform version 1.4.0 | Amazon Web Services
AWS Fargate is a managed service to run containers. Fargate allows customers to use Amazon Elastic Container Service (ECS) and Amazon Elastic Kubernetes Service (EKS) to launch applications without the burden of having to deal with the undifferentiated heavy…
Новый Fargate — что под капотом:
https://aws.amazon.com/blogs/containers/under-the-hood-fargate-data-plane/
Почему Docker сменили на Containerd, а также другие подробности работы и архитектуры Fargate. Крайне рекомендуется для глубокого понимания и последующей борьбы с проблемами.
#Fargate
https://aws.amazon.com/blogs/containers/under-the-hood-fargate-data-plane/
Почему Docker сменили на Containerd, а также другие подробности работы и архитектуры Fargate. Крайне рекомендуется для глубокого понимания и последующей борьбы с проблемами.
#Fargate
Amazon
Under the hood: AWS Fargate data plane | Amazon Web Services
Today, we launched a new platform version (1.4) for AWS Fargate, which bundles a number of new features and capabilities for our customers. You can read more about these features in this blog post. One of the changes we are introducing in platform version…
Кто ещё не попробовал Fargate на Spot-ах (а очень стоит) — подробный официальный мануальчик, как это сделать:
https://aws.amazon.com/blogs/compute/deep-dive-into-fargate-spot-to-run-your-ecs-tasks-for-up-to-70-less/
#Fargate #spot
https://aws.amazon.com/blogs/compute/deep-dive-into-fargate-spot-to-run-your-ecs-tasks-for-up-to-70-less/
#Fargate #spot
Amazon
Deep dive into Fargate Spot to run your ECS Tasks for up to 70% less | Amazon Web Services
Author: Pritam Pal, Sr. EC2 Spot Specialist SA AWS launched AWS Fargate Spot during late 2019 for customers looking for a cost effective way to run containers. This blog dives deep into how to use ECS Fargate Spot and Fargate Tasks to lower the cost of your…
AWS Copilot CLI:
https://aws.amazon.com/blogs/containers/introducing-aws-copilot/
Copilot — новый вариант деплоя докеризированных приложений на ECS и Fargate. Сделанный в стиле успешного Amplfy CLI, сильно снижает порог входа в использование контейнеров на ECS/Fargate.
Отличный инструмент, пока в
#ECS #Fargate
https://aws.amazon.com/blogs/containers/introducing-aws-copilot/
Copilot — новый вариант деплоя докеризированных приложений на ECS и Fargate. Сделанный в стиле успешного Amplfy CLI, сильно снижает порог входа в использование контейнеров на ECS/Fargate.
Отличный инструмент, пока в
Preview и без документации, но выглядит тем, чего все эти годы так не хватало.#ECS #Fargate
Результаты сотрудничества Docker и AWS — упрощение жизни для разработчиков. Теперь, чтобы запустить
https://aws.amazon.com/blogs/containers/aws-docker-collaborate-simplify-developer-experience/
В результате ECS/Fargate, вместе со своим Copilot проектом, резко отыграл в вечной заочной борьбе с Kubernetes.
#ECS #Fargate
docker-compose.yml на ECS/Fargate, достаточно просто выполнить:docker ecs compose uphttps://aws.amazon.com/blogs/containers/aws-docker-collaborate-simplify-developer-experience/
В результате ECS/Fargate, вместе со своим Copilot проектом, резко отыграл в вечной заочной борьбе с Kubernetes.
#ECS #Fargate
Amazon
AWS and Docker collaborate to simplify the developer experience | Amazon Web Services
Developers can now use Docker Compose and Docker Desktop to deploy applications to Amazon ECS If you were to ask any developer who has worked with containers, you find out they have used or are aware of Docker Desktop and the Docker CLI for building applications…