3단계: 유지 관리 기간에 작업 등록(AWS CLI) - AWS Systems Manager

3단계: 유지 관리 기간에 작업 등록(AWS CLI)

튜토리얼의 이 단계에서는 Linux용 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 df 명령을 실행하는 AWS Systems Manager Run Command 태스크를 등록합니다. 이 표준 Linux 명령의 결과는 사용 가능한 공간의 양과 인스턴스의 디스크 파일 시스템에서 사용되는 공간의 양을 표시합니다.

-또는-

예를 들어 Linux 대신 Windows Server용 Amazon EC2 인스턴스를 대상으로 지정하는 경우 다음 명령에서 dfipconfig로 바꿉니다. 이 명령의 출력에는 대상 인스턴스의 어댑터에 대한 IP 주소, 서브넷 마스크 및 기본 게이트웨이 세부 정보가 나열됩니다.

다른 태스크 유형을 등록할 준비가 되었거나 사용 가능한 Systems Manager Run Command 옵션 중 더 많은 옵션을 사용할 준비가 되면 예제: 유지 관리 기간에 작업 등록 섹션을 참조하세요. 여기서는 보다 광범위한 실제 시나리오를 계획하는 데 도움이 되는 네 가지 작업 유형 및 가장 중요한 옵션에 대한 자세한 정보를 제공합니다.

