자습서: 를 사용하여 인스턴스에서 CPU stress 실행하기 AWS FIS - AWS 오류 주입 서비스

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

자습서: 를 사용하여 인스턴스에서 CPU stress 실행하기 AWS FIS

다음을 사용할 수 있음: AWS 장애 인젝션 서비스 (AWS FIS) 를 사용하여 애플리케이션이 CPU 스트레스를 처리하는 방법을 테스트할 수 있습니다. 이 자습서를 사용하여 다음을 포함하는 실험 템플릿을 만드세요. AWS FIS인스턴스에 CPU 스트레스를 주는 사전 구성된 SSM 문서를 실행하기 위해서입니다. 이 자습서에서는 인스턴스 CPU 사용률이 구성된 임계값을 초과할 경우 중지 조건을 사용하여 실험을 중단합니다.

자세한 내용은 사전 구성된 AWS FIS SSM 문서 단원을 참조하십시오.

사전 조건

사용할 수 있기 전 AWS FISstress를 CPU 실행하려면 다음 사전 요구 사항을 완료하십시오.

IAM 역할 생성

역할을 생성하고 다음을 가능하게 하는 정책을 연결합니다. AWS FIS사용자를 대신하여 aws:ssm:send-command 작업을 사용할 수 있습니다. 자세한 내용은 AWS FIS 실험을 위한 IAM 역할 단원을 참조하십시오.

액세스 권한 확인 AWS FIS

다음 항목에 액세스할 수 있는지 확인하세요. AWS FIS. 자세한 내용은 단원을 참조하세요.AWS FIS정책 예제.

테스트 EC2 인스턴스 준비
  • 사전 SSM 구성된 문서의 요구에 따라 Amazon Linux 2 또는 Ubuntu를 사용하여 EC2 인스턴스를 시작합니다.

  • 에서 인스턴스를 관리해야 합니다. SSM 인스턴스가 에서 관리되는지 확인하려면 Fleet Manager 콘솔을 여십시오. SSM 인스턴스가 SSM 관리되지 않는 경우 SSM 에이전트가 설치되어 있고 인스턴스에 A mazonSSMManaged InstanceCore 정책이 적용된 연결된 IAM 역할이 있는지 확인하십시오. 설치된 SSM 에이전트를 확인하려면 인스턴스에 연결하고 다음 명령을 실행합니다.

    Amazon Linux 2

    yum info amazon-ssm-agent

    Ubuntu

    apt list amazon-ssm-agent
  • 인스턴스에 대한 세부 모니터링을 활성화합니다. 추가 비용을 지불하면 데이터를 1분 기간으로 사용할 수 있습니다. 인스턴스를 선택하고 작업, 모니터링 및 문제 해결, 세부 모니터링 관리를 선택합니다.

1단계: 중지 조건에 대한 CloudWatch 경보 생성

CPU사용률이 지정한 임계값을 초과하는 경우 실험을 중단할 수 있도록 CloudWatch 경보를 구성하십시오. 다음 절차는 대상 인스턴스의 CPU 사용률을 50% 로 임계값으로 설정합니다. 자세한 내용은 중지 조건 단원을 참조하십시오.

CPU사용률이 임계값을 초과할 때를 알려주는 경보를 만들려면
  1. 에서 Amazon EC2 콘솔을 엽니다 https://console.aws.amazon.com/ec2/.

  2. 탐색 창에서 Instances(인스턴스)를 선택합니다.

  3. 대상 인스턴스를 선택하고 작업, 모니터링 및 문제 해결, CloudWatch경보 관리를 선택합니다.

  4. 알람 알림의 경우 토글을 사용하여 Amazon SNS 알림을 끕니다.

  5. 경보 임계값의 경우 다음 설정을 사용하세요.

    • 샘플 그룹화 기준: 최대값

    • 샘플링할 데이터 유형: 사용률 CPU

    • 퍼센트: 50

    • 기간: 1 Minute

  6. 경보 구성이 완료되면 생성을 선택합니다.

2단계: 실험 템플릿 만들기

