Configurando o Amazon EventBridge Scheduler - EventBridge Agendador

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Configurando o Amazon EventBridge Scheduler

Antes de usar o EventBridge Scheduler, você deve concluir as etapas a seguir.

Cadastre-se para AWS

Se você não tiver um Conta da AWS, conclua as etapas a seguir para criar um.

Para se inscrever em um Conta da AWS
  1. Abra https://portal.aws.amazon.com/billing/signup.

  2. Siga as instruções on-line.

    Parte do procedimento de inscrição envolve receber uma chamada telefônica e digitar um código de verificação no teclado do telefone.

    Quando você se inscreve em um Conta da AWS, um Usuário raiz da conta da AWSé criado. O usuário-raiz tem acesso a todos os Serviços da AWS e recursos na conta. Como prática recomendada de segurança, atribua o acesso administrativo a um usuário e use somente o usuário-raiz para executar tarefas que exigem acesso de usuário-raiz.

Criar um usuário do IAM

Para criar um usuário administrador, selecione uma das opções a seguir.

Selecionar uma forma de gerenciar o administrador Para Por Você também pode
Centro de Identidade do IAM

(Recomendado)

Use credenciais de curto prazo para acessar a AWS.

Isso está de acordo com as práticas recomendadas de segurança. Para obter informações sobre as práticas recomendadas, consulte Práticas recomendadas de segurança no IAM no Guia do usuário do IAM.

Seguindo as instruções em Conceitos básicos no Guia do usuário do AWS IAM Identity Center . Configure o acesso programático configurando o AWS CLI para uso AWS IAM Identity Center no Guia do AWS Command Line Interface usuário.
No IAM

(Não recomendado)

Use credenciais de curto prazo para acessar a AWS. Seguindo as instruções em Criar o seu primeiro usuário administrador e um grupo de usuários do IAM no Guia do usuário do IAM. Para configurar o acesso programático, consulte Gerenciamento de chaves de acesso de usuários do IAM no Guia do usuário do IAM.

Políticas gerenciadas pelo uso

Na etapa anterior, você configurou um usuário do IAM com as credenciais para acessar seus AWS recursos. Na maioria dos casos, para usar o EventBridge Agendador com segurança, recomendamos que você crie usuários, grupos ou funções separados apenas com as permissões necessárias para usar o Agendador. EventBridge EventBridge O Scheduler oferece suporte às seguintes políticas gerenciadas para casos de uso comuns.

Você pode anexar essas políticas gerenciadas às suas entidades principais do IAM da mesma forma que anexou a política de AdministratorAccess na etapa anterior. Para obter mais informações sobre como gerenciar o acesso ao EventBridge Scheduler usando políticas do IAM baseadas em identidade, consulte. Usar políticas baseadas em identidade

Configurar o perfil de execução

Uma função de execução é uma função do IAM que o EventBridge Scheduler assume para interagir com outras pessoas Serviços da AWS em seu nome. Você anexa políticas de permissão a essa função para conceder ao EventBridge Agendador acesso para invocar alvos.

Você também pode criar uma nova função de execução ao usar o console para criar uma nova agenda. Se você usa o console, o EventBridge Scheduler cria uma função em seu nome com permissões com base no alvo escolhido. Quando o EventBridge Scheduler cria uma função para você, a política de confiança da função inclui chaves de condição que limitam quais diretores podem assumir a função em seu nome. Isso evita o potencial problema de segurança delegada confusa.

As etapas a seguir descrevem como criar uma nova função de execução e como conceder acesso ao EventBridge Scheduler para invocar um destino. Este tópico descreve as permissões para destinos modelados populares. Para obter informações sobre como adicionar permissões para outros destinos, consulte Uso de alvos modelados.

