자습서: 테스트 인스턴스 중지 및 AWS FIS 사용 시작 - AWS 장애 주입 서비스

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

자습서: 테스트 인스턴스 중지 및 AWS FIS 사용 시작

AWS Fault Injection Service(AWS FIS)를 사용하여 애플리케이션이 인스턴스 중지 및 시작을 처리하는 방법을 테스트할 수 있습니다. 이 자습서에 설명된 AWS FIS aws:ec2:stop-instances 작업을 사용하여 인스턴스 중 하나를 중지한 후 두 번째 인스턴스를 중지할 수 있습니다.

사전 조건

이 자습서를 완료하려면 다음을 수행합니다.

  • 계정에서 두 개의 테스트 EC2 인스턴스를 시작합니다. 인스턴스를 시작한 후 두 인스턴스의 ID를 기록합니다.

  • AWS FIS 서비스가 사용자를 대신하여 aws:ec2:stop-instances 작업을 수행할 수 있도록 하는 IAM 역할을 생성하세요. 자세한 설명은 AWS FIS 실험을 위한 IAM 역할 섹션을 참조하세요.

  • AWS FIS 액세스 권한이 있어야 합니다. 자세한 내용을 알아보려면 AWS FIS 정책 예제를 참조하세요.

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

AWS FIS 콘솔을 사용하여 실험 템플릿을 생성합니다. 템플릿에서 각각 3분 동안 순차적으로 실행되는 두 개의 작업을 지정합니다. 첫 번째 작업은 AWS FIS가 임의로 선택한 테스트 인스턴스 중 하나를 중지합니다. 두 번째 작업은 두 테스트 인스턴스를 모두 중지합니다.

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

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

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

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

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

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

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

    3. 작업 유형으로는 aws:ec2:stop-instances를 선택합니다.

    4. 대상의 경우 AWS FIS가 생성한 대상을 그대로 유지하세요.

    5. 작업 파라미터의 경우 기간 이후 인스턴스 시작은 3분(PT3M)으로 지정합니다.

    6. 저장을 선택합니다.

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

    1. AWS FIS가 이전 단계에서 자동으로 생성한 대상에 대해 편집을 선택합니다.

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

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

    4. 대상 메서드의 경우 리소스 ID를 선택한 다음, 두 테스트 인스턴스의 ID를 선택합니다.

    5. 선택 모드에서는 개수를 선택합니다. 리소스 수1를 입력합니다.

    6. 저장을 선택합니다.

  7. 대상 추가를 선택하고 다음과 같이 합니다.

    1. 대상의 이름을 입력합니다. 예를 들면 bothInstances를 입력합니다.

    2. 리소스 유형에서 aws:ec2:instance를 선택합니다.

    3. 대상 메서드의 경우 리소스 ID를 선택한 다음, 두 테스트 인스턴스의 ID를 선택합니다.

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

    5. 저장을 선택합니다.

  8. 작업 섹션에서 작업 추가를 선택합니다. 다음을 따릅니다.

    1. 이름에서 작업의 이름을 입력합니다. 예를 들면 stopBothInstances를 입력합니다.

    2. 작업 유형으로는 aws:ec2:stop-instances를 선택합니다.

    3. 시작하기 전에서 추가한 첫 번째 작업(stopOneInstance)을 선택합니다.

    4. 대상에서, 추가한 두 번째 대상(bothInstances)을 선택합니다.

    5. 작업 파라미터의 경우 기간 이후 인스턴스 시작은 3분(PT3M)으로 지정합니다.

    6. 저장을 선택합니다.

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

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

  11. 실험 템플릿 생성을 선택합니다. 확인 메시지가 나타나면 create을 입력하고 실험 템플릿 생성를 선택합니다.

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

내보내기 탭을 선택합니다. 다음은 이전 콘솔 절차에서 생성한 JSON 예제입니다.

{ "description": "Test instance stop and start", "targets": { "bothInstances": { "resourceType": "aws:ec2:instance", "resourceArns": [ "arn:aws:ec2:region:123456789012:instance/instance_id_1", "arn:aws:ec2:region:123456789012:instance/instance_id_2" ], "selectionMode": "ALL" }, "oneRandomInstance": { "resourceType": "aws:ec2:instance", "resourceArns": [ "arn:aws:ec2:region:123456789012:instance/instance_id_1", "arn:aws:ec2:region:123456789012:instance/instance_id_2" ], "selectionMode": "COUNT(1)" } }, "actions": { "stopBothInstances": { "actionId": "aws:ec2:stop-instances", "parameters": { "startInstancesAfterDuration": "PT3M" }, "targets": { "Instances": "bothInstances" }, "startAfter": [ "stopOneInstance" ] }, "stopOneInstance": { "actionId": "aws:ec2:stop-instances", "parameters": { "startInstancesAfterDuration": "PT3M" }, "targets": { "Instances": "oneRandomInstance" } } }, "stopConditions": [ { "source": "none" } ], "roleArn": "arn:aws:iam::123456789012:role/AllowFISEC2Actions", "tags": {} }

2단계: 실험 시작

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

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

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

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

  4. 실험 시작을 선택합니다. 확인 메시지가 나타나면 start을 입력하고 실험 시작을 선택합니다.

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

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

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

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

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

4단계: 실험 결과 확인

예상대로 실험에 의해 인스턴스가 중지되고 시작되었는지 확인할 수 있습니다.

실험 결과를 확인하려면
  1. 새 브라우저 탭 또는 창에 https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다. 이렇게 하면 Amazon EC2 콘솔에서 실험 결과를 보면서 AWS FIS 콘솔에서 실험 진행 상황을 계속 추적할 수 있습니다.

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

  3. 첫 번째 작업의 상태가 보류 중에서 실행 중(AWS FIS 콘솔)으로 변경되면 대상 인스턴스 중 하나의 상태가 실행 중에서 중지됨으로 변경됩니다(Amazon EC2 콘솔).

  4. 3분 후 첫 번째 작업의 상태는 완료됨으로 변경되고, 두 번째 작업의 상태는 실행 중으로 변경되며, 다른 대상 인스턴스의 상태는 중지됨으로 변경됩니다.

  5. 3분 후 두 번째 작업의 상태는 완료됨으로 변경되고, 대상 인스턴스의 상태는 실행 중으로 변경되며, 실험의 상태는 완료됨으로 변경됩니다.

5단계: 정리

이 실험용으로 생성한 테스트 EC2 인스턴스가 더 이상 필요하지 않으면 종료할 수 있습니다.

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

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

  3. 테스트 인스턴스를 모두 선택하고 Instance state(인스턴스 상태), Terminate instance(인스턴스 종료)를 선택합니다.

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

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

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

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

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

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