를 사용하여 실험 템플릿을 생성합니다. AWS FIS콘솔. 템플릿에서 다음 작업을 실행하도록 지정합니다. aws:ssm:send-command/ -Run- -Stress AWSFIS. CPU

실험 템플릿 만들기
  1. 를 엽니다. AWS FIS에서 콘솔을 https://console.aws.amazon.com/fis/실행하세요.

  2. 탐색 창에서 실험 템플릿을 선택합니다.

  3. 실험 템플릿 생성을 선택합니다.

  4. 이름 및 설명에 템플릿에 대한 이름과 설명을 입력합니다.

  5. 작업에서 다음을 수행합니다.

    1. 작업 추가를 선택합니다.

    2. 작업의 이름을 입력합니다. 예를 들면 runCpuStress를 입력합니다.

    3. 액션 유형으로는 aws:ssm:send-command/ -Run- -Stress를 AWSFIS 선택합니다. CPU ARN그러면 문서가 문서에 자동으로 SSM 추가됩니다 ARN.

    4. Target의 경우 대상을 다음과 같이 유지하십시오. AWS FIS당신을 위해 창조합니다.

    5. 작업 파라미터, 문서 파라미터에 다음을 입력합니다.

      {"DurationSeconds":"120"}
    6. 동작 매개 변수, 지속 시간에 5분 (PT5M) 을 지정합니다.

    7. 저장(Save)을 선택합니다.

  6. 대상에서 다음을 수행합니다.

    1. 다음과 같은 대상에 대해 편집을 선택합니다. AWS FIS이전 단계에서 자동으로 생성되었습니다.

    2. 기본 이름을 좀 더 이해하기 쉬운 이름으로 바꾸세요. 예를 들면 testInstance를 입력합니다.

    3. 리소스 유형aws:ec2:instance인지 확인하세요.

    4. Target 메서드에서 IDs Resource를 선택한 다음 테스트 인스턴스의 ID를 선택합니다.

    5. 선택 모드에서는 모두를 선택합니다.

    6. 저장(Save)을 선택합니다.

  7. 서비스 액세스의 경우 기존 IAM 역할 사용을 선택한 다음 이 자습서의 사전 요구 사항에 설명된 대로 생성한 IAM 역할을 선택합니다. 역할이 표시되지 않는 경우 해당 역할에 필요한 신뢰 관계가 있는지 확인하세요. 자세한 내용은 AWS FIS 실험을 위한 IAM 역할 단원을 참조하십시오.

  8. 중지 조건의 경우 1단계에서 만든 CloudWatch 경보를 선택합니다.

  9. (선택 사항) 태그의 경우 새 태그 추가를 선택하고 태그 키와 태그 값을 지정합니다. 추가한 태그는 템플릿을 사용하여 실행되는 실험이 아니라 실험 템플릿에 적용됩니다.

  10. 실험 템플릿 생성을 선택합니다.

(선택 사항) 실험 템플릿을 보려면 JSON

내보내기 탭을 선택합니다. 다음은 이전 콘솔 프로시저에서 JSON 만든 예제입니다.

{ "description": "Test CPU stress predefined SSM document", "targets": { "testInstance": { "resourceType": "aws:ec2:instance", "resourceArns": [ "arn:aws:ec2:region:123456789012:instance/instance_id" ], "selectionMode": "ALL" } }, "actions": { "runCpuStress": { "actionId": "aws:ssm:send-command", "parameters": { "documentArn": "arn:aws:ssm:region::document/AWSFIS-Run-CPU-Stress", "documentParameters": "{\"DurationSeconds\":\"120\"}", "duration": "PT5M" }, "targets": { "Instances": "testInstance" } } }, "stopConditions": [ { "source": "aws:cloudwatch:alarm", "value": "arn:aws:cloudwatch:region:123456789012:alarm:awsec2-instance_id-GreaterThanOrEqualToThreshold-CPUUtilization" } ], "roleArn": "arn:aws:iam::123456789012:role/AllowFISSSMActions", "tags": {} }

3단계: 실험 시작

실험 템플릿 생성을 완료하면 이를 사용하여 실험을 시작할 수 있습니다.

