View a markdown version of this page

Configuración de Amazon EventBridge Scheduler - EventBridge Planificador

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configuración de Amazon EventBridge Scheduler

Antes de poder utilizar EventBridge Scheduler, debe completar los siguientes pasos.

Registrarse en AWS

Inscríbase en una Cuenta de AWS

Para empezar AWS, necesitas un Cuenta de AWS. Para obtener información sobre cómo crear un Cuenta de AWS, consulte Cómo empezar con un Cuenta de AWS en la Guía de AWS Account Management referencia.

Usar políticas administradas por

Después de configurar su AWS cuenta y su usuario administrativo, le recomendamos que cree usuarios, grupos o roles independientes con solo los permisos necesarios para usar EventBridge Scheduler. EventBridge Scheduler admite las siguientes políticas administradas para casos de uso comunes.

  • AmazonEventBridgeSchedulerFullAccess — Otorga acceso completo a EventBridge Scheduler mediante la consola y la API.

  • AmazonEventBridgeSchedulerReadOnlyAccess — Otorga acceso de solo lectura al Scheduler. EventBridge

Puede adjuntar estas políticas gestionadas a sus principios de IAM. Para obtener más información sobre cómo administrar el acceso a EventBridge Scheduler mediante políticas de IAM basadas en la identidad, consulte. Uso de políticas basadas en la identidad en Scheduler EventBridge

Configurar el rol de ejecución

Una función de ejecución es una función de IAM que EventBridge Scheduler asume para interactuar con otras personas en su nombre. Servicios de AWS Debe adjuntar políticas de permisos a esta función para conceder a EventBridge Scheduler acceso a los objetivos.

También puede crear una nueva función de ejecución cuando utilice la consola para crear una nueva programación. Si utilizas la consola, EventBridge Scheduler crea un rol en tu nombre con permisos en función del destino que elijas. Cuando EventBridge Scheduler crea un rol para ti, la política de confianza del rol incluye claves de condición que limitan los directores que pueden asumir el rol en tu nombre. Esto protege contra el posible problema de seguridad del suplente adjunto.

En los siguientes pasos se describe cómo crear un nuevo rol de ejecución y cómo conceder a EventBridge Scheduler acceso para invocar un objetivo. En este tema se describen los permisos para los destinos basados en plantillas más populares. Para obtener información sobre cómo añadir permisos para otros destinos, consulte Uso de objetivos con plantillas en EventBridge Scheduler.

Para crear un rol de ejecución mediante el AWS CLI
  1. Copie la siguiente política JSON de asumir rol y guárdela localmente como Scheduler-Execution-Role.json. Esta política de confianza permite a EventBridge Scheduler asumir la función en su nombre.

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

    Para configurar un rol de ejecución en un entorno de producción, recomendamos implementar medidas de seguridad adicionales para evitar errores del suplente confuso. Para obtener más información y una política de ejemplo, consulte Prevención de errores confusa en Scheduler EventBridge.

  2. Desde AWS Command Line Interface (AWS CLI), ingresa el siguiente comando para crear un nuevo rol. Sustituya SchedulerExecutionRole por el nombre que desee asignar a este rol.

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

    Si todo va bien, obtendrá el siguiente 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 crear una nueva política que permita a EventBridge Scheduler invocar un destino, elija uno de los siguientes destinos comunes. Copie la política de permisos de JSON y guárdela localmente como un archivo .json.

    Amazon SQS – SendMessage

    Lo siguiente permite a EventBridge Scheduler realizar la sqs:SendMessage acción en todas las colas de Amazon SQS de su cuenta.

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

    Lo siguiente permite a EventBridge Scheduler llamar a la sns:Publish acción en todos los temas de Amazon SNS de su cuenta.

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

    Lo siguiente permite a EventBridge Scheduler ejecutar la lambda:InvokeFunction acción en todas las funciones de Lambda de su cuenta.

    JSON
    JSON
    { "Version":"2012-10-17", "Statement": [ { "Action": [ "lambda:InvokeFunction" ], "Effect": "Allow", "Resource": "*" } ] }
  4. Ejecute el siguiente comando para crear la nueva política de permisos. Sustituya PolicyName por el nombre que desee asignar a esta política.

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

    Si todo va bien, obtendrá el siguiente resultado. Anote el ARN de la política. Utilice este ARN en el siguiente paso para asociar la política a nuestro rol de ejecución.

    {
        "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. Ejecute el siguiente comando para adjuntar la política a su rol de ejecución. Sustituya your-policy-arn por el ARN de la política que creó en el paso anterior. Sustituya SchedulerExecutionRole por el nombre de su rol de ejecución.

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

    La operación attach-role-policy no devuelve una respuesta en la línea de comandos.

Configurar un destino

Antes de crear una EventBridge programación de Scheduler, necesita al menos un objetivo para que la programación la invoque. Puedes usar un AWS recurso existente o crear uno nuevo. Los siguientes pasos muestran cómo crear una nueva cola estándar de Amazon SQS con. CloudFormation

Para crear una nueva cola de Amazon SQS
  1. Copie la siguiente CloudFormation plantilla JSON y guárdela localmente como. Scheduler-Target-SQS.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. Desde AWS CLI, ejecuta el siguiente comando para crear una CloudFormation pila a partir de la Scheduler-Target-SQS.json plantilla.

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

    Si todo va bien, obtendrá el siguiente resultado:

    {
        "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/Scheduler-Target-SQS/1d2af345-a121-12eb-abc1-012e34567890"
    }
  3. Ejecute el siguiente comando para ver la información resumida de la CloudFormation pila. Esta información incluye el estado de la pila y los resultados especificados en la plantilla.

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

    Si la operación se realiza correctamente, el comando crea la cola de Amazon SQS y devuelve el siguiente resultado:

    {
        "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"
                }
            }
        ]
    }

    Más adelante en esta guía, utilizarás el valor for QueueARN para configurar la cola como destino de EventBridge Scheduler.

Siguientes pasos

Cuando hayas completado el paso de configuración, usa la guía de introducción para crear tu primer EventBridge programador de Scheduler e invocar un objetivo.