자습서: Amazon을 통해 조직의 중요한 변경 사항을 모니터링하십시오. EventBridge - AWS Organizations

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

자습서: Amazon을 통해 조직의 중요한 변경 사항을 모니터링하십시오. EventBridge

이 자습서에서는 Amazon (이전의 Amazon EventBridge CloudWatch Events) 을 구성하여 조직의 변경 사항을 모니터링하는 방법을 보여줍니다. 먼저 사용자가 특정 규칙을 호출할 때 트리거되는 규칙을 구성하는 것부터 시작합니다. AWS Organizations 작업. 다음으로, 다음을 EventBridge 실행하도록 Amazon을 구성합니다. AWS Lambda 규칙이 트리거될 때 작동하며 이벤트에 대한 세부 정보가 포함된 이메일을 SNS 보내도록 Amazon을 구성합니다.

다음 그림은 자습서의 기본 단계를 보여줍니다.

Five-step process for creating and configuring AWS 서비스, from trail creation to rule testing.

1단계: 추적 및 이벤트 선택기 구성

에서 트레일이라는 로그를 생성하십시오. AWS CloudTrail. 모든 API 통화를 캡처하도록 구성합니다.

2단계: Lambda 함수 구성

생성하기 AWS Lambda 이벤트에 대한 세부 정보를 S3 버킷에 기록하는 함수.

3단계: 구독자에게 이메일을 보내는 Amazon SNS 주제 생성

구독자에게 이메일을 보내는 Amazon SNS 주제를 만든 다음 해당 주제를 구독하십시오.

4단계: Amazon EventBridge 규칙 생성

지정된 API 호출의 세부 정보를 Lambda 함수 및 SNS 주제 구독자에게 EventBridge 전달하도록 Amazon에 지시하는 규칙을 생성합니다.

5단계: Amazon EventBridge 규칙 테스트

모니터링되는 작업 중 하나를 실행하여 새 규칙을 테스트합니다. 이 자습서에서는 모니터링되는 작업이 조직 단위(OU)를 만드는 작업입니다. Lambda 함수가 생성하는 로그 항목과 SNS Amazon이 구독자에게 보내는 이메일을 확인합니다.

도움말

이 자습서를 비슷한 작업(계정 생성 완료 시 이메일 알림 전송 등)을 구성하기 위한 가이드로 사용할 수도 있습니다. 계정 생성은 비동기 작업이기 때문에 기본적으로 완료 시 알림이 발송되지 않습니다. 사용에 대한 자세한 내용은 AWS CloudTrail 그리고 EventBridge 아마존은 AWS Organizations, 보세요로그인 및 모니터링 AWS Organizations.

사전 조건

이 튜토리얼는 다음과 같이 가정합니다.

  • 에 로그인할 수 있습니다. AWS Management Console 조직의 관리 계정에서 IAM 사용자로 IAM사용자는 로그인, Lambda의 함수 CloudTrail, Amazon의 주제, SNS Amazon에서 규칙을 생성하고 구성할 수 있는 권한이 있어야 합니다. EventBridge 권한 부여에 대한 자세한 내용은 사용 설명서의 IAM 액세스 관리 또는 액세스를 구성하려는 서비스 가이드를 참조하십시오.

  • 기존 Amazon Simple Storage Service (Amazon S3) 버킷에 액세스 (또는 버킷을 생성할 권한이 있음) 하여 1단계에서 구성한 로그를 CloudTrail 수신할 수 있습니다.

중요

현재, AWS Organizations 미국 동부 (버지니아 북부) 지역에서만 호스팅됩니다 (전 세계에서 사용 가능). 이 자습서의 단계를 수행하려면 다음을 구성해야 합니다. AWS Management Console 해당 지역을 사용하려면

1단계: 추적 및 이벤트 선택기 구성

이 단계에서는 관리 계정에 로그인하고 로그 (트레일이라고 함) 를 구성합니다. AWS CloudTrail. 또한 EventBridge Amazon에서 트리거할 호출을 확보할 수 있도록 모든 읽기/쓰기 API 호출을 캡처하도록 트레일의 이벤트 선택기를 구성합니다.

추적을 생성하려면
  1. 로그인 AWS 조직의 관리 계정 관리자로 등록한 다음 에서 CloudTrail 콘솔을 엽니다https://console.aws.amazon.com/cloudtrail/.

  2. 콘솔의 오른쪽 상단에 있는 탐색 모음에서 미국 동부(버지니아 북부) 리전을 선택합니다. 다른 지역을 선택하는 경우 AWS Organizations Amazon EventBridge 구성 설정에 옵션으로 표시되지 않으며 다음에 대한 정보를 캡처하지 CloudTrail 않습니다. AWS Organizations.

  3. 탐색 창에서 [Trails]를 선택합니다.

  4. 추적 생성을 선택합니다.

  5. 추적 이름My-Test-Trail을 입력합니다.

  6. 다음 옵션 중 하나를 수행하여 로그를 전송할 위치를 CloudTrail 지정하십시오.

    • 버킷을 생성해야 하는 경우 Create new S3 bucket(새 S3 버킷 생성)을 선택한 다음 Trail log bucket and folder(추적 로그 버킷 및 폴더)에 새 버킷의 이름을 입력합니다.

      참고

      S3 버킷 이름은 전역적으로 고유해야 합니다.

    • 버킷이 이미 있는 경우 Use existing S3 bucket(기존 S3 버킷 사용)을 선택한 다음 S3 bucket(S3 버킷) 목록에서 버킷 이름을 선택합니다.

  7. Next(다음)를 선택합니다.

  8. Choose log events(로그 이벤트 선택) 페이지의 Management events(관리 이벤트) 섹션에서 Read(읽기)와 Write(쓰기)를 선택합니다.

  9. Next(다음)를 선택합니다.

  10. 선택 사항을 검토하고 Create trail(추적 생성)을 선택합니다.

EventBridge Amazon에서는 알람 규칙이 수신 API 전화와 일치할 때 알림을 보내는 여러 가지 방법 중에서 선택할 수 있습니다. 이 자습서에서는 호출을 기록할 수 있는 Lambda 함수를 호출하는 방법과 주제 구독자에게 이메일 또는 문자 메시지를 보내는 Amazon SNS 주제에 정보를 보내는 두 가지 방법을 보여줍니다. API 다음 두 단계에서는 필요한 구성 요소인 Lambda 함수와 Amazon 주제를 생성합니다. SNS

2단계: Lambda 함수 구성

이 단계에서는 나중에 구성하는 EventBridge Amazon 규칙에 의해 전송되는 활동을 API 기록하는 Lambda 함수를 생성합니다.

Amazon 이벤트를 기록하는 Lambda 함수를 생성하려면 EventBridge
  1. 를 여십시오. AWS Lambda 에서 콘솔을 https://console.aws.amazon.com/lambda/ 실행하십시오.

  2. Lambda를 처음 사용하는 경우 시작 페이지에서 Get Started Now(지금 시작)를 선택합니다. 처음 사용하는 경우가 아니라면 Create function(함수 만들기)을 선택합니다.

  3. 함수 생성 페이지에서 청사진 사용을 선택합니다.

  4. 블루프린트 검색 상자에 필터로 hello를 입력하고 hello-world 블루프린트를 선택합니다.

  5. 구성을 선택합니다.

  6. 기본 정보 페이지에서 다음을 수행합니다.

    1. Lambda 함수 이름에서 이름(Name)LogOrganizationEvents를 입력합니다.

    2. 역할(Role)에서 기본 Lambda 권한을 가진 새 역할 생성(Create a new role with basic Lambda permissions)을 선택합니다. 이 역할은 필요한 데이터에 액세스할 수 있고 출력 로그를 쓸 수 있는 권한을 Lambda 함수에 부여합니다.

  7. 다음 예와 같이 Lambda 함수 코드를 편집합니다.

    console.log('Loading function'); exports.handler = async (event, context) => { console.log('LogOrganizationsEvents'); console.log('Received event:', JSON.stringify(event, null, 2)); return event.key1; // Echo back the first key value // throw new Error('Something went wrong'); };

    이 샘플 코드는 LogOrganizationEvents 마커 문자열 다음에 이벤트를 구성하는 JSON 문자열을 사용하여 이벤트를 기록합니다.

  8. 함수 생성(Create function)을 선택합니다.

3단계: 구독자에게 이메일을 보내는 Amazon SNS 주제 생성

이 단계에서는 구독자에게 정보를 이메일로 보내는 Amazon SNS 주제를 생성합니다. 이 주제를 나중에 생성하는 Amazon EventBridge 규칙의 대상으로 설정합니다.

Amazon SNS 주제를 생성하여 구독자에게 이메일을 보내려면
  1. 에서 Amazon SNS 콘솔을 엽니다https://console.aws.amazon.com/sns/v3/.

  2. 탐색 창에서 주제를 선택합니다.

  3. [Create new topic]을 선택합니다.

    1. 주제 이름OrganizationsCloudWatchTopic을 입력합니다.

    2. 표시 이름OrgsCWEvnt를 입력합니다.

    3. 주제 생성을 선택합니다.

  4. 이제 주제에 대한 구독을 생성할 수 있습니다. 방금 생성한 주제에 맞는 항목을 선택합니다. ARN

  5. 구독 생성을 선택합니다.

    1. [Create subscription] 페이지에서 [Protocol]에 대해 [Email]을 선택합니다.

    2. 엔드포인트에 이메일 주소를 입력합니다.

    3. 구독 생성을 선택합니다. AWS 이전 단계에서 지정한 이메일 주소로 이메일을 보냅니다. 해당 이메일에 도착할 때까지 기다렸다가 이메일의 구독 확인 링크를 선택하여 이메일을 잘 수신했음을 확인합니다.

    4. 콘솔로 돌아가 페이지를 새로 고칩니다. [Pending confirmation] 메시지가 사라지고 대신 유효한 구독 ID가 표시됩니다.

4단계: Amazon EventBridge 규칙 생성

이제 필수 Lambda 함수가 계정에 있으므로, 규칙의 기준이 충족될 때 함수를 호출하는 EventBridge Amazon 규칙을 생성합니다.

규칙을 생성하려면 EventBridge
  1. 에서 Amazon EventBridge 콘솔을 엽니다https://console.aws.amazon.com/events/.

  2. 콘솔을 미국 동부(버지니아 북부) 리전으로 설정해야 합니다. 그렇지 않으면 Organizations에 대한 정보를 사용할 수 없습니다. 콘솔의 오른쪽 상단에 있는 탐색 모음에서 미국 동부(버지니아 북부) 리전을 선택합니다.

  3. 규칙 생성에 대한 지침은 Amazon 사용 EventBridge 설명서의 Amazon EventBridge 시작하기를 참조하십시오.

5단계: Amazon EventBridge 규칙 테스트

이 단계에서는 OU (Organization Unit) 를 생성하고 Amazon EventBridge 규칙을 관찰하고, 로그 항목을 생성하고, 이벤트에 대한 세부 정보가 포함된 이메일을 자신에게 보냅니다.

AWS Management Console
OU를 만들려면
  1. 를 엽니다. AWS Organizations 콘솔에서 AWS 계정페이지.

  2. Root OU 확인란 Blue checkmark icon indicating confirmation or completion of a task. 을 선택하고, 작업(Actions)을 선택한 다음 조직 단위(Organizational unit)에서 새로 만들기(Create new)를 선택합니다.

  3. OU의 이름에는 TestCWEOU을 입력한 후 조직 단위 생성을 선택합니다.

EventBridge 로그 항목을 보려면
  1. 에서 CloudWatch 콘솔을 엽니다https://console.aws.amazon.com/cloudwatch/.

  2. 탐색 페이지에서 로그를 선택합니다.

  3. 로그 그룹에서 Lambda 함수와 연결된 그룹 (/aws/lambda/) 을 선택합니다. LogOrganizationEvents

  4. 각 그룹에는 하나 이상의 스트림이 있어야 하고, 현 시점에 그룹이 한 개 있어야 합니다. 이를 선택합니다.

  5. 로그를 확인합니다. 다음과 같은 행이 표시될 것입니다.

    Log entries showing event reception with timestamp, version, and ID details.
  6. 항목의 가운데 행을 선택하면 수신된 이벤트의 전체 텍스트를 볼 수 있습니다. JSON 출력의 requestParametersresponseElements 부분에서 API 요청의 모든 세부 정보를 볼 수 있습니다.

    2017-03-09T22:45:05.101Z 0999eb20-051a-11e7-a426-cddb46425f16 Received event: { "version": "0", "id": "123456-EXAMPLE-GUID-123456", "detail-type": "AWS API Call via CloudTrail", "source": "aws.organizations", "account": "123456789012", "time": "2017-03-09T22:44:26Z", "region": "us-east-1", "resources": [], "detail": { "eventVersion": "1.04", "userIdentity": { ... }, "eventTime": "2017-03-09T22:44:26Z", "eventSource": "organizations.amazonaws.com", "eventName": "CreateOrganizationalUnit", "awsRegion": "us-east-1", "sourceIPAddress": "192.168.0.1", "userAgent": "AWS Organizations Console, aws-internal/3", "requestParameters": { "parentId": "r-exampleRootId", "name": "TestCWEOU" }, "responseElements": { "organizationalUnit": { "name": "TestCWEOU", "id": "ou-exampleRootId-exampleOUId", "arn": "arn:aws:organizations::1234567789012:ou/o-exampleOrgId/ou-exampleRootId-exampeOUId" } }, "requestID": "123456-EXAMPLE-GUID-123456", "eventID": "123456-EXAMPLE-GUID-123456", "eventType": "AwsApiCall" } }
  7. 이메일 계정에서 O rgsCWEvnt (Amazon SNS 주제의 표시 이름) 에서 보낸 메시지를 확인하십시오. 이메일 본문에는 이전 단계에 표시된 로그 항목과 동일한 JSON 텍스트 출력이 포함됩니다.

정리: 더 이상 필요하지 않은 리소스 제거

요금이 발생하지 않도록 하려면 모든 항목을 삭제해야 합니다. AWS 이 자습서의 일부로 만든 리소스 중 보관하고 싶지 않은 리소스

정리하려면 AWS 환경
  1. CloudTrail 콘솔을 사용하여 1단계에서 만든 이름이 지정된 My-Test-Trail 트레일을 삭제합니다.

  2. 1단계에서 Amazon S3 버킷을 만는 경우 Amazon S3 콘솔을 사용하여 버킷을 삭제합니다.

  3. Lambda 콘솔을 사용하여 2단계에서 생성한 LogOrganizationEvents라는 함수를 삭제합니다.

  4. Amazon SNS 콘솔을 사용하여 3단계에서 OrganizationsCloudWatchTopic 생성한 이름이 지정된 Amazon SNS 주제를 삭제합니다.

  5. CloudWatch 콘솔을 사용하여 4단계에서 OrgsMonitorRule 생성한 이름이 지정된 EventBridge 규칙을 삭제합니다.

  6. 마지막으로 Organizations 콘솔을 사용하여 5단계에서 생성한 TestCWEOU라는 OU를 삭제합니다.

그러면 다된 것입니다. 이 자습서에서는 조직의 변경 사항을 EventBridge 모니터링하도록 구성했습니다. 사용자가 특정 항목을 호출할 때 트리거되는 규칙을 구성했습니다. AWS Organizations 작업. 이 규칙은 이벤트를 기록하고 해당 이벤트에 대한 세부 정보가 들어 있는 이메일을 전송하는 Lambda 함수를 실행했습니다.