AWS Config 사용자 지정 규칙 시작 - AWS Config

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

AWS Config 사용자 지정 규칙 시작

이 절차는 각각의 EC2 인스턴스가 t2.micro 유형인지 여부를 평가하는 사용자 지정 규칙을 생성하는 과정을 보여 줍니다. AWS Config는 이 규칙에 대해 이벤트 기반의 평가를 실행합니다. 즉, 인스턴스의 구성 변화가 감지될 때마다 인스턴스 구성을 점검합니다. AWS Config는 이 규칙에 대해 이벤트 기반의 평가를 실행합니다. 즉, AWS Config는 인스턴스의 구성 변화가 감지될 때마다 인스턴스 구성을 점검합니다. 콘솔에 보안 및 규정 준수 상태가 나타납니다.

이 절차로 최선의 결과를 얻으려면 AWS 계정에 EC2 인스턴스가 한 개 이상 있어야 합니다. 인스턴스에는 최소한 한 개의 t2.micro 인스턴스와 다른 유형의 인스턴스 조합이 포함되어 있어야 합니다.

이런 규칙을 만들려면 먼저 AWS Lambda 콘솔에서 블루프린트를 사용자 지정하여 AWS Lambda 함수를 생성합니다. 이어서 에서 사용자 지정 규칙을 만들고, 이 규칙을 함수에 연결합니다.

