유지 관리 기간 작업 등록 시 의사 파라미터 사용 - AWS Systems Manager

유지 관리 기간 작업 등록 시 의사 파라미터 사용

AWS Systems Manager의 기능인 Maintenance Windows에 작업을 등록할 때 4가지 각 작업 유형에 고유한 파라미터를 지정합니다. (CLI 명령에서는 --task-invocation-parameters 옵션을 사용하여 제공됩니다.)

{{RESOURCE_ID}}, {{TARGET_TYPE}}, {{WINDOW_TARGET_ID}} 등의 의사 파라미터 구문을 사용하여 특정 값을 참조할 수도 있습니다. 유지 관리 기간 작업이 실행되면 의사 파라미터 자리표시자 대신 올바른 값을 전달합니다. 사용할 수 있는 의사 파라미터의 전체 목록은 이 주제 후반부의 지원되는 가상 파라미터 섹션에 제공됩니다.

중요

대상 유형 RESOURCE_GROUP의 경우 작업에 필요한 ID 형식에 따라 작업이 실행될 때 {{TARGET_ID}}{{RESOURCE_ID}}를 사용하여 리소스를 참조하도록 선택할 수 있습니다. {{TARGET_ID}}는 리소스의 전체 ARN을 반환합니다. {{RESOURCE_ID}}는 다음 예와 같이 더 짧은 이름 또는 리소스 ID만 반환합니다.

  • {{TARGET_ID}} 형식: arn:aws:ec2:us-east-1:123456789012:instance/i-02573cafcfEXAMPLE

  • {{RESOURCE_ID}} 형식: i-02573cafcfEXAMPLE

대상 유형 INSTANCE의 경우 {{TARGET_ID}}{{RESOURCE_ID}} 파라미터는 모두 인스턴스 ID만 산출합니다. 자세한 내용은 지원되는 가상 파라미터 단원을 참조하십시오.

{{TARGET_ID}}{{RESOURCE_ID}}를 사용하여 AWS 리소스의 ID만 Automation, Lambda 및 Step Functions 태스크에 전달할 수 있습니다. Run Command 태스크에는 이 2가지 의사 파라미터를 사용할 수 없습니다.

가상 파라미터 예제

AWS Lambda 태스크에 대한 페이로드가 ID를 기준으로 인스턴스를 참조해야 한다고 가정합니다.

INSTANCE 유지 관리 기간을 사용하든 RESOURCE_GROUP 유지 관리 기간 대상을 사용하든 관계없이, {{RESOURCE_ID}} 의사 파라미터를 사용하여 이 작업을 수행할 수 있습니다. 예제:

"TaskArn": "arn:aws:lambda:us-east-2:111122223333:function:SSMTestFunction", "TaskType": "LAMBDA", "TaskInvocationParameters": { "Lambda": { "ClientContext": "ew0KICAi--truncated--0KIEXAMPLE", "Payload": "{ \"instanceId\": \"{{RESOURCE_ID}}\" }", "Qualifier": "$LATEST" } }

Amazon DynamoDB 테이블 같은 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스 외에 지원되는 다른 대상 유형에 대해 Lambda 태스크를 실행하려는 경우 동일한 구문을 사용할 수 있으며 {{RESOURCE_ID}}는 테이블 이름만 산출합니다. 그러나 테이블의 전체 ARN이 필요한 경우 다음 예와 같이 {{TARGET_ID}}를 사용합니다.

"TaskArn": "arn:aws:lambda:us-east-2:111122223333:function:SSMTestFunction", "TaskType": "LAMBDA", "TaskInvocationParameters": { "Lambda": { "ClientContext": "ew0KICAi--truncated--0KIEXAMPLE", "Payload": "{ \"tableArn\": \"{{TARGET_ID}}\" }", "Qualifier": "$LATEST" } }

인스턴스 또는 기타 리소스 유형을 대상으로 하는 경우에도 동일한 구문이 적용됩니다. 리소스 그룹에 여러 리소스 유형이 추가된 경우 해당 리소스 각각에 대해 작업이 실행됩니다.

중요

리소스 그룹에 포함될 수 있는 모든 리소스 유형이 {{RESOURCE_ID}} 파라미터 값을 산출하는 것은 아닙니다. 지원되는 리소스 유형 목록은 지원되는 가상 파라미터 섹션을 참조하세요.

또 다른 예로, EC2 인스턴스를 중지하는 Automation 태스크를 실행하려면 AWS-StopEC2Instance Systems Manager 문서(SSM 문서)를 TaskArn 값으로 지정하고 {{RESOURCE_ID}} 의사 파라미터를 사용합니다.

"TaskArn": "AWS-StopEC2Instance", "TaskType": "AUTOMATION" "TaskInvocationParameters": { "Automation": { "DocumentVersion": "1", "Parameters": { "instanceId": [ "{{RESOURCE_ID}}" ] } } }

Amazon Elastic Block Store(Amazon EBS) 볼륨의 스냅샷을 복사하는 Automation 태스크를 실행하려면 AWS-CopySnapshot SSM 문서를 TaskArn 값으로 지정하고 {{RESOURCE_ID}} 의사 파라미터를 사용합니다.