실험을 시작하려면
  1. 방금 만든 실험 템플릿의 세부정보 페이지로 이동해야 합니다. 그렇지 않으면 실험 템플릿을 선택한 다음 실험 템플릿의 ID를 선택하여 세부 정보 페이지를 엽니다.

  2. 실험 시작을 선택합니다.

  3. (선택 사항) 실험에 태그를 추가하려면 새 태그 추가를 선택하고 태그 키와 태그 값을 입력합니다.

  4. 실험 시작을 선택합니다. 확인 메시지가 표시되면 start를 입력합니다. 실험 시작을 선택합니다.

4단계: 실험 진행 상황 추적하기

실험이 완료, 중지 또는 실패할 때까지 진행 중인 실험의 진행 상황을 추적할 수 있습니다.

실험 진행 상황 추적하기
  1. 방금 시작한 실험의 세부정보 페이지로 이동해야 합니다. 그렇지 않으면 실험을 선택한 다음 실험의 ID를 선택하여 실험의 세부 정보 페이지를 엽니다.

  2. 실험 상태를 보려면 세부 정보 창에서 상태를 확인하세요. 자세한 내용은 실험 상태를 참조하세요.

  3. 실험 상태가 실행 중으로 표시되면 다음 단계로 이동합니다.

5단계: 실험 결과 확인

실험이 실행되는 동안 인스턴스의 CPU 사용률을 모니터링할 수 있습니다. CPU사용률이 임계값에 도달하면 경보가 트리거되고 중지 조건에 따라 실험이 중단됩니다.

실험 결과를 확인하려면
  1. 중지 조건 탭을 선택합니다. 녹색 테두리와 녹색 체크 표시 아이콘은 경보의 초기 상태가 OK임을 나타냅니다. 빨간색 선은 경보 임계값을 나타냅니다. 더 자세한 그래프를 원하면 위젯 메뉴에서 확대를 선택합니다.

    활동이 약 50% 로 낮았던 기간 이후 CPU 사용률이 100% 까지 급증한 것을 보여주는 그래프.
  2. CPU사용률이 임계값을 초과하면 중지 조건 탭의 빨간색 테두리와 빨간색 느낌표 아이콘이 알람 상태가 다음으로 변경되었음을 나타냅니다. ALARM 세부 정보 창에서는 실험 상태가 중지됨입니다. 상태를 선택하면 “중지 조건에 따라 실험이 중단됨”이라는 메시지가 표시됩니다.

    빨간색 임계선이 50% 인 시간 경과에 따른 CPU 사용률을 보여 주는 그래프.
  3. CPU사용률이 임계값 아래로 감소하면 녹색 테두리와 녹색 체크 표시 아이콘은 알람 상태가 다음으로 변경되었음을 나타냅니다. OK

  4. (선택 사항) 위젯 메뉴에서 경보에서 보기를 선택합니다. 그러면 CloudWatch 콘솔에 경보 세부 정보 페이지가 열리고 경보에 대한 자세한 내용을 확인하거나 경보 설정을 편집할 수 있습니다.

6단계: 정리

이 실험용으로 만든 테스트 EC2 인스턴스가 더 이상 필요하지 않은 경우 종료할 수 있습니다.

인스턴스를 해지하려면
  1. 에서 Amazon EC2 콘솔을 엽니다 https://console.aws.amazon.com/ec2/.

  2. 탐색 창에서 Instances(인스턴스)를 선택합니다.

  3. 테스트 인스턴스를 선택하고 인스턴스 상태, 인스턴스 종료를 선택합니다.

  4. 확인 메시지가 나타나면 종료를 선택합니다.

실험 템플릿이 더 이상 필요하지 않으면 삭제할 수 있습니다.

를 사용하여 실험 템플릿을 삭제하려면 AWS FIS콘솔
  1. 를 여세요. AWS FIS에서 콘솔을 https://console.aws.amazon.com/fis/실행하세요.

  2. 탐색 창에서 실험 템플릿을 선택합니다.

  3. 실험 템플릿을 선택하고 작업, 실험 템플릿 삭제를 선택합니다.

  4. 확인 메시지가 나타나면 delete를 입력한 다음 실험 템플릿 삭제를 선택합니다.