AWS Notes
5.59K subscribers
452 photos
42 videos
10 files
2.81K links
AWS Notes — Amazon Web Services Educational and Information Channel

Chat: https://xn--r1a.website/aws_notes_chat

Contacts: @apple_rom, https://www.linkedin.com/in/roman-siewko/
Download Telegram
Чтобы прокинуть #IAM роль (инстанса) внутрь докера (актуально, например, при запуске тестов в докере на #CodeBuild), нужно использовать переменную AWS_CONTAINER_CREDENTIALS_RELATIVE_URI:

docker-compose run --name MS -e AWS_CONTAINER_CREDENTIALS_RELATIVE_URI app bash -c "python manage.py test -v --junit-report=/report.xml"


https://docs.aws.amazon.com/codebuild/latest/userguide/troubleshooting.html#troubleshooting-versions
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html
AWS CodeBuild + Secrets Manager

В CodeBuild завезли родную поддержку секретов:

https://aws.amazon.com/about-aws/whats-new/2019/11/aws-codebuild-adds-support-for-aws-secrets-manager/

Свои секреты можно добавить в раздел env → secrets-manager файла buildspec.yml или через консоль (см. ниже картинку).

#CodeBuild #Secrets
Notifications в Code* сервисах

В сервисы CodeCommit, CodeBuild, CodeDeploy и CodePipeline были добавлены Notifications, которые шлются через SNS:

https://aws.amazon.com/about-aws/whats-new/2019/11/introducing-notifications-for-aws-codecommit-aws-codebuild-aws-codedeploy-and-asw-codepipeline/

Notifications можно вешать на нужные события — сбилдилось, нет, в процессе и т.п.:

https://docs.aws.amazon.com/codestar-notifications/latest/userguide/concepts.html#events-ref-repositories

В общем, реально полезное дополнение для организации CI/CD процесса.

#CodeCommit #CodeBuild #CodeDeploy #CodePipeline
Кто активно работает с CodeBuild и кому нужно знать, что входит в состав текущих дефолтных амазоновских образов, то их исходники (Dockerfile-ы) можно посмотреть здесь:

https://github.com/aws/aws-codebuild-docker-images

#CodeBuild
CodeBuild и ECS

Когда из CodeBuild нужно работать с другим аккаунтом, и потребуется переключаться в роль с помощью флажка --profile, учтите , что обычный вариант не сработает и будет давать ошибку:

Error when retrieving credentials from Ec2InstanceMetadata: No credentials found in credential_source referenced in profile ***

Это потому, что вместо обычного:

credential_source = Ec2InstanceMetadata

В секции профиля файла ~/.aws/config нужно использовать:

credential_source = EcsContainer

И всё заработает.

Почему? Получается, видимо, потому, что CodeBuild под капотом использует ECS.

В принципе, логично, хоть и не видел подобного в документации (что тоже логично).

#CodeBuild
Достаточно простая, но хорошая статейка о том, когда нужно что-то автоматизировать, а переписывать под Лямду не получается (дольше, сложней или просто лень), то нужно помнить про CodeBuild.

В отличие от Лямбды, CodeBuild может просто выполнять длительные процедуры, не в такой мере, однако также экономный, но главное — там можно привычно башить!

https://aws.amazon.com/blogs/devops/using-aws-codebuild-to-execute-administrative-tasks/

Сам использую CodeBuild для всевозможных задач — от разовых до постоянно-периодичных. Крайне удобно, минимальный порог входа, максимальная отдача.

#CodeBuild