"TaskArn": "AWS-CopySnapshot", "TaskType": "AUTOMATION" "TaskInvocationParameters": { "Automation": { "DocumentVersion": "1", "Parameters": { "SourceRegion": "us-east-2", "targetType":"RESOURCE_GROUP", "SnapshotId": [ "{{RESOURCE_ID}}" ] } } }

지원되는 가상 파라미터

다음 목록은 --task-invocation-parameters 옵션의 {{PSEUDO_PARAMETER}} 구문을 사용하여 지정할 수 있는 의사 파라미터를 설명합니다.

  • WINDOW_ID: 대상 유지 관리 기간의 ID입니다.

  • WINDOW_TASK_ID: 실행 중인 기간 태스크의 ID입니다.

  • WINDOW_TARGET_ID: 대상을 포함하는 기간 대상의 ID(대상 ID)입니다.

  • WINDOW_EXECUTION_ID: 현재 실행 기간의 ID입니다.

  • TASK_EXECUTION_ID: 현재 실행 작업의 ID입니다.

  • INVOCATION_ID: 현재 호출의 ID입니다.

  • TARGET_TYPE: 대상의 유형입니다. 지원되는 유형에는 RESOURCE_GROUPINSTANCE가 있습니다.

  • TARGET_ID:

    지정한 대상 유형이 INSTANCE인 경우 TARGET_ID 의사 파라미터는 인스턴스의 ID로 바뀝니다. 예: i-078a280217EXAMPLE.

    지정한 대상 유형이 RESOURCE_GROUP인 경우 태스크 실행에 참조되는 값은 리소스의 전체 ARN입니다. 예: arn:aws:ec2:us-east-1:123456789012:instance/i-078a280217EXAMPLE. 다음 표에서는 리소스 그룹의 특정 리소스 유형에 대한 샘플 TARGET_ID 값을 제공합니다.

    참고

    Run Command 태스크에는 TARGET_ID가 지원되지 않습니다.

    리소스 유형 TARGET_ID 예
    AWS::CloudWatch::Alarm arn:aws:cloudwatch:us-east-1:123456789012:alarm:MyCloudWatchAlarmi-078a280217EXAMPLE
    AWS::EC2::Instance arn:aws:ec2:us-east-1:123456789012:instance/i-078a280217EXAMPLE
    AWS::EC2::Image arn:aws:ec2:us-east-1:123456789012:image/ami-02250b3732EXAMPLE
    AWS::EC2::SecurityGroup arn:aws:ec2:us-east-1:123456789012:security-group/sg-cEXAMPLE
    AWS::EC2::Snapshot arn:aws:ec2:us-east-1:123456789012:snapshot/snap-03866bf003EXAMPLE
    AWS::EC2::Volume arn:aws:ec2:us-east-1:123456789012:volume/vol-0912e04d78EXAMPLE
    AWS::DynamoDB::Table arn:aws:dynamodb:us-east-1:123456789012:table/MyTable
    AWS::RDS::DBCluster arn:aws:rds:us-east-2:123456789012:cluster:My-Cluster

    AWS::RDS::DBInstance

    arn:aws:rds:us-east-1:123456789012:db:My-SQL-Instance
    AWS::S3::Bucket arn:aws:s3::: amzn-s3-demo-bucket

    AWS::SSM::ManagedInstance

    arn:aws:ssm:us-east-1:123456789012:managed-instance/mi-0feadcf2d9EXAMPLE
  • RESOURCE_ID: 리소스 그룹에 포함된 리소스 유형의 짧은 ID입니다. 다음 표에서는 리소스 그룹의 특정 리소스 유형에 대한 샘플 RESOURCE_ID 값을 제공합니다.

    참고

    Run Command 태스크에는 RESOURCE_ID가 지원되지 않습니다.

    리소스 유형 RESOURCE_ID 예
    AWS::CloudWatch::Alarm MyCloudWatchAlarm
    AWS::EC2::Instance i-078a280217EXAMPLE
    AWS::EC2::Image ami-02250b3732EXAMPLE
    AWS::EC2::SecurityGroup sg-cEXAMPLE
    AWS::EC2::Snapshot snap-03866bf003EXAMPLE
    AWS::EC2::Volume vol-0912e04d78EXAMPLE
    AWS::DynamoDB::Table MyTable
    AWS::RDS::DBCluster My-Cluster
    AWS::RDS::DBInstance My-SQL-Instance
    AWS::S3::Bucket amzn-s3-demo-bucket
    AWS::SSM::ManagedInstance mi-0feadcf2d9EXAMPLE
    참고

    지정한 AWS 리소스 그룹에 RESOURCE_ID 값을 산출하지 않는 리소스 유형이 포함되어 있고 위 표에 나열되지 않은 경우 RESOURCE_ID 파라미터가 채워지지 않습니다. 해당 리소스에 대해 실행 호출이 계속 발생합니다. 이러한 경우 대신 TARGET_ID 의사 파라미터를 사용합니다. 이 파라미터는 리소스의 전체 ARN으로 대체됩니다.