fa
Feedback
AWS Notes

AWS Notes

رفتن به کانال در Telegram

AWS Notes — Amazon Web Services Educational and Information Channel Chat: https://t.me/aws_notes_chat Contacts: @apple_rom, https://www.linkedin.com/in/roman-siewko/ No ads.

نمایش بیشتر
5 801
مشترکین
-324 ساعت
-67 روز
-730 روز
آرشیو پست ها
Чтобы прокинуть #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

Получить объём #s3 бакета:
aws s3api list-objects --bucket my-analytics-logs --output json --query "[sum(Contents[].Size), length(Contents[])]"
[ 136474715550, 24283 ] Первое число - объём в байтах, второе - количество файлов. Посмотреть с помощью #aws_cli объекты в папке s3 бакета и узнать её объём:
aws s3 ls --summarize --human-readable --recursive s3://my-analytics-logs/indices/

Бывает нужно найти "похожий сервис" в разных облаках. Соответствие сервисов #AWS и #Azure - официальный список от последней: https://docs.microsoft.com/en-us/azure/architecture/aws-professional/services

Если вы шарите в контейнерах (но при этом вы не бомж), то хронологию новостей по теме #containers можно отслеживать тут: https://aws.amazon.com/containers/new/

Использование секции #Rules в #CloudFormation #templates для дополнительной валидации входных параметров (например, чтобы проверить, что один параметр равен другому). https://www.cloudar.be/awsblog/undocumented-feature-using-template-constraint-rules-in-cloudformation/
Rules:
  ValidateEqual:
    Assertions:
      - AssertDescription: Both parameters must be the same
        Assert:
          "Fn::Equals":
            - !Ref CanBeAnything
            - !Ref MustBeTheSame
Работает лишь в консоли, но для случаев её использования может быть крайне удобным.

Локальный хелпер по #aws_cli: https://github.com/awslabs/aws-shell

Отличный онлайн-хелпер по #aws_cli: https://awsclibuilder.com/home

Список всех AWS сервисов, имеющих #SLA: https://aws.amazon.com/legal/service-level-agreements/

В частности, про #SSO — небольшая утилитка на Go для аутентификации с использованием #Shibboleth Identity Provider. https://github.com/CUBoulder-OIT/aws-shib

В прошлом году под Рождество выкатили AWS SSO, в этот раз таким подарком для меня может оказаться AWS Client VPN.

Добавление в #ECR возможности тэгировать репозитории может поломать ваши сценарии, т.к. в #IAM добавилось новое #policy 'ecr:ListTagsForResource': ... error getting ECR repository tags: AccessDeniedException: User: ... is not authorized to perform: ecr:ListTagsForResource ...

Если вы умеете работать в #AWS_Console, но не умеете или лишь осваиваете #CloudFormation, то для вас #AWSConsoleRecorder может быть бесценной находкой. https://github.com/iann0036/AWSConsoleRecorder Вы делаете всё нужное в браузере с помощью плагина, а на выходе получаете готовый сценарий в виде команд, CloudFormation шаблона или других вещей, в частности #Terraform.

Очень полезный и детальный список #best_practices и #worst_practices или паттернов и анти-паттернов для современного #CI_CD. https://www.gronau-it-cloud-computing.de/pattern-and-anti-pattern-cicd/ #design

Чтобы использовать безопасные #iam_policy для #SSM #Session_Manager, придётся использовать длинную простыню правил: https://github.com/applerom/cloudformation-examples/blob/master/ssm/ssm-manager-policy.yml #security

В случаях, когда узким местом становится скорость работы #S3 - не забываем, что дефолтные настройки можно изменить: https://docs.aws.amazon.com/cli/latest/topic/s3-config.html Например, для бакетов, имеющих #S3_Accelerate (в то время как по дефолту use_accelerate_endpoint=false) или просто для увеличения скорости загрузки (или наоборот - для уменьшения нагрузки на виртуалку).

В случаях, когда нужно иметь #StaticIP для #ALB обычно используется #NLB перед ним (который имеет статический IP для каждой зоны) и #lambda, которая отрабатывает регистрации текущих IP у ALB в качестве целей для NLB. https://aws.amazon.com/blogs/networking-and-content-delivery/using-static-ip-addresses-for-application-load-balancers/ С появлением AWS Global Accelerator можно упростить реализацию ALB Static IP, поставив перед ALB #Global_Accelerator (вместо NLB + Lambda). Решение "с перебором" (и более дороже), но может оказаться быстрым "на попробовать" и где-то более удобным в поддержке.

Автоматизация преобразования #NVMe типов #EBS #volume вида /dev/nvme0n1 в обычные /dev/xvdf: https://github.com/oogali/ebs-automatic-nvme-mapping Проблема актуальна для новых Nitro-based виртуалок (C5/M5/T3/etc), где в качестве EBS используются NVMe block devices.

Это боль, когда у тебя больше пяти #AWS_accont (т.к. на текущий момент максимум 5 аккаунтов в history при переключении). Пока амазонозаводчики не порешали это у себя - можно использовать плагин под #Chrome для переключения ролей. https://chrome.google.com/webstore/detail/aws-extend-switch-roles/jpmkfafbacpgapdghgdpembnojdlgkdl?hl=en

Не стоит забывать, что #aws_cli поддерживает linux pipes, а потому, например, для для #s3 многие операции с файлами в бакете можно делать без предварительного их сохранения (используя stdin/stdout): https://loige.co/aws-command-line-s3-content-from-stdin-or-to-stdout/

При планировании новых проектов стоит учитывать новые #AWS #region, которые есть сейчас и которые откроются в ближайшем будущем. Например, для питерских проектов может быть важным, что вскоре появится #AWS в Швеции, а для болгарских - что в Италии. https://aws.amazon.com/about-aws/global-infrastructure/