사용자 지정 Config 규칙용 AWS Lambda 함수 생성

  1. AWS Management 콘솔에 로그인한 다음 https://console.aws.amazon.com/lambda/에서 AWS Lambda 콘솔을 엽니다.

  2. AWS Management 콘솔 메뉴에서 리전 선택기가 AWS Config 규칙을 지원하는 리전으로 설정되어 있는지 확인합니다. 지원되는 리전 목록은 Amazon Web Services 일반 참조AWS Config리전 및 엔드포인트를 참조하십시오.

  3. AWS Lambda 콘솔에서 Lambda 함수 생성을 선택합니다.

  4. 블루프린트 선택 페이지의 필터config-rule-change-triggered를 입력합니다. 필터링한 결과에서 블루프린트를 선택합니다.

  5. 트리거 구성 페이지에서 다음을 선택합니다.

  6. 함수 구성 페이지에서 다음 단계를 완료합니다.

    1. 이름InstanceTypeCheck를 입력합니다.

    2. 런타임Node.js를 그대로 사용합니다.

    3. 코드 입력 유형에서 코드 인라인 편집을 그대로 둡니다. 함수의 Node.js 코드는 코드 편집기에 표시됩니다. 이 절차에서는 코드를 변경할 필요가 없습니다.

    4. 핸들러에서 index.handler를 그대로 유지합니다.

    5. [Role]에서 [Create new role from template(s)]를 선택합니다.

    6. [Role name]에 이름을 입력합니다.

    7. 정책 템플릿에서 AWS Config 규칙 권한을 선택합니다.

    8. 함수 구성 페이지에서 다음을 선택합니다.

    9. 페이지 검토에서 함수의 세부 정보를 확인하고 함수 생성을 선택합니다. 그러면 콘솔에 해당 함수가 표시됩니다.

  7. 함수가 올바르게 설정되었는지 확인하려면 다음 단계에 따라 테스트합니다.

    1. 작업을 선택한 후 테스트 이벤트 구성을 선택합니다.

    2. 입력 테스트 이벤트 창에서 샘플 이벤트 템플릿에 대해 AWS Config Change Triggered Rule(AWS Config 변경 트리거 규칙)을 선택합니다.

    3. 저장 및 테스트를 선택합니다. AWS Lambda는 예제 이벤트를 사용하여 함수를 테스트합니다. 함수가 정상적으로 작동하면 실행 결과 아래에 다음과 같은 오류 메시지가 나타납니다.

      { "errorMessage": "Result Token provided is invalid", "errorType": "InvalidResultTokenException", . . .

      AWS Config에서 결과 토큰을 받을 경우에만 함수가 성공적으로 실행되기 때문에 InvalidResultTokenException이 예상됩니다. 결과 토큰은 해당하는 규칙과 평가를 유발한 이벤트를 나타내며, 규칙과 평가를 연결해 줍니다. 이 예외는 해당 함수가 로 결과를 보내는 데 필요한 권한을 가지고 있음을 의미합니다. 그렇지 않으면 not authorized to perform: config:PutEvaluations 오류 메시지가 표시됩니다. 이 오류가 발생하면 함수에 할당된 역할을 업데이트하여 config:PutEvaluations 작업을 허용하고 함수를 다시 테스트합니다.

사용자 지정 규칙 생성

  1. https://console.aws.amazon.com/config/에서 AWS Config 콘솔을 엽니다.

  2. AWS Management 콘솔 메뉴에서 리전 선택기가 사용자 지정 규칙용 AWS Lambda 함수를 생성한 리전과 동일하게 설정되어 있는지 확인합니다.

  3. 규칙 페이지에서 규칙 추가를 선택합니다.

  4. 규칙 추가 페이지에서 사용자 지정 규칙 추가를 선택합니다.

  5. 규칙 구성 페이지에서 다음 단계를 완료합니다.

    1. 이름InstanceTypesAreT2micro를 입력합니다.

    2. 설명Evaluates whether EC2 instances are the t2.micro type을 입력합니다.

    3. AWS Lambda함수 ARN에, AWS Lambda가 함수에 할당한 ARN을 지정합니다.

      참고

      이 단계에서 지정한 ARN에 $LATEST 한정자가 포함되어서는 안 됩니다. 버전 한정자가 없는 ARN 또는 $LATEST 외에 다른 한정자가 있는 ARN을 지정할 수 있습니다. AWS Lambda는 함수 버전 관리를 지원하며, 각 버전에는 ARN과 한정자가 할당됩니다. AWS Lambda는 최신 버전에 $LATEST 한정자를 사용합니다.

    4. 트리거 유형에서 구성 변경을 선택합니다.

    5. 변경 범위에서 리소스를 선택합니다.

    6. 리소스에서 인스턴스를 선택합니다.

    7. 규칙 파라미터 섹션에서 AWS Lambda 함수가 평가할 규칙 파라미터와 원하는 값을 지정해야 합니다. 이 절차의 함수에서는 desiredInstanceType 파라미터를 평가합니다.

      desiredInstanceType을 입력합니다. t2.micro를 입력합니다.

  6. Save를 선택합니다. 규칙 페이지에 새 규칙이 표시됩니다.

    AWS Lambda 함수의 평가 결과가 AWS Config에 수신될 때까지 규정 준수평가 중...으로 표시됩니다. 규칙과 함수가 정상적으로 작동하는 경우, 몇 분 뒤 결과 요약이 나타납니다. 예를 들어 결과가 2 noncompliant resource(s)면 인스턴스 중 2개가 t2.micro 인스턴스가 아니라는 뜻이고, 결과가 규정 준수이면 모든 인스턴스가 t2.micro라는 뜻입니다. 새로 고침 버튼으로 결과를 업데이트할 수 있습니다.

    규칙 또는 함수가 정상적으로 작동하지 않는 경우, 규정 준수에 다음 중 하나가 표시될 수 있습니다.

    • 보고할 결과 없음 - AWS Config가 규칙에 따라 리소스를 평가했습니다. 해당 규칙이 범위 내의 리소스에 적용되지 않았습니다. 지정한 리소스가 삭제되었거나 평가 결과가 삭제되었습니다. 평가 결과를 받으려면 규칙을 업데이트하여 범위를 변경하거나 재평가를 선택하십시오.

      이 범위에 리소스인스턴스가 있는지 확인하고 다시 시도하십시오.

    • 범위 내 리소스 없음 - 규칙 범위 안에 있는 리소스가 없기 때문에 AWS Config가 기록된 AWS 리소스를 이 규칙에 따라 평가할 수 없습니다. 평가 결과를 받으려면 규칙을 편집하여 범위를 변경하거나 설정 페이지에서 AWS Config가 기록할 리소스를 추가하십시오.

      AWS Config가 EC2 인스턴스를 기록 중인지 확인합니다.

    • Evaluations failed - 문제 파악에 도움이 되는 정보를 얻으려면 규칙 이름을 선택하여 세부 정보 페이지를 열고 오류 메시지를 확인하십시오.

규칙이 정상적으로 작동하고 AWS Config에 평가 결과가 표시되는 경우, 어떤 조건이 규칙의 준수 상태에 영향을 미치는지 알 수 있습니다. 또한 미준수 상태의 리소스가 있는 경우 해당하는 리소스와 미준수 사유도 확인할 수 있습니다. 자세한 내용은 구성 준수 상태 보기 단원을 참조하십시오.