Выборочная репликация ECR репозиториев:
https://aws.amazon.com/blogs/containers/using-amazon-ecr-replication-rules-to-optimize-your-application-delivery-process/
Репликация ECR появилась ещё год назад, но была малоприменима, т.к. можно было реплицировать лишь сразу все репозитории в регионе оптом.
И вот теперь, наконец, её можно реально использовать — можно выбирать не только отдельный репозиторий, но и задать маску для билдов, которые будут реплицироваться!
В общем, реально востребованная вещь, многие костыли и велосипеды для различных Disaster Recovery сценариев можно будет выбросить.
#ECR
https://aws.amazon.com/blogs/containers/using-amazon-ecr-replication-rules-to-optimize-your-application-delivery-process/
Репликация ECR появилась ещё год назад, но была малоприменима, т.к. можно было реплицировать лишь сразу все репозитории в регионе оптом.
И вот теперь, наконец, её можно реально использовать — можно выбирать не только отдельный репозиторий, но и задать маску для билдов, которые будут реплицироваться!
В общем, реально востребованная вещь, многие костыли и велосипеды для различных Disaster Recovery сценариев можно будет выбросить.
#ECR
Amazon
Using Amazon ECR replication rules to optimize your application delivery process | Amazon Web Services
Last year, we released cross region replication (CRR) in Amazon Elastic Container Registry (Amazon ECR) to allow you to configure the replication for your private registry across different regions and accounts. This allowed our customers to focus on applications…
Кэш для ECR:
https://aws.amazon.com/blogs/aws/announcing-pull-through-cache-repositories-for-amazon-elastic-container-registry/
Теперь можно пулить образы из публичных репозиториев (без авторизации) используя для этого свои приватные ECR. Амазон сам автоматически будет синхронизировать тэги в приватном репозитории с теми, что находятся в публичном источнике.
Ещё один набор велосипедных Лямбд, подтягивающих опенсорсные образы из внешних репозиториев можно заменить на нативный функционал.
#ECR
https://aws.amazon.com/blogs/aws/announcing-pull-through-cache-repositories-for-amazon-elastic-container-registry/
Теперь можно пулить образы из публичных репозиториев (без авторизации) используя для этого свои приватные ECR. Амазон сам автоматически будет синхронизировать тэги в приватном репозитории с теми, что находятся в публичном источнике.
Ещё один набор велосипедных Лямбд, подтягивающих опенсорсные образы из внешних репозиториев можно заменить на нативный функционал.
#ECR
Amazon
Announcing Pull Through Cache Repositories for Amazon Elastic Container Registry | Amazon Web Services
Organizations, development teams, and individual developers who have chosen to use containers to host their applications may prefer, or perhaps are required, to source all images from Amazon Elastic Container Registry (Amazon ECR) to take advantage of its…
🆕 Container Image Signing for ECR with AWS Signer:
https://aws.amazon.com/blogs/containers/announcing-container-image-signing-with-aws-signer-and-amazon-eks/
▫️ Using the Notation client with the AWS Signer plugin, you can implement a simple client-based workflow for signing and verifying your container images.
▫️ Using the Kyverno-Notation-AWS Signer solution, you can validate container images in Kubernetes.
#ECR #Signer #EKS
https://aws.amazon.com/blogs/containers/announcing-container-image-signing-with-aws-signer-and-amazon-eks/
▫️ Using the Notation client with the AWS Signer plugin, you can implement a simple client-based workflow for signing and verifying your container images.
▫️ Using the Kyverno-Notation-AWS Signer solution, you can validate container images in Kubernetes.
#ECR #Signer #EKS
Amazon
Announcing Container Image Signing with AWS Signer and Amazon EKS | Amazon Web Services
Introduction Today we are excited to announce the launch of AWS Signer Container Image Signing, a new capability that gives customers native AWS support for signing and verifying container images stored in container registries like Amazon Elastic Container…
🔥5
ECR + OCI v1.1 = добавляем любой файл к образу в ECR
0️⃣ Историческая справка
OCI 1.0 появился в далёком 2017-м. Поддержка OCI 1.0 появилась в ECR в 2020-м:
https://aws.amazon.com/blogs/containers/oci-artifact-support-in-amazon-ecr/
Это позволило добавлять Helm чарты сразу к запушенному в ECR образу.
Релиз OCI v1.1 вышел в начале 2024 г. и теперь он поддерживается ECR:
https://aws.amazon.com/about-aws/whats-new/2024/06/amazon-ecr-oci-image-distribution-version-1-1/
Релиз 1.1 позволяет стандартизированно, без костылей с созданием кучи спамовских тэгов, добавить нужное к любому образу.
Документация по поводу работы с OCI в AWS на момент написания крайне ограниченная:
https://docs.aws.amazon.com/AmazonECR/latest/userguide/images.html
Поэтому в качестве примера добавим к
1️⃣ Ставим и настраиваем
https://oras.land/docs/installation/
На момент написания CloudShell по-прежнему на Intel (ужас какой), у кого ARM — нужно будет поменять в ссылке скрипта на
⚠️ Без
Ставим под вашу систему, в случае CloudShell это обычное:
⚠️ Без файла
Создаём, если такого не было:
Если уже был, то просто добавляем строчку:
{
"auths": {
...
2️⃣ Просмотр файлов у образа в ECR
Получим что-то типа:
То есть ничего нет.
3️⃣ Добавляем файлы к образу в ECR
4️⃣ Смотрим снова
(на картинке)
5️⃣ Получаем файлы из ECR
Сначала нужен
Теперь получаем сам файл в папку
Итого: хорошая вещь, можно напихать всякого полезного в CI/CD пайплайны на каждый образ, пользуемся.
#ECR
0️⃣ Историческая справка
OCI 1.0 появился в далёком 2017-м. Поддержка OCI 1.0 появилась в ECR в 2020-м:
https://aws.amazon.com/blogs/containers/oci-artifact-support-in-amazon-ecr/
Это позволило добавлять Helm чарты сразу к запушенному в ECR образу.
Релиз OCI v1.1 вышел в начале 2024 г. и теперь он поддерживается ECR:
https://aws.amazon.com/about-aws/whats-new/2024/06/amazon-ecr-oci-image-distribution-version-1-1/
Релиз 1.1 позволяет стандартизированно, без костылей с созданием кучи спамовских тэгов, добавить нужное к любому образу.
Документация по поводу работы с OCI в AWS на момент написания крайне ограниченная:
https://docs.aws.amazon.com/AmazonECR/latest/userguide/images.html
Поэтому в качестве примера добавим к
sbom.json и readme.md к образу в ECR. Я буду для этого использовать AWS CloudShell.1️⃣ Ставим и настраиваем
oras:https://oras.land/docs/installation/
На момент написания CloudShell по-прежнему на Intel (ужас какой), у кого ARM — нужно будет поменять в ссылке скрипта на
arm64.⚠️ Без
amazon-ecr-credential-helper он даст ошибку:Error: basic credential not foundСтавим под вашу систему, в случае CloudShell это обычное:
sudo yum install amazon-ecr-credential-helper⚠️ Без файла
~/.docker/config.json также будет ошибка:Error: failed to decode config file at /home/cloudshell-user/.docker/config.json: invalid config format: EOFСоздаём, если такого не было:
mkdir ~/.dockercat >> ~/.docker/config.json << EOF{ "credsStore": "ecr-login"}EOFЕсли уже был, то просто добавляем строчку:
{
"credsStore": "ecr-login","auths": {
...
2️⃣ Просмотр файлов у образа в ECR
oras discover 0123456789012.dkr.ecr.us-east-1.amazonaws.com/myrepo:mytagПолучим что-то типа:
0123456789012.dkr.ecr.us-east-1.amazonaws.com/myrepo@sha256:54408c668558c601e7fb564a912343af3edfe5f4f5a1922086a8be87d8f74923То есть ничего нет.
3️⃣ Добавляем файлы к образу в ECR
oras attach 0123456789012.dkr.ecr.us-east-1.amazonaws.com/myrepo:mytag --artifact-type my/sbom ./sbom.json:application/jsonoras attach 0123456789012.dkr.ecr.us-east-1.amazonaws.com/myrepo:mytag --artifact-type my/readme ./readme.md:text/markdown4️⃣ Смотрим снова
(на картинке)
5️⃣ Получаем файлы из ECR
Сначала нужен
digest файла:oras discover --artifact-type 'my/readme' 0123456789012.dkr.ecr.us-east-1.amazonaws.com/myrepo:mytag --format json | jq -r ".manifests[0].digest"Теперь получаем сам файл в папку
myfiles:oras pull 0123456789012.dkr.ecr.us-east-1.amazonaws.com/myrepo@sha256:bdd414443ed04e69a09a9eab979d5e3950197341cc8c81a8d9001431685b571f --output myfilesИтого: хорошая вещь, можно напихать всякого полезного в CI/CD пайплайны на каждый образ, пользуемся.
#ECR
🔥6👍4❤🔥1
S3 как container registry вместо ECR — в 5-8 раз быстрее и в 4 раза дешевле!
https://ochagavia.nl/blog/using-s3-as-a-container-registry/
#S3 #ECR
https://ochagavia.nl/blog/using-s3-as-a-container-registry/
#S3 #ECR
🤔44👍8🤪2
ECR to ECR pull through cache
Вместо репликации для мульти-аккаунт/мульти-регионов, теперь можно включить кэширование:
https://docs.aws.amazon.com/AmazonECR/latest/userguide/pull-through-cache.html
То есть первый раз качается образ из другого региона, после используется лишь кэш из текущего.
Отличная замена предыдущим костылям на синхронизацию плюс экономия на стоимости (когда приходилось всё дублировать).
#ECR #cost_optimization
Вместо репликации для мульти-аккаунт/мульти-регионов, теперь можно включить кэширование:
https://docs.aws.amazon.com/AmazonECR/latest/userguide/pull-through-cache.html
То есть первый раз качается образ из другого региона, после используется лишь кэш из текущего.
Отличная замена предыдущим костылям на синхронизацию плюс экономия на стоимости (когда приходилось всё дублировать).
#ECR #cost_optimization
Amazon
Sync an upstream registry with an Amazon ECR private registry - Amazon ECR
You can sync the contents of an upstream registry with your Amazon ECR private registry.
🔥14