Para criar uma função de execução usando o AWS CLI
  1. Copie a seguinte política JSON de assumir a função e salve-a localmente como Scheduler-Execution-Role.json. Essa política de confiança permite que o EventBridge Scheduler assuma a função em seu nome.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "scheduler.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    Importante

    Para configurar uma função de execução em um ambiente de produção, recomendamos a implementação de salvaguardas adicionais para evitar problemas de segurança delegada confusa. Para obter mais informações e um exemplo de política, consulte Prevenção do problema do “confused deputy”.

  2. No AWS Command Line Interface (AWS CLI), insira o comando a seguir para criar uma nova função. Substitua SchedulerExecutionRole pelo nome que você deseja atribuir a essa função.

    $ aws iam create-role --role-name SchedulerExecutionRole --assume-role-policy-document file://Scheduler-Execution-Role.json

    Se o teste for bem-sucedido, você verá o seguinte resultado:

    {
        "Role": {
            "Path": "/",
            "RoleName": "Scheduler-Execution-Role",
            "RoleId": "BR1L2DZK3K4CTL5ZF9EIL",
            "Arn": "arn:aws:iam::123456789012:role/SchedulerExecutionRole",
            "CreateDate": "2022-03-10T18:45:01+00:00",
            "AssumeRolePolicyDocument": {
                "Version": "2012-10-17",
                "Statement": [
                    {
                        "Effect": "Allow",
                        "Principal": {
                            "Service": "scheduler.amazonaws.com"
                        },
                        "Action": "sts:AssumeRole"
                    }
                ]
            }
        }
    }
  3. Para criar uma nova política que permita que o EventBridge Scheduler invoque um alvo, escolha um dos seguintes alvos comuns. Copie a política de permissão JSON e salve-a localmente como um arquivo .json.

    Amazon SQS – SendMessage

    O seguinte permite que o EventBridge Scheduler chame a sqs:SendMessage ação em todas as filas do Amazon SQS em sua conta.

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "sqs:SendMessage" ], "Effect": "Allow", "Resource": "*" } ] }
    Amazon SNS – Publish

    O seguinte permite que o EventBridge Scheduler execute a sns:Publish ação em todos os tópicos do Amazon SNS em sua conta.

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "sns:Publish" ], "Effect": "Allow", "Resource": "*" } ] }
    Lambda – Invoke

    O seguinte permite que o EventBridge Scheduler chame a lambda:InvokeFunction ação em todas as funções do Lambda em sua conta.

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "lambda:InvokeFunction" ], "Effect": "Allow", "Resource": "*" } ] }
  4. Execute o seguinte comando para criar a nova política de permissão: Substitua PolicyName pelo nome que você deseja atribuir a essa política.

    $ aws iam create-policy --policy-name PolicyName --policy-document file://PermissionPolicy.json

    Se for bem-sucedido, você verá o seguinte resultado: Observe o ARN da política. Você usa esse ARN na próxima etapa para anexar a política à nossa função de execução.

    {
        "Policy": {
            "PolicyName": "PolicyName",
            "CreateDate": "2022-03-015T19:31:18.620Z",
            "AttachmentCount": 0,
            "IsAttachable": true,
            "PolicyId": "ZXR6A36LTYANPAI7NJ5UV",
            "DefaultVersionId": "v1",
            "Path": "/",
            "Arn": "arn:aws:iam::123456789012:policy/PolicyName",
            "UpdateDate": "2022-03-015T19:31:18.620Z"
        }
    }
    
  5. Para associar a política à sua função de execução, execute o comando a seguir. Substitua your-policy-arn pelo ARN da política que você criou na etapa anterior. Substitua SchedulerExecutionRole pelo nome da sua função de execução.

    $ aws iam attach-role-policy --policy-arn your-policy-arn --role-name SchedulerExecutionRole

    A operação attach-role-policy não retorna uma resposta na linha de comando.

Configurar um destino

Antes de criar uma agenda do EventBridge Scheduler, você precisa de pelo menos uma meta para sua agenda invocar. Você pode usar um AWS recurso existente ou criar um novo. As etapas a seguir mostram como criar uma nova fila padrão do Amazon SQS com. AWS CloudFormation

Criar uma nova fila do Amazon SQS
  1. Copie o AWS CloudFormation modelo JSON a seguir e salve-o localmente comoSchedulerTargetSQS.json.

    { "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "MyQueue": { "Type": "AWS::SQS::Queue", "Properties": { "QueueName": "MyQueue" } } }, "Outputs": { "QueueName": { "Description": "The name of the queue", "Value": { "Fn::GetAtt": [ "MyQueue", "QueueName" ] } }, "QueueURL": { "Description": "The URL of the queue", "Value": { "Ref": "MyQueue" } }, "QueueARN": { "Description": "The ARN of the queue", "Value": { "Fn::GetAtt": [ "MyQueue", "Arn" ] } } } }
  2. A partir do AWS CLI, execute o comando a seguir para criar uma AWS CloudFormation pilha a partir do Scheduler-Target-SQS.json modelo.

    $ aws cloudformation create-stack --stack-name Scheduler-Target-SQS --template-body file://Scheduler-Target-SQS.json

    Se o teste for bem-sucedido, você verá o seguinte resultado:

    {
        "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/Scheduler-Target-SQS/1d2af345-a121-12eb-abc1-012e34567890"
    }
  3. Execute o comando a seguir para ver as informações resumidas da sua AWS CloudFormation pilha. Essas informações incluem o status da pilha e as saídas especificadas no modelo.

    $ aws cloudformation describe-stacks --stack-name Scheduler-Target-SQS

    Se for bem-sucedido, o comando cria a fila Amazon SQS e retorna a seguinte saída:

    {
        "Stacks": [
            {
                "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/Scheduler-Target-SQS/1d2af345-a121-12eb-abc1-012e34567890",
                "StackName": "Scheduler-Target-SQS",
                "CreationTime": "2022-03-17T16:21:29.442000+00:00",
                "RollbackConfiguration": {},
                "StackStatus": "CREATE_COMPLETE",
                "DisableRollback": false,
                "NotificationARNs": [],
                "Outputs": [
                    {
                        "OutputKey": "QueueName",
                        "OutputValue": "MyQueue",
                        "Description": "The name of the queue"
                    },
                    {
                        "OutputKey": "QueueARN",
                        "OutputValue": "arn:aws:sqs:us-west-2:123456789012:MyQueue",
                        "Description": "The ARN of the queue"
                    },
                    {
                        "OutputKey": "QueueURL",
                        "OutputValue": "https://sqs.us-west-2.amazonaws.com/123456789012/MyQueue",
                        "Description": "The URL of the queue"
                    }
                ],
                "Tags": [],
                "EnableTerminationProtection": false,
                "DriftInformation": {
                    "StackDriftStatus": "NOT_CHECKED"
                }
            }
        ]
    }

    Posteriormente neste guia, você usará o valor de QueueARN para configurar a fila como destino para o EventBridge Scheduler.

Próximas etapas

Depois de concluir a etapa de configuração, use o guia de introdução para criar seu primeiro EventBridge agendador do Scheduler e invocar um alvo.