Теперь можно задать диапазон IP-адресов для EKS кластера:
https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html
#EKS
https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html
#EKS
Напомню, что сегодня CDK day. Начало в 17:00 по Киеву/Минску/Москве.
Кто не в курсе, CDK — возможность описывать инфраструктуру для AWS, Kubernetes или Terraform с помощью привычного языка программирования. Стоит посетить, чтобы просто ознакомиться с возможностями.
Кто не в курсе, CDK — возможность описывать инфраструктуру для AWS, Kubernetes или Terraform с помощью привычного языка программирования. Стоит посетить, чтобы просто ознакомиться с возможностями.
Telegram
aws_notes
30 сентября пройдёт CDK day:
https://www.cdkday.com/
Всё про AWS CDK, CDK8s (для куберов) и CDKtf (под Терраформ). Крутые спикеры, самые свежие и будущие фичи. Крайне рекомендуется даже просто ознакомиться.
https://www.cdkday.com/
Всё про AWS CDK, CDK8s (для куберов) и CDKtf (под Терраформ). Крутые спикеры, самые свежие и будущие фичи. Крайне рекомендуется даже просто ознакомиться.
Helm + ECR
Для стандартизации процессов в Kubernetes окружениях, использующих Helm для деплоя сервисов удобно иметь и чарты в виде докер-образов. Такая возможность на текущий момент в Helm доступна лишь в экспериментальном режиме:
В докер-реестрах других провайдеров такая поддержка уже была раньше, наконец, с сентября 2020-го года она есть и в ECR:
https://docs.aws.amazon.com/AmazonECR/latest/userguide/push-oci-artifact.html
Настроим переменные:
Сохраняем чарт:
Логинимся Хелмом в реестр (aws-cli version 2):
Пушим чарт в ECR:
Спулить чарт из ECR:
Распаковать чарт в текущую папку:
Распаковать чарт в нужную папку (останется изначально имеющаяся вложенность):
#ECR #Helm
Для стандартизации процессов в Kubernetes окружениях, использующих Helm для деплоя сервисов удобно иметь и чарты в виде докер-образов. Такая возможность на текущий момент в Helm доступна лишь в экспериментальном режиме:
export HELM_EXPERIMENTAL_OCI=1В докер-реестрах других провайдеров такая поддержка уже была раньше, наконец, с сентября 2020-го года она есть и в ECR:
https://docs.aws.amazon.com/AmazonECR/latest/userguide/push-oci-artifact.html
Настроим переменные:
ECR_AWS_ID=123456789012ECR_REGION=eu-central-1CHART_DIR=my-chartREPO_NAME=helm-repoIMAGE_TAG=build-1HELM_REGISTRY=${ECR_AWS_ID}.dkr.ecr.${ECR_REGION}.amazonaws.comHELM_ECR_ADDRESS=${HELM_REGISTRY}/${REPO_NAME}:${IMAGE_TAG}Сохраняем чарт:
helm chart save ${CHART_DIR} ${HELM_ECR_ADDRESS}Логинимся Хелмом в реестр (aws-cli version 2):
aws ecr get-login-password --region ${ECR_REGION} | helm registry login --username AWS --password-stdin ${HELM_REGISTRY}Пушим чарт в ECR:
helm chart push ${HELM_ECR_ADDRESS}Спулить чарт из ECR:
helm chart pull ${HELM_ECR_ADDRESS}Распаковать чарт в текущую папку:
helm chart export ${HELM_ECR_ADDRESS}Распаковать чарт в нужную папку (останется изначально имеющаяся вложенность):
helm chart export ${HELM_ECR_ADDRESS} --destination some-dir#ECR #Helm
Amazon
Pushing a Helm chart to an Amazon ECR private repository - Amazon ECR
Push Open Container Initiative (OCI) artifacts to an Amazon ECR private repository
Amazon Timestream:
https://aws.amazon.com/blogs/aws/store-and-access-time-series-data-at-any-scale-with-amazon-timestream-now-generally-available/
Timestream — serverless база данных для IoT и других систем с Time Series данными.
#Timestream
https://aws.amazon.com/blogs/aws/store-and-access-time-series-data-at-any-scale-with-amazon-timestream-now-generally-available/
Timestream — serverless база данных для IoT и других систем с Time Series данными.
#Timestream
Amazon
Store and Access Time Series Data at Any Scale with Amazon Timestream – Now Generally Available | Amazon Web Services
Time series are a very common data format that describes how things change over time. Some of the most common sources are industrial machines and IoT devices, IT infrastructure stacks (such as hardware, software, and networking components), and applications…
Рекомендации по удалённой сдаче AWS сертификации от производителя:
https://aws.amazon.com/blogs/training-and-certification/5-tips-for-a-successful-online-proctored-aws-certification-exam/
Если коротко:
• Во время сдачи есть/перекусить будет нельзя
• Прерывать сдачу (выходить или впускать кого-то в комнату) нельзя
• Общение с экзаменатором лишь на английском или японском
• Стоит протестировать соединение с интернетом
• Бронировать дату-время сдачи заранее
• Не пропустить письмо с подтверждением даты забронированного экзамена
• Присоединиться можно за полчаса до начала экзамена, чтобы решить все вопросы заранее
#AWS_Certification
https://aws.amazon.com/blogs/training-and-certification/5-tips-for-a-successful-online-proctored-aws-certification-exam/
Если коротко:
• Во время сдачи есть/перекусить будет нельзя
• Прерывать сдачу (выходить или впускать кого-то в комнату) нельзя
• Общение с экзаменатором лишь на английском или японском
• Стоит протестировать соединение с интернетом
• Бронировать дату-время сдачи заранее
• Не пропустить письмо с подтверждением даты забронированного экзамена
• Присоединиться можно за полчаса до начала экзамена, чтобы решить все вопросы заранее
#AWS_Certification
Amazon
5 tips for a successful online-proctored AWS Certification exam | Amazon Web Services
Online proctoring is a testing environment that allows you to take an exam from any private space, such as your home or office. In this post, I’ll share five tips that can help you be successful and confident taking an AWS Certification exam via online proctoring.
S3 Object Ownership — решение проблемы длиной в 15 лет:
https://docs.aws.amazon.com/AmazonS3/latest/dev/enable-object-ownership.html
В чём проблема вообще?
При копировании файла из аккаунта А в бакет аккаунта В (в котором есть права для работы с ним из аккаунта А) — владельцем файла (объекта) является/остаётся аккаунт А. То есть админ аккаунта В видит, что у него в бакете есть файл, но ни скачать, ни получить какие-то данные он нём не может.
»»» Вариант с переключением в роль аккаунта В исправляет проблему, однако это уже другой сценарий, решающий проблему с помощью IAM.
https://docs.aws.amazon.com/AmazonS3/latest/dev/enable-object-ownership.html
В чём проблема вообще?
При копировании файла из аккаунта А в бакет аккаунта В (в котором есть права для работы с ним из аккаунта А) — владельцем файла (объекта) является/остаётся аккаунт А. То есть админ аккаунта В видит, что у него в бакете есть файл, но ни скачать, ни получить какие-то данные он нём не может.
»»» Вариант с переключением в роль аккаунта В исправляет проблему, однако это уже другой сценарий, решающий проблему с помощью IAM.
Как было раньше? (с момента создания S3 в 2004-м году)
Для решения этой проблемы использовался ключик bucket-owner-full-control, который добавлял на копируемый объект
Скопируем файл из аккаунта А в бакет аккаунта В:
aws --profile=account-A s3api get-object-acl --bucket my-bucket-account-B --key file.txt
Теперь скопируем файл с ключиком
aws --profile=account-A s3 cp file.txt s3://my-bucket-account-B/ --acl
Но владелец
Чем это плохо? Какая разница — владелец или полные права?
Для аккаунта В без разницы. Но как только вы попытаетесь скачать этот файл из аккаунта С (который также имеет все права на работу с бакетом В) — получите отлуп! И понятно почему — ведь ему владелец файла из аккаунта А не разрешал доступ к объекту, его нет в списке
На этом неочевидном, сложном и крайне неприятном косяке сильно валились и валятся многие мульти-аккаунтные проекты. Тонкие вещи с добавлением прав аккаунту С с помощью флажка --grant-full-control это весьма специфичный и редко возможный вариант.
И как теперь?
Теперь, если включить для бакета S3 Object Ownership = bucket owner preferred, то при копировании файла без флажка
Итого
Потому отныне можно рекомендовать всегда включать S3 Object Ownership = bucket owner preferred — логику работы оно не меняет (точней — исправляет), при этом бесплатно и проблем будет меньше.
#S3
Для решения этой проблемы использовался ключик bucket-owner-full-control, который добавлял на копируемый объект
"Permission": "FULL_CONTROL" для владельца аккаунта бакета.Скопируем файл из аккаунта А в бакет аккаунта В:
aws --profile=account-A s3 cp file.txt s3://my-bucket-account-B/
Смотрим права сохранённого объекта:aws --profile=account-A s3api get-object-acl --bucket my-bucket-account-B --key file.txt
{
"Owner": {
"DisplayName": "account-A",
"ID": "c0123f42b8a1bed065b8a1b2fdbf76c1b6acda99e0778822e3cece21a8c71058"
},
"Grants": [
{
"Grantee": {
"Type": "CanonicalUser",
"DisplayName": "account-A",
"ID": "c0123f42b8a1bed065b8a1b2fdbf76c1b6acda99e0778822e3cece21a8c71058"
},
"Permission": "FULL_CONTROL"
}
]
}
Файл лежит в бакете аккаунта В, но полный владелец (Owner) лишь у аккаунта А. Владелец В ничего не сможет сделать с файлом (но будет платить за него).Теперь скопируем файл с ключиком
bucket-owner-full-control:aws --profile=account-A s3 cp file.txt s3://my-bucket-account-B/ --acl
bucket-owner-full-control
Теперь права изменились:{
"Owner": {
"DisplayName": "account-A",
"ID": "c0123f42b8a1bed065b8a1b2fdbf76c1b6acda99e0778822e3cece21a8c71058"
},
"Grants": [
{
"Grantee": {
"Type": "CanonicalUser",
"DisplayName": "account-A",
"ID": "c0123f42b8a1bed065b8a1b2fdbf76c1b6acda99e0778822e3cece21a8c71058"
},
"Permission": "FULL_CONTROL"
},
{
"Grantee": {
"Type": "CanonicalUser",
"DisplayName": "account-B",
"ID": "8933ecf5e61d2b67a525edee13f7667ab45d2be85b1fdb82a9338a60609ee5f9"
},
"Permission": "FULL_CONTROL"
}
]
}
В список Grantee имеющий полный доступ FULL_CONTROL добавился и аккаунт В.Но владелец
Owner по-прежнему аккаунт А!Чем это плохо? Какая разница — владелец или полные права?
Для аккаунта В без разницы. Но как только вы попытаетесь скачать этот файл из аккаунта С (который также имеет все права на работу с бакетом В) — получите отлуп! И понятно почему — ведь ему владелец файла из аккаунта А не разрешал доступ к объекту, его нет в списке
Grantee.На этом неочевидном, сложном и крайне неприятном косяке сильно валились и валятся многие мульти-аккаунтные проекты. Тонкие вещи с добавлением прав аккаунту С с помощью флажка --grant-full-control это весьма специфичный и редко возможный вариант.
И как теперь?
Теперь, если включить для бакета S3 Object Ownership = bucket owner preferred, то при копировании файла без флажка
bucket-owner-full-control ничего не изменится. А вот с ним - произойдёт чудо:{
"Owner": {
"DisplayName": "account-B",
"ID": "8933ecf5e61d2b67a525edee13f7667ab45d2be85b1fdb82a9338a60609ee5f9"
},
"Grants": [
{
"Grantee": {
"Type": "CanonicalUser",
"DisplayName": "account-B",Полноправным (и единственным) владельцем (
"ID": "8933ecf5e61d2b67a525edee13f7667ab45d2be85b1fdb82a9338a60609ee5f9"
},
"Permission": "FULL_CONTROL"
}
]
}
Owner) файла из аккаунта А стал акаунт В! Больше никаких проблем, характерных ранее для #shared_bucket! Итого
Потому отныне можно рекомендовать всегда включать S3 Object Ownership = bucket owner preferred — логику работы оно не меняет (точней — исправляет), при этом бесплатно и проблем будет меньше.
#S3
Telegram
aws_history
Некоторые думают, что первый сервис Амазона, который был запущен - это EC2, хотя большинство считают, что нет, сначала был запущен в 2006-м году Amazon S3. И лишь самые продвинутые знают - первым был Amazon SQS, вот анонс от 3 ноября 2004-го года:
http…
http…
❤1
Forwarded from CloudSec Wine
This media is not supported in your browser
VIEW IN TELEGRAM
🔸iam-policies-cli
A CLI tool for building simple to complex IAM policies based on CloudFormation templates.
https://github.com/mhlabs/iam-policies-cli
#aws
A CLI tool for building simple to complex IAM policies based on CloudFormation templates.
https://github.com/mhlabs/iam-policies-cli
#aws
Forwarded from CloudTechRU
Бесплатные имена доменов для опытов с Route53, и load balancers можно зарегать в https://my.freenom.com/
Не благодарите, Ваш капитан )
Не благодарите, Ваш капитан )
У Slack серьёзные проблемы со вчерашнего дня:
https://www.dailymail.co.uk/sciencetech/article-8807179/Slack-users-unable-send-receive-messages-chat-service.html
Страница статуса:
https://status.slack.com/
Если не работает десктоп-клиент — не забывайте про браузерный вариант, он может работать:
https://app.slack.com/ssb/add
#Slack
https://www.dailymail.co.uk/sciencetech/article-8807179/Slack-users-unable-send-receive-messages-chat-service.html
Страница статуса:
https://status.slack.com/
Если не работает десктоп-клиент — не забывайте про браузерный вариант, он может работать:
https://app.slack.com/ssb/add
#Slack
Советы по работе с AWS Organizations от производителя:
https://docs.aws.amazon.com/organizations/latest/userguide/orgs_best-practices.html
Рекомендации для мастер-аккаунта и для подаккаунтов.
Основные:
▪️ не используйте публичные почтовые сервисы (бо̀льшая вероятность взлома)
▪️ обязательно включайте MFA
▪️ блокируйте root-юзеров в подаккаунтах с помощью SCP
▪️ периодически проверяйте процесс восстановления доступа к аккаунту (чтобы проверить, что всё нужное для этого есть у нужных людей)
▪️ создайте/обновляйте документацию по процессу восстановления доступа
#best_practices #Organizations
https://docs.aws.amazon.com/organizations/latest/userguide/orgs_best-practices.html
Рекомендации для мастер-аккаунта и для подаккаунтов.
Основные:
▪️ не используйте публичные почтовые сервисы (бо̀льшая вероятность взлома)
▪️ обязательно включайте MFA
▪️ блокируйте root-юзеров в подаккаунтах с помощью SCP
▪️ периодически проверяйте процесс восстановления доступа к аккаунту (чтобы проверить, что всё нужное для этого есть у нужных людей)
▪️ создайте/обновляйте документацию по процессу восстановления доступа
#best_practices #Organizations
Amazon
Best practices for a multi-account environment - AWS Organizations
Improve the performance and security of your organization by following these recommendations for AWS Organizations.
CloudFormation умер, да здравствует CDK!
https://aws.amazon.com/blogs/developer/migrating-cloudformation-templates-to-the-aws-cloud-development-kit/
Как было раньше?
Чтобы подцепить в CDK какой-то имеющийся свой CloudFormation шаблон, который невозможно, сложно или просто лень было переписывать на CDK, то можно было использовать
https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.CfnInclude.html
В результате шаблон цеплялся к проекту целиком, который потом приходилось таскать такой условной гирей, где нельзя было что-то изменить.
Как теперь?
Начиная с версии CDK 1.63 (т.е. с сентября 2020-го) можно существующий шаблон подцепить к CDK и рулить им уже полностью через него!
То есть, к примеру, имеем работающий (задеплоенный) CloudFormation стэк, который создаёт VPC. Идём в консольку, копируем его шаблон в
И теперь полностью рулим стэком из CDK и можно работать с подцеплёнными ресурсами отдельно. То есть, например, нужно поменять какую-то подсетку в VPC. Цепляем её по имени ресурса, используемого в шаблоне (в моём случае это имя
И меняем её параметры:
Делаем
#CDK
https://aws.amazon.com/blogs/developer/migrating-cloudformation-templates-to-the-aws-cloud-development-kit/
Как было раньше?
Чтобы подцепить в CDK какой-то имеющийся свой CloudFormation шаблон, который невозможно, сложно или просто лень было переписывать на CDK, то можно было использовать
CfnInclude:https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.CfnInclude.html
В результате шаблон цеплялся к проекту целиком, который потом приходилось таскать такой условной гирей, где нельзя было что-то изменить.
Как теперь?
Начиная с версии CDK 1.63 (т.е. с сентября 2020-го) можно существующий шаблон подцепить к CDK и рулить им уже полностью через него!
То есть, к примеру, имеем работающий (задеплоенный) CloudFormation стэк, который создаёт VPC. Идём в консольку, копируем его шаблон в
my-vpc-template.json, и прописываем это имя templateFile (ниже пример для TypeScript):const cfnInclude = new cfn_inc.CfnInclude(this, 'Template', {templateFile: 'my-vpc-template.json' });И теперь полностью рулим стэком из CDK и можно работать с подцеплёнными ресурсами отдельно. То есть, например, нужно поменять какую-то подсетку в VPC. Цепляем её по имени ресурса, используемого в шаблоне (в моём случае это имя
subnetVpc4DmzA):const subnetA = cfnInclude.getResource('subnetVpc4DmzA') as ec2.CfnSubnet;И меняем её параметры:
subnetA.mapPublicIpOnLaunch = false;Делаем
cdk deploy и CloudFormation стэк изменён! В него добавились CDKMetadata параметры и дальше уже нужен только CDK, никакого CloudFormation!#CDK
Amazon
Migrating CloudFormation templates to the AWS Cloud Development Kit | Amazon Web Services
AWS CloudFormation gives developers and systems administrators an easy way to create and manage a collection of related AWS resources, provisioning and updating them in an orderly and predictable fashion. You can use AWS CloudFormation’s sample templates…
Forwarded from El Ruso
классная библиотека для тех у кого много лямбд https://awslabs.github.io/aws-lambda-powertools-python/
есть java версия https://github.com/awslabs/aws-lambda-powertools-java
есть java версия https://github.com/awslabs/aws-lambda-powertools-java
Полезное видео архитектуры на Лямбдах и результата почти двукратной оптимизации расходов на неё:
https://www.youtube.com/watch?v=Jkx6kVbDpL4
#Lambda
https://www.youtube.com/watch?v=Jkx6kVbDpL4
#Lambda
YouTube
Nielsen: Processing 55TB of Data Per Day with AWS Lambda
Start building with AWS today! https://aws.amazon.com/free/?trk=el_a134p000006gAmtAAE&trkCampaign=AWS_Free_Tier&sc_channel=el&sc_campaign=Nielsen_YouTube_Episode_to_AWS_Free_Tier&sc_outcome=Training_and_Certification&sc_geo=NAMER&sc_country=mult&all-free…
Как использовать AWS CDK Pipelines или деплоим CDK в мультирегионы/мультиаккаунты:
https://www.youtube.com/watch?v=v74PvMEhMhQ
#CDK #video
https://www.youtube.com/watch?v=v74PvMEhMhQ
#CDK #video
YouTube
CDK Day 2020 - Multi-account and multi-region - Deploy your CDK app to multiple environments
AWS Hero Thorsten Hoeger shows us how to the use the new CDK Pipelines feature to setup multi account / multi region deploys
Forwarded from Человек и машина
Ваше воскресное чтиво - первая ступень в нашем глубоком погружении в Amazon DynamoDB.
Что есть DynamoDB, в чем ее отличие от других NoSQL СУБД, как создать таблицу и что-то в нее записать - в этом обзорном материале.
Для смелых духом и опытных амазонщиков этот пост покажется излишне легким, но вам остается лишь чуть-чуть подождать.
Дальше будет гораздо сложнее и больше.
Что есть DynamoDB, в чем ее отличие от других NoSQL СУБД, как создать таблицу и что-то в нее записать - в этом обзорном материале.
Для смелых духом и опытных амазонщиков этот пост покажется излишне легким, но вам остается лишь чуть-чуть подождать.
Дальше будет гораздо сложнее и больше.
Medium
Amazon DynamoDB Deep Dive. Chapter 1: Essentials
The walkthrough of the one of the world’s fastest databases in a human-friendly format