Ответы пользователя по тегу Amazon Web Services
  • Как организовать парралельные вычисления на Node и AWS?

    Viji
    @Viji
    DevOps Engineer
    а почему не использовать Lambda с boto3 python? Там больше примеров...

    У меня была длинная задача на Лямбде, я записывал проемеж значения в sqs queue и доставал во время след запуска Лямбды. Также можно использовать step functions

    https://aws.amazon.com/ru/step-functions/?nc1=h_ls...
    Ответ написан
    Комментировать
  • Отправка пуш-нотификаций батчем в AWS SNS?

    Viji
    @Viji
    DevOps Engineer
    Один SNS топик может иметь большое количество подписчиков. Где-то в своем сервисе ты публикуешь сообщение для топика и все подписчики получают его. Таким образом, я бы разделил каждый топик для своего типа нотификации. Но ты не можешь пушить больше, чем 1 сообщение за 1 вызов api.

    Советую использовать SQS queue, там есть batch push of messages. Кроме того создать Lambda, кот будет вызываться каждый раз как в SQS будут messages. Lambda может забирать эти сообщения из SQS и отправлять разным бакэндам, на основе, например какого-либо поля в сообщении. Также нужно deadletter sqs queue, для тех сообщений, которые не были обработаны по каким-то причинам и остались в main queue.
    Ответ написан
    2 комментария
  • Как подтягивать boto3 пакет из локального каталога?

    Viji
    @Viji Автор вопроса
    DevOps Engineer
    Вот это работает:

    >>> import sys
    >>> sys.path.insert(0, 'packages')
    >>> from packages  import boto3
    Ответ написан
    Комментировать
  • Стоит ли при запуске RabbitMQ в кластере кубернетес использовать NFS для Persistent Volumes?

    Viji
    @Viji Автор вопроса
    DevOps Engineer
    Я не согласен с вашим ответом!

    EFS нужно для шаринга данных между несколькими сетевыми ресурсами когда создание кластера предполагает изолированные инстансы - именно это требуется, потому что все работает в Кубернетес и RabbitMQ pods будут в разных availability zones.

    Сообщения не потеряются если уже сохранены на EBS, но про бэкапы забывать не надо... хорошо, а если зона упадет, что делать будем? Насколько хорошо вы знаете Rabbit - при потере storage сообщения теряются, или если mirroring есть, то он все равно будет продолжать работать?

    Использование RabbitMQ в AWS вообще дорогое и бесполезное занятие когда есть SQS, SNS, EventBridge, Kinesis, MSK, Amazon MQ, ... - это согласен, но переписывать код никто не будет, много legacy накопилось
    Ответ написан
    Комментировать
  • Как ограничить использование reserved instance одним аккаунтом в организации?

    Viji
    @Viji Автор вопроса
    DevOps Engineer
    Спасибо эта фраза была важной:

    The account that originally purchased the Reserved Instance receives the discount first. If the purchasing account doesn't have any instances that match the terms of the Reserved Instance, the discount for the Reserved Instance is assigned to any matching usage on another account in the organization.
    Ответ написан
    Комментировать
  • Почему Django + AWS & Nginx в продакшене не работает?

    Viji
    @Viji
    DevOps Engineer
    Привет, NGINX работает на EC2 ? Если так, то создай роль в Амазон IAM для EC2 инстанс с read permission на этот bucket. После этого при заходе на nginx сервер, через ssh, ты должен выполнять команду curl и картинка должна скачиваться без всяких AWS_ACCESS_KEY.
    Ответ написан
  • Как добавить policy к assumed user? Или почему это невозможно?

    Viji
    @Viji Автор вопроса
    DevOps Engineer
    Все работает Иван Шумов )) - надо просто при вызове

    sts assume-role добавить желаемые policy с помощью аргумента --policy-arns (list)
    Ответ написан
    Комментировать
  • Как лучше готовиться к экзамену AWS Solution Architect Professional?

    Viji
    @Viji Автор вопроса
    DevOps Engineer
    Таким образом имеем следующие ресурсы:

    1. https://cloudacademy.com/
    2. https://linuxacademy.com/
    3. https://acloud.guru/

    на мой взгляд acloud.guru слабоват, если судить по моему экзамену Associate Architect. Очень многие вещи он учит вскользь. Пришлось много дополнительного материала смотреть чтобы сдать экзамен. Может и на других будет также.

    https://www.qwiklabs.com/ охватывает только специфические темы и не готовит конкретно к сертификации.
    Ответ написан
    Комментировать
  • Как вызывать AWS API используя временные credentials?

    Viji
    @Viji Автор вопроса
    DevOps Engineer
    А вот и скриптик ))

    #!/bin/bash

    #12-digit number after iam:: is an account ID of the child organization account
    full_session_data=$(aws sts assume-role --role-arn arn:aws:iam::123456789012:role/OrganizationAccountAccessRole --duration-seconds 900 --role-session-name mini-admin --query "Credentials" --output json | tr -d '{' | tr -d '}' | sed 's/ //g' | tr -d '\n')
    AccessKeyId=$(echo $full_session_data | cut -d, -f1 | awk -F'":"' '{print $2}' | tr -d '"')
    SecretAccessKey=$(echo $full_session_data | cut -d, -f2 | awk -F'":"' '{print $2}' | tr -d '"')
    SessionToken=$(echo $full_session_data | cut -d, -f3 | awk -F'":"' '{print $2}' | tr -d '"')

    echo $AccessKeyId
    echo $SecretAccessKey
    echo $SessionToken

    export AWS_ACCESS_KEY_ID=$AccessKeyId
    export AWS_SECRET_ACCESS_KEY=$SecretAccessKey
    export AWS_SESSION_TOKEN=$SessionToken

    #get all the regions to check each one for aws resources
    regions=`aws ec2 describe-regions | grep RegionName | grep -o "[[:alnum:]]*\-[[:alnum:]]*\-[[:alnum:]]*" | tr '\n' ',' | sed 's/.$//'`
    echo $regions
    for eachregion in $(echo $regions | sed "s/,/ /g")
    do
    echo "for the region of ""$eachregion"" we have the following VPCs:"
    aws ec2 describe-vpcs --region $eachregion | grep "VpcId"
    done # end of instances cycle / for all regions
    Ответ написан