기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
에서 Systems Manager SSM 문서 사용 AWS FIS
AWS FIS 는 에이전트 및 AWS FIS 작업을 통해 AWS Systems Manager SSM 사용자 지정 오류 유형을 지원합니다aws:ssm:send-command. 일반적인 오류 주입 작업을 생성하는 데 사용할 수 있는 사전 구성된 Systems Manager SSM 문서(SSM 문서)는 AWSFIS- 접두사로 시작하는 퍼블릭 AWS 문서로 사용할 수 있습니다.
SSM 에이전트는 Amazon EC2 인스턴스, 온프레미스 서버 또는 가상 머신()에 설치하고 구성할 수 있는 Amazon 소프트웨어입니다VMs. 이를 통해 Systems Manager가 이러한 리소스를 관리할 수 있습니다. 에이전트는 Systems Manager의 요청을 처리하고 요청에 지정된 대로 실행합니다. 사용자 지정 오류를 주입하거나 Amazon 소유의 퍼블릭 SSM 문서 중 하나를 참조하기 위해 자체 문서를 포함할 수 있습니다.
요구 사항
SSM 에이전트가 대상에서 작업을 실행해야 하는 작업의 경우 다음을 확인해야 합니다.
-
에이전트가 대상에 설치되어 있습니다. SSM 에이전트는 일부 Amazon Machine Images()에 기본적으로 설치됩니다AMIs. 그렇지 않으면 인스턴스에 SSM 에이전트를 설치할 수 있습니다. 자세한 내용은 AWS Systems Manager 사용 설명서의 EC2 인스턴스용 SSM 에이전트 수동 설치를 참조하세요.
-
Systems Manager에는 인스턴스에서 작업을 수행할 수 있는 권한이 있습니다. IAM 인스턴스 프로파일을 사용하여 액세스 권한을 부여합니다. 자세한 내용은 AWS Systems Manager 사용 설명서의 Systems Manager용 IAM 인스턴스 프로파일 생성 및 IAM 인스턴스 프로파일 EC2 인스턴스에 연결을 참조하세요.
를 사용합니다.aws:ssm:send-command 작업
SSM 문서는 Systems Manager가 관리형 인스턴스에서 수행하는 작업을 정의합니다. Systems Manager에는 사전 구성된 여러 문서가 포함되어 있으며 사용자가 직접 만들 수도 있습니다. 자체 SSM 문서 생성에 대한 자세한 내용은 AWS Systems Manager 사용 설명서의 Systems Manager 문서 생성을 참조하세요. 일반적인 SSM 문서에 대한 자세한 내용은 AWS Systems Manager 사용 설명서의 AWS Systems Manager 문서를 참조하세요.
AWS FIS 는 사전 구성된 SSM 문서를 제공합니다. AWS Systems Manager 콘솔의 SSM 문서: 문서 아래에서 사전 구성된 https://console.aws.amazon.com/systems-manager/문서를
실험에서 SSM 문서를 사용하려면 aws:ssm:send-command 작업을 사용할 수 있습니다 AWS FIS. 이 작업은 대상 인스턴스에서 지정된 SSM 문서를 가져오고 실행합니다.
실험 템플릿에서 aws:ssm:send-command
작업을 사용할 때는 다음을 포함하여 작업에 대한 추가 파라미터를 지정해야 합니다.
-
documentArn - 필수입니다. SSM 문서의 Amazon 리소스 이름(ARN)입니다.
-
documentParameters - 조건부. SSM 문서가 허용하는 필수 및 선택적 파라미터입니다. 형식은 문자열인 키와 문자열 또는 문자열 배열인 값이 있는 JSON 객체입니다.
-
documentVersion – 선택 사항입니다. 실행할 SSM 문서의 버전입니다.
Systems Manager 콘솔 또는 명령줄을 사용하여 SSM 문서에 대한 정보(문서의 파라미터 포함)를 볼 수 있습니다.
콘솔을 사용하여 SSM 문서에 대한 정보를 보려면
-
에서 AWS Systems Manager 콘솔을 엽니다https://console.aws.amazon.com/systems-manager/
. -
탐색 창에서 Documents를 선택합니다.
-
문서를 선택하고 세부 정보 탭을 선택합니다.
명령줄을 사용하여 SSM 문서에 대한 정보를 보려면
SSM describe-document 명령을 사용합니다.
사전 구성된 AWS FIS SSM 문서
실험 템플릿의 aws:ssm:send-command
작업과 함께 사전 구성된 AWS FIS SSM 문서를 사용할 수 있습니다.
요구 사항
-
에서 제공하는 AWS FIS 사전 구성된 SSM 문서는 다음 운영 체제에서만 지원됩니다.
Amazon Linux 2023, Amazon Linux 2, Amazon Linux
Ubuntu
RHEL 7, 8, 9
CentOS 8, 9
-
에서 제공하는 AWS FIS 사전 구성된 SSM 문서는 EC2 인스턴스에서만 지원됩니다. 온프레미스 서버 등, 다른 유형의 관리형 노드에서는 지원되지 않습니다.
이러한 SSM 문서를 ECS 태스크 실험에 사용하려면 해당 를 사용합니다Amazon ECS 작업. 예를 들어, aws:ecs:task-cpu-stress 작업은 AWSFIS-Run-CPU-Stress document.
문서
작업 기간과 DurationSeconds AWS FIS SSM 문서의 차이
일부 SSM 문서는 자체 실행 시간을 제한합니다. 예를 들어 DurationSeconds 파라미터는 사전 구성된 AWS FIS 일부 SSM 문서에서 사용됩니다. 따라서 작업 정의에 AWS FIS 두 개의 독립 기간을 지정해야 합니다.
-
Action duration: 단일 작업을 사용하는 실험의 경우 작업 기간은 실험 기간과 동일합니다. 여러 작업의 경우 실험 기간은 개별 작업 기간과 실행 순서에 따라 달라집니다. AWS FIS 는 작업 기간이 경과할 때까지 각 작업을 모니터링합니다.
-
문서 파라미터 DurationSeconds: 초 단위로 지정되고 SSM 문서가 실행되는 기간입니다.
두 가지 유형의 기간에 대해 다른 값을 선택할 수 있습니다.
-
Action duration exceeds DurationSeconds: 작업이 완료되기 전에 SSM 문서 실행이 완료됩니다. AWS FIS 는 후속 작업이 시작되기 전에 작업 기간이 경과할 때까지 기다립니다.
-
Action duration is shorter than DurationSeconds: 작업이 완료된 후 SSM 문서가 실행을 계속합니다. SSM 문서 실행이 여전히 진행 중이고 작업 기간이 경과한 경우 작업 상태는 완료됨으로 설정됩니다. AWS FIS 는 작업 기간이 경과할 때까지만 실행을 모니터링합니다.
일부 SSM 문서에는 기간이 다양합니다. 예를 들어 AWS FIS SSM 문서에는 사전 조건을 설치할 수 있는 옵션이 있으며, 이는 전체 실행 기간을 지정된 DurationSeconds 파라미터 이상으로 연장할 수 있습니다. 따라서 작업 기간과 를 DurationSeconds 동일한 값으로 설정하면 SSM 스크립트가 작업 기간보다 오래 실행될 수 있습니다.
AWSFIS-Run-CPU-Stress
stress-ng 도구를 사용하여 인스턴스에 대한 CPU 스트레스를 실행합니다. AWSFIS-Run-CPU-Stress
작업 유형(콘솔 전용)
aws:ssm:send-command/AWSFIS-Run-CPU-Stress
ARN
arn:aws:ssm:region::document/AWSFIS-Run-CPU-Stress
문서 파라미터
-
DurationSeconds - 필수입니다. 초 단위의 CPU 스트레스 테스트 기간입니다.
-
CPU – 선택 사항입니다. 사용할 CPU 스트레스 요인 수입니다. 기본값은 0으로, 모든 CPU 스트레스 요인을 사용합니다.
-
LoadPercent – 선택 사항입니다. 0(CPU부하 없음)에서 100(전체 부하)까지의 목표 부하 백분율입니다. 기본값은 100입니다.
-
InstallDependencies – 선택 사항입니다. 값이
True
이면 Systems Manager가 대상 인스턴스에 필요한 종속성을 설치합니다(아직 설치되지 않은 경우). 기본값은True
입니다. 종속성은 stress-ng입니다.
다음은 콘솔에 입력할 수 있는 문자열의 예입니다.
{"DurationSeconds":"60", "InstallDependencies":"True"}
AWSFIS-Run-Disk-Fill
인스턴스의 루트 볼륨에 디스크 공간을 할당하여 디스크 전체 오류를 시뮬레이션합니다. AWSFIS-Run-Disk-Fill
이 오류를 주입하는 실험이 수동으로 또는 중지 조건을 통해 중지되면 AWS FIS는 실행 중인 SSM 문서를 취소하여 롤백을 시도합니다. 그러나 오류 또는 오류와 애플리케이션 작업으로 인해 디스크가 100% 가득 차면 Systems Manager에서 취소 작업을 완료하지 못할 수 있습니다. 따라서 실험을 중단해야 하는 경우 디스크가 100% 가득 차지 않도록 하세요.
작업 유형(콘솔 전용)
aws:ssm:send-command/AWSFIS-Run-Disk-Fill
ARN
arn:aws:ssm:region::document/AWSFIS-Run-Disk-Fill
문서 파라미터
-
DurationSeconds - 필수입니다. 디스크 채우기 테스트의 지속 시간(초)입니다.
-
Percent – 선택 사항입니다. 디스크 채우기 테스트 중에 할당할 디스크의 비율입니다. 기본값은 95%입니다.
-
InstallDependencies – 선택 사항입니다. 값이
True
이면 Systems Manager가 대상 인스턴스에 필요한 종속성을 설치합니다(아직 설치되지 않은 경우). 기본값은True
입니다. 종속성은 atd 및 fallocate입니다.
다음은 콘솔에 입력할 수 있는 문자열의 예입니다.
{"DurationSeconds":"60", "InstallDependencies":"True"}
AWSFIS-Run-IO-Stress
stress-ng 도구를 사용하여 인스턴스에서 IO 스트레스를 실행합니다. AWSFIS-Run-IO-Stress
작업 유형(콘솔 전용)
aws:ssm:send-command/AWSFIS-Run-IO-Stress
ARN
arn:aws:ssm:region::document/AWSFIS-Run-IO-Stress
문서 파라미터
-
DurationSeconds - 필수입니다. IO 스트레스 테스트의 지속 시간(초)입니다.
-
Workers – 선택 사항입니다. 순차, 임의 및 메모리 매핑된 읽기/쓰기 작업, 강제 동기화 및 캐시 삭제를 혼합하여 수행하는 작업자 수. 여러 하위 프로세스가 동일한 파일에서 다양한 I/O 작업을 수행합니다. 기본 값은 1입니다.
-
Percent – 선택 사항입니다. IO 스트레스 테스트 중에 사용할 파일 시스템의 여유 공간 비율입니다. 기본값은 80%입니다.
-
InstallDependencies – 선택 사항입니다. 값이
True
이면 Systems Manager가 대상 인스턴스에 필요한 종속성을 설치합니다(아직 설치되지 않은 경우). 기본값은True
입니다. 종속성은 stress-ng입니다.
다음은 콘솔에 입력할 수 있는 문자열의 예입니다.
{"Workers":"1", "Percent":"80", "DurationSeconds":"60", "InstallDependencies":"True"}
AWSFIS-Run-Kill-Process
killall 명령을 사용하여 인스턴스에서 지정된 프로세스를 중지합니다. AWSFIS-Run-Kill-Process
작업 유형(콘솔 전용)
aws:ssm:send-command/AWSFIS-Run-Kill-Process
ARN
arn:aws:ssm:region::document/AWSFIS-Run-Kill-Process
문서 파라미터
-
ProcessName - 필수입니다. 중지할 프로세스의 이름입니다.
-
Signal – 선택 사항입니다. 명령과 함께 전송할 신호입니다. 가능한 값은
SIGTERM
(수신자가 무시하도록 선택할 수 있는 값)과SIGKILL
(무시할 수 없는 값)입니다. 기본값은SIGTERM
입니다. -
InstallDependencies – 선택 사항입니다. 값이
True
이면 Systems Manager가 대상 인스턴스에 필요한 종속성을 설치합니다(아직 설치되지 않은 경우). 기본값은True
입니다. 종속성은 killall입니다.
다음은 콘솔에 입력할 수 있는 문자열의 예입니다.
{"ProcessName":"myapplication", "Signal":"SIGTERM"}
AWSFIS-Run-Memory-Stress
stress-ng 도구를 사용하여 인스턴스에 메모리 스트레스를 실행합니다. AWSFIS-Run-Memory-Stress
작업 유형(콘솔 전용)
aws:ssm:send-command/AWSFIS-Run-Memory-Stress
ARN
arn:aws:ssm:region::document/AWSFIS-Run-Memory-Stress
문서 파라미터
-
DurationSeconds - 필수입니다. 메모리 스트레스 테스트의 지속 시간(초)입니다.
-
Workers – 선택 사항입니다. 가상 메모리 스트레스 요인의 수. 기본 값은 1입니다.
-
Percent - 필수입니다. 메모리 스트레스 테스트 중에 사용할 가상 메모리의 비율입니다.
-
InstallDependencies – 선택 사항입니다. 값이
True
이면 Systems Manager가 대상 인스턴스에 필요한 종속성을 설치합니다(아직 설치되지 않은 경우). 기본값은True
입니다. 종속성은 stress-ng입니다.
다음은 콘솔에 입력할 수 있는 문자열의 예입니다.
{"Percent":"80", "DurationSeconds":"60", "InstallDependencies":"True"}
AWSFIS-Run-Network-Blackhole-Port
iptables 도구를 사용하여 프로토콜 및 포트에 대한 인바운드 또는 아웃바운드 트래픽을 삭제합니다. AWSFIS-Run-Network-Blackhole-Port
작업 유형(콘솔 전용)
aws:ssm:send-command/AWSFIS-Run-Network-Blackhole-Port
ARN
arn:aws:ssm:region::document/AWSFIS-Run-Network-Blackhole-Port
문서 파라미터
-
Protocol - 필수입니다. 프로토콜. 가능한 값은
tcp
와udp
입니다. -
Port - 필수입니다. 포트 번호입니다.
-
TrafficType – 선택 사항입니다. 트래픽 유형입니다. 가능한 값은
ingress
와egress
입니다. 기본값은ingress
입니다. -
DurationSeconds - 필수입니다. 네트워크 블랙홀 테스트 시간(초)입니다.
-
InstallDependencies – 선택 사항입니다. 값이
True
이면 Systems Manager가 대상 인스턴스에 필요한 종속성을 설치합니다(아직 설치되지 않은 경우). 기본값은True
입니다. 종속성은 atd, dig 및 iptables입니다.
다음은 콘솔에 입력할 수 있는 문자열의 예입니다.
{"Protocol":"tcp", "Port":"8080", "TrafficType":"egress", "DurationSeconds":"60", "InstallDependencies":"True"}
AWSFIS-Run-Network-Latency
tc 도구를 사용하여 네트워크 인터페이스에 지연 시간을 추가합니다. AWSFIS-Run-Network-Latency
작업 유형(콘솔 전용)
aws:ssm:send-command/AWSFIS-Run-Network-Latency
ARN
arn:aws:ssm:region::document/AWSFIS-Run-Network-Latency
문서 파라미터
-
Interface – 선택 사항입니다. 네트워크 인터페이스입니다. 기본값은
eth0
입니다. -
DelayMilliseconds – 선택 사항입니다. 밀리 초 단위의 지연 시간입니다. 기본값은 200입니다.
-
DurationSeconds - 필수입니다. 네트워크 지연 시간 테스트 시간(초)입니다.
-
InstallDependencies – 선택 사항입니다. 값이
True
이면 Systems Manager가 대상 인스턴스에 필요한 종속성을 설치합니다(아직 설치되지 않은 경우). 기본값은True
입니다. 종속성은 atd, dig 및 tc입니다.
다음은 콘솔에 입력할 수 있는 문자열의 예입니다.
{"DelayMilliseconds":"200", "Interface":"eth0", "DurationSeconds":"60", "InstallDependencies":"True"}
AWSFIS-Run-Network-Latency-Sources
특정 소스에서 오가는 트래픽을 처리하는 tc 도구를 사용하여 네트워크 인터페이스에 지연 시간과 지터를 추가합니다. AWSFIS-Run-Network-Latency-Sources
작업 유형(콘솔 전용)
aws:ssm:send-command/AWSFIS-Run-Network-Latency-Sources
ARN
arn:aws:ssm:region::document/AWSFIS-Run-Network-Latency-Sources
문서 파라미터
-
Interface – 선택 사항입니다. 네트워크 인터페이스입니다. 기본값은
eth0
입니다. -
DelayMilliseconds – 선택 사항입니다. 밀리 초 단위의 지연 시간입니다. 기본값은 200입니다.
-
JitterMilliseconds – 선택 사항입니다. 밀리 초 단위의 지터입니다. 기본값은 10.
-
Sources - 필수입니다. 쉼표로 구분된 소스입니다. 가능한 값은 IPv4 주소, IPv4 CIDR 블록, 도메인 이름,
DYNAMODB
및 입니다S3
.DYNAMODB
또는S3
를 지정하는 경우 이는 현재 리전의 리전 엔드포인트에만 적용됩니다. -
TrafficType – 선택 사항입니다. 트래픽 유형입니다. 가능한 값은
ingress
와egress
입니다. 기본값은ingress
입니다. -
DurationSeconds - 필수입니다. 네트워크 지연 시간 테스트 시간(초)입니다.
-
InstallDependencies – 선택 사항입니다. 값이
True
이면 Systems Manager가 대상 인스턴스에 필요한 종속성을 설치합니다(아직 설치되지 않은 경우). 기본값은True
입니다. 종속성은 atd, dig, jq 및 tc입니다.
다음은 콘솔에 입력할 수 있는 문자열의 예입니다.
{"DelayMilliseconds":"200", "JitterMilliseconds":"15", "Sources":"S3,www.example.com,72.21.198.67", "Interface":"eth0", "TrafficType":"egress", "DurationSeconds":"60", "InstallDependencies":"True"}
AWSFIS-Run-Network-Packet-Loss
tc 도구를 사용하여 네트워크 인터페이스에 패킷 손실을 추가합니다. AWSFIS-Run-Network-Packet-Loss
작업 유형(콘솔 전용)
aws:ssm:send-command/AWSFIS-Run-Network-Packet-Loss
ARN
arn:aws:ssm:region::document/AWSFIS-Run-Network-Packet-Loss
문서 파라미터
-
Interface – 선택 사항입니다. 네트워크 인터페이스입니다. 기본값은
eth0
입니다. -
LossPercent – 선택 사항입니다. 패킷 손실의 백분율. 기본값은 7%입니다.
-
DurationSeconds - 필수입니다. 네트워크 패킷 손실 테스트 시간(초)입니다.
-
InstallDependencies – 선택 사항입니다. 값이
True
인 경우 Systems Manager는 대상 인스턴스에 필요한 종속성을 설치합니다. 기본값은True
입니다. 종속성은 atd, dig 및 tc입니다.
다음은 콘솔에 입력할 수 있는 문자열의 예입니다.
{"LossPercent":"15", "Interface":"eth0", "DurationSeconds":"60", "InstallDependencies":"True"}
AWSFIS-Run-Network-Packet-Loss-Sources
특정 소스에서 오가는 트래픽을 처리하는 tc 도구를 사용하여 네트워크 인터페이스에 패킷 손실을 추가합니다. AWSFIS-Run-Network-Packet-Loss-Sources
작업 유형(콘솔 전용)
aws:ssm:send-command/AWSFIS-Run-Network-Packet-Loss-Sources
ARN
arn:aws:ssm:region::document/AWSFIS-Run-Network-Packet-Loss-Sources
문서 파라미터
-
Interface – 선택 사항입니다. 네트워크 인터페이스입니다. 기본값은
eth0
입니다. -
LossPercent – 선택 사항입니다. 패킷 손실의 백분율. 기본값은 7%입니다.
-
Sources - 필수입니다. 쉼표로 구분된 소스입니다. 가능한 값은 IPv4 주소, IPv4 CIDR 블록, 도메인 이름,
DYNAMODB
및 입니다S3
.DYNAMODB
또는S3
를 지정하는 경우 이는 현재 리전의 리전 엔드포인트에만 적용됩니다. -
TrafficType – 선택 사항입니다. 트래픽 유형입니다. 가능한 값은
ingress
와egress
입니다. 기본값은ingress
입니다. -
DurationSeconds - 필수입니다. 네트워크 패킷 손실 테스트 시간(초)입니다.
-
InstallDependencies – 선택 사항입니다. 값이
True
인 경우 Systems Manager는 대상 인스턴스에 필요한 종속성을 설치합니다. 기본값은True
입니다. 종속성은 atd, dig, jq 및 tc입니다.
다음은 콘솔에 입력할 수 있는 문자열의 예입니다.
{"LossPercent":"15", "Sources":"S3,www.example.com,72.21.198.67", "Interface":"eth0", "TrafficType":"egress", "DurationSeconds":"60", "InstallDependencies":"True"}
예시
실험 템플릿 예시를 보려면 사전 구성된 인스턴스를 실행합니다. AWS FISSSM문서 단원을 참조하세요.
자습서 예시는 인스턴스에 CPU 스트레스 실행 단원을 참조하세요.
문제 해결
다음 절차를 사용하여 문제를 해결하세요.
SSM 문서 관련 문제를 해결하려면
에서 AWS Systems Manager 콘솔을 엽니다https://console.aws.amazon.com/systems-manager/
. -
탐색 창에서 노드 관리, 명령 실행을 선택합니다.
-
명령 기록 탭에서 필터를 사용하여 문서 실행 위치를 찾습니다.
-
명령의 ID를 선택하여 세부 정보 페이지를 엽니다.
-
인스턴스의 ID를 선택합니다. 각 단계의 출력 및 오류를 검토하세요.