Отличный практикум по Лямбде из командной строки:
https://github.com/nsriram/lambda-the-cli-way
Поэтапное усложнение - от HelloWorld и логов, до интеграции с другими сервисами и SAM (Serverless Application Model). В закладки однозначно.
#Lambda #aws_cli #tutorial
https://github.com/nsriram/lambda-the-cli-way
Поэтапное усложнение - от HelloWorld и логов, до интеграции с другими сервисами и SAM (Serverless Application Model). В закладки однозначно.
#Lambda #aws_cli #tutorial
GitHub
GitHub - nsriram/lambda-the-cli-way: AWS Lambda using CLI, an introductory cookbook
AWS Lambda using CLI, an introductory cookbook. Contribute to nsriram/lambda-the-cli-way development by creating an account on GitHub.
Сколько времени (примерно, обычно) вы тратите на то, чтобы добраться на работу (в одну сторону)?
#опрос
#опрос
Если пересчитать, то в среднем дорога у читателей этого канала занимает 37 минут в одну сторону.
ALB Ingress Controller - обновлённая версия статьи:
https://aws.amazon.com/blogs/opensource/kubernetes-ingress-aws-alb-ingress-controller/
#EKS #kubernetes
https://aws.amazon.com/blogs/opensource/kubernetes-ingress-aws-alb-ingress-controller/
#EKS #kubernetes
Amazon
Kubernetes Ingress with AWS ALB Ingress Controller | Amazon Web Services
Note: This post has been updated in January, 2020, to reflect new best practices in container security since we launched native least-privileges support at the pod level, and the instructions have been updated for the latest controller version. You can also…
Работа с DynamoDB из aws-cli
Примеров работы из aws-cli с DynamoDB кот наплакал, особенно, когда нужны простые вещи, но выходящие за рамки примеров из документации.
create-table
Создадим простенькую таблицу для условного Jenkins, куда будем писать для каждого проекта (
Здесь и дальше предполагается, что настроен
aws dynamodb create-table \
put-item
Запишем в таблицу значение для условного проекта
date +%s
Получение
Сделаем выполнение сразу из строки, а не через отдельный файл для JSON (из-за этого не получится разбить строчку обратным слэшем - поэтому получится длинная):
aws dynamodb put-item --table-name jenkins --item
Переменных добавлено сразу много разных и больше условно, чисто для примера и чтобы удобней выбрать, удалив лишние.
update-item
Обновим билд
aws dynamodb update-item --table-name jenkins --key
...продолжение следует
#DynamoDB #aws_cli
Примеров работы из aws-cli с DynamoDB кот наплакал, особенно, когда нужны простые вещи, но выходящие за рамки примеров из документации.
create-table
Создадим простенькую таблицу для условного Jenkins, куда будем писать для каждого проекта (
jenkinsProject) свои переменные для каждого билда (buildNumber). Для уменьшения стоимости (хоть и так будет около нуля) вместо дефолтного режима (PROVISIONED) сразу включим (PAY_PER_REQUEST).Здесь и дальше предполагается, что настроен
~/.aws/config , иначе к каждому запросу добавляем регион --region eu-west-1 (и/или --profile my-profile)aws dynamodb create-table \
--table-name jenkins \
--attribute-definitions \
AttributeName=jenkinsProject,AttributeType=S \
AttributeName=buildNumber,AttributeType=N \
--key-schema \
AttributeName=jenkinsProject,KeyType=HASH \
AttributeName=buildNumber,KeyType=RANGE \
--billing-mode PAY_PER_REQUEST
put-item
Запишем в таблицу значение для условного проекта
aws-notes и билда номер 1 из ветки feature-1. Для получения текущего timestamp вручную выполним:date +%s
1578575096 Получение
timestamp можно добавить и сразу в команду, но так наглядней.Сделаем выполнение сразу из строки, а не через отдельный файл для JSON (из-за этого не получится разбить строчку обратным слэшем - поэтому получится длинная):
aws dynamodb put-item --table-name jenkins --item
'{ "jenkinsProject": {"S": "aws-notes"}, "buildNumber": {"N": "1"}, "imageTag": {"S": "feature-1.build-1"}, "imageRepository": {"S": "123166313456.dkr.ecr.eu-west-1.amazonaws.com/aws-notes"}, "date": {"S": "2020-01-09 13:04"}, "timestamp": {"N": "1569486943"}, "branch": {"S": "feature-1"} }'Переменных добавлено сразу много разных и больше условно, чисто для примера и чтобы удобней выбрать, удалив лишние.
update-item
Обновим билд
1, исправив в нём тэг и ветку (заменим 1 на 1а):aws dynamodb update-item --table-name jenkins --key
'{ "jenkinsProject": {"S": "aws-notes"}, "buildNumber": {"N": "1"} }' --update-expression "SET #T = :t, #B = :b" --expression-attribute-names '{ "#T":"imageTag", "#B":"branch" }' --expression-attribute-values '{ ":t": {"S": "feature-1a.build-1"}, ":b": {"S": "feature-1a"} }'...продолжение следует
#DynamoDB #aws_cli
Работа с DynamoDB из aws-cli
scan
Предположим, в таблице много билдов разных проектов. Получим все записи таблицы с ограничением максимум 100 значений.
aws dynamodb scan --table-name jenkins
Это будут все проекты, можно вывести лишь нужный, например,
aws dynamodb scan --table-name jenkins --query
query
Сделать выборку по проекту
aws dynamodb query --table-name jenkins --max-items 100 --key-condition-expression
Как найти последнее значение билда (не обязательно совпадающее с количеством записей)? Для этого сделаем реверсивную выборку и получим последний элемент, выделив его с помощью #query и сделав таблицу:
aws dynamodb query --table-name jenkins --key-condition-expression
delete-item
Удалим билд
aws dynamodb delete-item --table-name jenkins --key
delete-table
Удалим таблицу .
aws dynamodb delete-table --table-name jenkins
#DynamoDB #aws_cli
scan
Предположим, в таблице много билдов разных проектов. Получим все записи таблицы с ограничением максимум 100 значений.
aws dynamodb scan --table-name jenkins
--max-items 100Это будут все проекты, можно вывести лишь нужный, например,
aws-notes с помощью #query:aws dynamodb scan --table-name jenkins --query
'Items[?jenkinsProject.S==`aws-notes`]'query
Сделать выборку по проекту
jenkinsProject - получить все билды:aws dynamodb query --table-name jenkins --max-items 100 --key-condition-expression
"jenkinsProject = :jp" --expression-attribute-values '{":jp": { "S": "aws-notes" } }'Как найти последнее значение билда (не обязательно совпадающее с количеством записей)? Для этого сделаем реверсивную выборку и получим последний элемент, выделив его с помощью #query и сделав таблицу:
aws dynamodb query --table-name jenkins --key-condition-expression
"jenkinsProject = :jp" --expression-attribute-values '{":jp": { "S": "aws-notes" } }' --no-scan-index-forward --max-items 1 --query Items[].buildNumber.N[] --output table-------
|Query|
+-----+
| 3 |
+-----+
delete-item
Удалим билд
1 из таблицы:aws dynamodb delete-item --table-name jenkins --key
'{ "jenkinsProject": {"S": "aws-notes"}, "buildNumber": {"N": "1"} }'delete-table
Удалим таблицу .
aws dynamodb delete-table --table-name jenkins
#DynamoDB #aws_cli
Неплохой наборчик AWS-безопасностей в докере набыстропопробовать:
https://github.com/z0ph/aws-security-toolbox
Elastic #Beanstalk обзавёлся своим Roadmap:
https://github.com/aws/elastic-beanstalk-roadmap/projects/1
И плагинчик под хром для тех, кто хочет отличать регион, где он работает в консоли, по цвету:
https://chrome.google.com/webstore/detail/aws-console-regions-color/gfeaclafcmbiakopneapkbaiifnhbkng
https://github.com/z0ph/aws-security-toolbox
Elastic #Beanstalk обзавёлся своим Roadmap:
https://github.com/aws/elastic-beanstalk-roadmap/projects/1
И плагинчик под хром для тех, кто хочет отличать регион, где он работает в консоли, по цвету:
https://chrome.google.com/webstore/detail/aws-console-regions-color/gfeaclafcmbiakopneapkbaiifnhbkng
GitHub
GitHub - z0ph/aws-security-toolbox: AWS Security Tools (AST) in a simple Docker container. :package:
AWS Security Tools (AST) in a simple Docker container. :package: - z0ph/aws-security-toolbox
Приятно вот так вот, вечерком, в выходные, посидеть за чашечкой чая или кофе, почитать что-нибудь, почесывая тисипи об айпи, как где-то у кого-то на амазоне что-то не работает или глючит.
И чтобы завязка была, а потом всё в огне или детектив, и после обязательно, чтобы всех спасли, она согласилась, а саппорт ответил. Ну, а под занавес ба-бах - бестпрактисы из всех щелей и сплошной хэппи энд.
В общем, приятного чтения:
https://m.signalvnoise.com/aws-s3-youre-out-of-order/
И чтобы завязка была, а потом всё в огне или детектив, и после обязательно, чтобы всех спасли, она согласилась, а саппорт ответил. Ну, а под занавес ба-бах - бестпрактисы из всех щелей и сплошной хэппи энд.
В общем, приятного чтения:
https://m.signalvnoise.com/aws-s3-youre-out-of-order/
Signal v. Noise
AWS S3: You’re out of order.
Back in November, we noticed something odd happening with large uploads to Amazon S3. Uploads would pause for 10 seconds at a time and then resume. It had us baffled. When we started to dig, what w…
Три новых Edge locations для CloudFront открылись недавно поблизости - в Венгрии, Румынии и Болгарии.
Львовщина, Ивано-Франковщина и Одесса радуются - Амазон подобрался совсем близко. Остальные же могут покрутить следующую ссылку, надеясь, что разноцветные отметки переползут когда-то и на их территорию:
https://www.google.com/maps/d/viewer?mid=1cj0vZ2YZJNp39MHIbstZT3QKPkl3Xgw2
#CloudFront
Львовщина, Ивано-Франковщина и Одесса радуются - Амазон подобрался совсем близко. Остальные же могут покрутить следующую ссылку, надеясь, что разноцветные отметки переползут когда-то и на их территорию:
https://www.google.com/maps/d/viewer?mid=1cj0vZ2YZJNp39MHIbstZT3QKPkl3Xgw2
#CloudFront
Отличная утилитка под SSM Session Manager для борьбы с ключами SSH на ваших инстансах (чтобы их не использовать):
https://github.com/xen0l/aws-gate
#SSM
https://github.com/xen0l/aws-gate
#SSM
GitHub
GitHub - xen0l/aws-gate: Better AWS SSM Session manager CLI client
Better AWS SSM Session manager CLI client . Contribute to xen0l/aws-gate development by creating an account on GitHub.
Amazon EFS + IAM Authorization + Access Points
EFS серьёзно прокачался:
https://aws.amazon.com/blogs/aws/new-for-amazon-efs-iam-authorization-and-access-points/
Теперь, вслед за S3 Access Points у нас есть EFS Access Points и теперь можно переопределить все операции на своего юзера.
Другая фичиа - IAM Authorization, в том числе Resource-Based политики доступа для EFS, доступ к которому теперь можно рулить через IAM, аналогично с Amazon S3 bucket policies.
Но самое интересное, это что добавление доступа по IAM открывает прямую дорогу к появлению
#EFS
EFS серьёзно прокачался:
https://aws.amazon.com/blogs/aws/new-for-amazon-efs-iam-authorization-and-access-points/
Теперь, вслед за S3 Access Points у нас есть EFS Access Points и теперь можно переопределить все операции на своего юзера.
Другая фичиа - IAM Authorization, в том числе Resource-Based политики доступа для EFS, доступ к которому теперь можно рулить через IAM, аналогично с Amazon S3 bucket policies.
Но самое интересное, это что добавление доступа по IAM открывает прямую дорогу к появлению
persistent storage для Fargate. Как раз при помощи свежевышедших фич. В общем, выделяем желудочный сок и ждём.#EFS
Amazon
New for Amazon EFS – IAM Authorization and Access Points | Amazon Web Services
When building or migrating applications, we often need to share data across multiple compute nodes. Many applications use file APIs and Amazon Elastic File System (Amazon EFS) makes it easy to use those applications on AWS, providing a scalable, fully managed…
Баяны, но свежие и даже местами полезные.
101-й туториал по деплою микросервисов на ECS:
https://levelup.gitconnected.com/a-practical-guide-to-deploying-microservices-on-aws-6a8ddd298f7e
102-е сравнение Лямбды и Fargate:
https://www.trek10.com/blog/fargate-lambda-comparison/
103-я статья по S3 versioning:
https://medium.com/@pvinchon/amazon-s3-versioning-d6c57c513b04
101-й туториал по деплою микросервисов на ECS:
https://levelup.gitconnected.com/a-practical-guide-to-deploying-microservices-on-aws-6a8ddd298f7e
102-е сравнение Лямбды и Fargate:
https://www.trek10.com/blog/fargate-lambda-comparison/
103-я статья по S3 versioning:
https://medium.com/@pvinchon/amazon-s3-versioning-d6c57c513b04
Medium
A Practical Guide to Deploying Microservices on AWS
Continuous deployment of production-ready microservices on the ECS Fargate platform with Docker, CloudFormation and Bitbucket Pipelines
И снова полезное чтиво.
Serverless vs Containers:
https://www.cloudjourney.io/articles/publiccloud/cost-matters-the-serverless-edition-ls/
Миграция на Serverless:
https://iamondemand.com/blog/modernizing-a-3-tier-application-with-serverless-on-aws/
Как работает CloudFront:
https://www.contentbloom.com/blog/what-you-need-to-know-about-amazons-cdn/
Serverless vs Containers:
https://www.cloudjourney.io/articles/publiccloud/cost-matters-the-serverless-edition-ls/
Миграция на Serverless:
https://iamondemand.com/blog/modernizing-a-3-tier-application-with-serverless-on-aws/
Как работает CloudFront:
https://www.contentbloom.com/blog/what-you-need-to-know-about-amazons-cdn/
Forwarded from Человек и машина
По поводу обещанного анонса.
29 января у @AWS_ru третий день рождения. По такому прекрасному поводу москвичи и гости столицы могут лично послушать доклады от умных людей и пообщаться с коллегами по цеху. Те, кто не смогут приехать, могут расчитывать на трансляцию. Любители ставить докладчиков в неудобное положение своими каверзными вопросами могут расчитывать на призы. ^^
Регистрация: https://www.meetup.com/aws-ru/events/267985758/
Кто пойдет - обнимите от меня Стекова и Патрушева. 😉
P.S. При регистрации указывайте настоящие ФИО, чтобы безопасники Райфа лишний раз не нервничали.
29 января у @AWS_ru третий день рождения. По такому прекрасному поводу москвичи и гости столицы могут лично послушать доклады от умных людей и пообщаться с коллегами по цеху. Те, кто не смогут приехать, могут расчитывать на трансляцию. Любители ставить докладчиков в неудобное положение своими каверзными вопросами могут расчитывать на призы. ^^
Регистрация: https://www.meetup.com/aws-ru/events/267985758/
Кто пойдет - обнимите от меня Стекова и Патрушева. 😉
P.S. При регистрации указывайте настоящие ФИО, чтобы безопасники Райфа лишний раз не нервничали.
Meetup
День Рожденья @AWS_Ru нам 3 Года!
Wed, Jan 29, 2020, 7:00 PM: UPD: Ребят, так как мы идем в гости в Банк, их доброе СБ очень хочет знать ФИО и компанию - потому очень вас попрошу если вы решили придти лично - не сочтите за труд, сдела
Уважаемые коллеги. Кто не знаком, позвольте представить заслуженного мастера спорта международного класса по IAM и другим видам амазоноборства, спикера крупнейших конференций и при этом надёжного информатора о том, что происходит у них там в Европах, Карена Товмасяна.
У Карена есть отличный канал @manandthemachine, где можно прочитать не только про AWS (этого и здесь хватает), но и про тяжёлую судьбушеньку нашего простого человека, попавшего в незаморскую страну Нидерландию. Плюсы, минусы, подводные камни - всё, как вы любите, короче. Не то, чтобы сам лично согласен с излагаемым там, однако это мнение с большой буквы Мэ и кому-то может быть от интересно до помочь.
https://t.iss.one/manandthemachine
У Карена есть отличный канал @manandthemachine, где можно прочитать не только про AWS (этого и здесь хватает), но и про тяжёлую судьбушеньку нашего простого человека, попавшего в незаморскую страну Нидерландию. Плюсы, минусы, подводные камни - всё, как вы любите, короче. Не то, чтобы сам лично согласен с излагаемым там, однако это мнение с большой буквы Мэ и кому-то может быть от интересно до помочь.
https://t.iss.one/manandthemachine
CI/CD на AWS
С учётом пояснений и пожеланий сделанных в чате канала, нужно повторить голосовалку - теперь с возможностью выбрать несколько вариантов и в более очевидной постановке вопроса.
Какие инструменты вы используете для CI/CD на AWS?
(можно выбрать несколько вариантов)
Jenkins - 65
👍👍👍👍👍👍👍👍 46%
GitLab CI - 47
👍👍👍👍👍 33%
AWS CodePipeline + Code* services - 12
👍 8%
Azure DevOps (Microsoft VSTS/TFS) - 3
👍 2%
Bitbucket Pipelines - 15
👍 10%
TeamCity - 15
👍 10%
Bamboo - 5
👍 3%
CircleCI - 5
👍 3%
Drone.io - 2
👍 1%
BuildMaster - 1
👍 0%
GoCD - 3
👍 2%
Travis CI - 2
👍 1%
GitHub Actions - 4
👍 2%
Codeship - 0
▫ 0%
Buddy - 0
▫ 0%
Wercker - 0
▫ 0%
Buildbot - 0
▫ 0%
Другой - 2
👍 1%
👥 141 people voted so far.
С учётом пояснений и пожеланий сделанных в чате канала, нужно повторить голосовалку - теперь с возможностью выбрать несколько вариантов и в более очевидной постановке вопроса.
Какие инструменты вы используете для CI/CD на AWS?
(можно выбрать несколько вариантов)
Jenkins - 65
👍👍👍👍👍👍👍👍 46%
GitLab CI - 47
👍👍👍👍👍 33%
AWS CodePipeline + Code* services - 12
👍 8%
Azure DevOps (Microsoft VSTS/TFS) - 3
👍 2%
Bitbucket Pipelines - 15
👍 10%
TeamCity - 15
👍 10%
Bamboo - 5
👍 3%
CircleCI - 5
👍 3%
Drone.io - 2
👍 1%
BuildMaster - 1
👍 0%
GoCD - 3
👍 2%
Travis CI - 2
👍 1%
GitHub Actions - 4
👍 2%
Codeship - 0
▫ 0%
Buddy - 0
▫ 0%
Wercker - 0
▫ 0%
Buildbot - 0
▫ 0%
Другой - 2
👍 1%
👥 141 people voted so far.
AWS IAM поломался:
Update: AWS IAM починился.
Between 7:30 AM and 9:45 AM PST, we experienced increased error rates due to higher latency for IAM requests. The system has recovered and is operating normally.
Http request timed out enforced after 999msImpact is confirmed -- we are actively investigating.
Update: AWS IAM починился.
Between 7:30 AM and 9:45 AM PST, we experienced increased error rates due to higher latency for IAM requests. The system has recovered and is operating normally.
Действительное очень годная возможность не зря потратить какие-то выходные - удивительно качественный и при этом бесплатный контент.
https://www.youtube.com/watch?v=Ia-UEYYR44s
Ссылку на минус 10 часов личной жизни по доброте душевной презентовали в AWS User group Kazakhstan.
https://www.youtube.com/watch?v=Ia-UEYYR44s
Ссылку на минус 10 часов личной жизни по доброте душевной презентовали в AWS User group Kazakhstan.
YouTube
AWS Certified Solutions Architect - Associate 2020 (PASS THE EXAM!)
AWS Certified Solutions Architect is one of the most popular cloud computing certifications. In this full course taught by an expert trainer, you will learn the major parts of Amazon Web Services, and prepare for the associate-level AWS Certified Solutions…