유지 관리 기간에 작업을 등록하려면
  1. 로컬 시스템에서 다음 명령을 실행합니다. 각 example resource placeholder를 사용자의 정보로 바꿉니다. 로컬 Windows 시스템에서 실행할 버전에는 명령줄 도구에서 명령을 실행하는 데 필요한 이스케이프 문자("/")가 포함됩니다.

    Linux & macOS
    aws ssm register-task-with-maintenance-window \ --window-id mw-0c50858d01EXAMPLE \ --task-arn "AWS-RunShellScript" \ --max-concurrency 1 --max-errors 1 \ --priority 10 \ --targets "Key=InstanceIds,Values=i-0471e04240EXAMPLE" \ --task-type "RUN_COMMAND" \ --task-invocation-parameters '{"RunCommand":{"Parameters":{"commands":["df"]}}}'
    Windows
    aws ssm register-task-with-maintenance-window ^ --window-id mw-0c50858d01EXAMPLE ^ --task-arn "AWS-RunShellScript" ^ --max-concurrency 1 --max-errors 1 ^ --priority 10 ^ --targets "Key=InstanceIds,Values=i-02573cafcfEXAMPLE" ^ --task-type "RUN_COMMAND" ^ --task-invocation-parameters={\"RunCommand\":{\"Parameters\":{\"commands\":[\"df\"]}}}

    시스템은 다음과 유사한 정보를 반환합니다.

    {
        "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE"
    }
  2. 이제 다음 명령을 실행하여 생성한 유지 관리 기간 작업에 대한 세부 정보를 봅니다.

    Linux & macOS
    aws ssm describe-maintenance-window-tasks \ --window-id mw-0c50858d01EXAMPLE
    Windows
    aws ssm describe-maintenance-window-tasks ^ --window-id mw-0c50858d01EXAMPLE
  3. 시스템은 다음과 유사한 정보를 반환합니다.

    {
        "Tasks": [
            {
                "WindowId": "mw-0c50858d01EXAMPLE",
                "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE",
                "TaskArn": "AWS-RunShellScript",
                "Type": "RUN_COMMAND",
                "Targets": [
                    {
                        "Key": "InstanceIds",
                        "Values": [
                            "i-02573cafcfEXAMPLE"
                        ]
                    }
                ],
                "TaskParameters": {},
                "Priority": 10,
                "ServiceRoleArn": "arn:aws:iam::123456789012:role/MyMaintenanceWindowServiceRole",
                "MaxConcurrency": "1",
                "MaxErrors": "1"
            }
        ]
    }
  4. 1단계: 유지 관리 기간 생성(AWS CLI) 단원에서 지정한 일정에 따라 작업을 실행할 시간이 될 때까지 기다립니다. 예를 들어 --schedule "rate(5 minutes)"를 지정한 경우 5분 동안 기다립니다. 기다린 후 다음 명령을 실행하여 이 작업에 대해 발생한 모든 실행에 대한 정보를 봅니다.

    Linux & macOS
    aws ssm describe-maintenance-window-executions \ --window-id mw-0c50858d01EXAMPLE
    Windows
    aws ssm describe-maintenance-window-executions ^ --window-id mw-0c50858d01EXAMPLE

    시스템은 다음과 유사한 정보를 반환합니다.

    {
        "WindowExecutions": [
            {
                "WindowId": "mw-0c50858d01EXAMPLE",
                "WindowExecutionId": "14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE",
                "Status": "SUCCESS",
                "StartTime": 1557593493.096,
                "EndTime": 1557593498.611
            }
        ]
    }
작은 정보

태스크가 성공적으로 실행되면 유지 관리 기간이 실행되는 속도를 줄일 수 있습니다. 예를 들어 빈도를 주 1회로 줄이려면 다음 명령을 실행합니다. mw-0c50858d01EXAMPLE을 사용자의 정보로 바꿉니다.

Linux & macOS
aws ssm update-maintenance-window \ --window-id mw-0c50858d01EXAMPLE \ --schedule "rate(7 days)"
Windows
aws ssm update-maintenance-window ^ --window-id mw-0c50858d01EXAMPLE ^ --schedule "rate(7 days)"

유지 관리 기간 일정 관리에 대한 자세한 내용은 참조: Systems Manager용 Cron 및 Rate 표현식유지 관리 기간 예약 및 유효 기간 옵션 섹션을 참조하세요.

AWS Command Line Interface(AWS CLI)를 사용하여 유지 관리 기간을 수정하는 방법에 대한 자세한 내용은 자습서: 유지 관리 기간 업데이트(AWS CLI) 섹션을 참조하세요.

AWS CLI 명령을 실행하여 유지 관리 기간 작업 및 실행에 대한 자세한 내용을 보는 연습은 자습서: 작업 및 작업 실행에 대한 정보 보기(AWS CLI) 섹션을 참조하세요.

자습서 명령 출력 정보

유지 관리 기간 태스크 실행과 관련된 Run Command 명령의 출력을 보기 위해 AWS CLI를 사용하는 것은 이 튜토리얼에서 다루지 않습니다.

그러나 AWS CLI를 사용하여 이 데이터를 볼 수 있습니다. 명령 출력을 저장하는 유지 관리 기간을 구성한 경우 Systems Manager 콘솔 또는 Amazon Simple Storage Service(Amazon S3) 버킷에 저장된 로그 파일에서 출력을 볼 수도 있습니다. Linux용 EC2 인스턴스에서는 df 명령의 출력이 다음과 유사합니다.

Filesystem 1K-blocks Used Available Use% Mounted on

devtmpfs 485716 0 485716 0% /dev

tmpfs 503624 0 503624 0% /dev/shm

tmpfs 503624 328 503296 1% /run

tmpfs 503624 0 503624 0% /sys/fs/cgroup

/dev/xvda1 8376300 1464160 6912140 18% /

Windows Server용 EC2 인스턴스에 대한 ipconfig 명령의 출력은 다음과 유사합니다.

Windows IP Configuration


Ethernet adapter Ethernet 2:

   Connection-specific DNS Suffix  . : example.com
   IPv4 Address. . . . . . . . . . . : 10.24.34.0/23
   Subnet Mask . . . . . . . . . . . : 255.255.255.255
   Default Gateway . . . . . . . . . : 0.0.0.0

Ethernet adapter Ethernet:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . : abc1.wa.example.net

Wireless LAN adapter Local Area Connection* 1:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Wireless LAN adapter Wi-Fi:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::100b:c234:66d6:d24f%4
   IPv4 Address. . . . . . . . . . . : 192.0.2.0
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.0.2.0

Ethernet adapter Bluetooth Network Connection:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :