탈 AWS 초보자! AWS의 CloudTrail 및 CloudWatch를 사용하여 다른 리전의 비정상적인 이벤트를 모니터링 및 알림

하고 싶은 일



국내용 서비스를 AWS상에서 운영하고 있지만 도쿄 리전만 사용하고 있다.
그래서 무언가의 박자에 다른 리전에 ec2가 대량으로 만들어지는 등의 경우에 감지할 수 있도록 해 두고 싶다.

개요



조사한 곳 다음과 같은 순서로 할 수 있습니다.
  • Cloudtrail에서 이벤트 로깅
  • CloudWatch Log에서 로그 필터 및 SNS 트리거
  • SNS로 알림

  • 절차



    Cloudtrail로 이벤트 로그



    Cloudtrail의 설정에 대해서는 조사하면 나오므로 할애합니다.

    CloudWatch Log 필터



    필터를 걸 때까지 가면 여기부터가 본제입니다.

    이번 요건/실장 방침은
    1. 도쿄 지역 이외의 이벤트를 감지하고 싶습니다.
    2. 로그인은 발생하기 때문에 그들은 제외한다
    3. 그 밖에도 로그등의 기입 등 있을 것 같지만 거기는 조금씩 필터를 기르고 개선한다

    두 가지입니다.

    사양에 빠지면
    1. region은 ap-northeast-1 이외에 짜다
    2. "invokedBy": "signin.amazonaws.com""userName": "someUser" 연주

    구현



    1. 로그 그룹 선택


    OtherRegionLogGroup라는 이름으로 그룹을 만들었으므로 그것을 클릭하십시오.



    2. 이벤트 목록



    이벤트 목록입니다. 목록의 내용을 보면 이벤트에 대한 자세한 정보를 알 수 있습니다.
    여기서 필터를 여러가지 시험하면서 자신이 사용하고 싶은 필터를 결정합니다.

    CloudWatch 필터 및 패턴의 구문 목록은 여기



    조건으로서는 아래와 같은 형태가 되었습니다.
    {
      ($.awsRegion != "ap-northeast-1") && (
        ($.userIdentity.invokedBy != "signin.amazonaws.com") &&
        ($.userIdentity.invokedBy != "cloudtrail.amazonaws.com")
      )
    }
    
    ap-northeast-1 이외에 발화 유저가 signin , cloudtrail 이외로 하고 있습니다.

    2.5 json filter 중첩을 작성하는 방법



    조금만 막혔으므로 보충 설명입니다.
    예: { $.requestParameters.instanceId = "some-instance-id"
    SELECTOR
    확인할 JSON 속성을 지정합니다. 속성 선택기는 항상 JSON의 루트를 나타내는 달러 기호 ($)로 시작합니다.
    속성 선택기는 영숫자 문자열이며 "-"및 "_"를 지원합니다.
    배열 요소는 [NUMBER] 구문으로 표시되며 속성을 따라야 합니다.
    예는 다음과 같습니다. $.eventId, $.users[0], $.users[0].id, $.requestParameters.instanceId.

    3 메트릭 필터 만들기



    필터가 정해지면 적용합니다.
    로그 그룹 목록으로 돌아가서 그룹을 선택한 상태에서 메트릭 필터 만들기를 누릅니다.


    거기에 필터 패턴을 넣고 메트릭 할당을 누릅니다.


    그렇다면 이런 화면이 될까.



    4. 알람 설정



    위 그림의 "알람 생성"을 눌러 알람을 생성합니다.
    이번에는 한번이라도 이벤트가 있으면 알람이 오도록 하고 있습니다.



    5. 알람 확인



    시도에 us-east-1 리전에서 ec2를 만들어 알람이 오는지 확인해 봅시다. 오면 성공입니다


    마지막으로



    이외와 후회하기 쉽습니다만, 1시간 정도 있으면 우선의 설정은 할 수 있으므로 추천입니다!
    만약 뭔가 있으면 코멘트 부탁드립니다

    좋은 웹페이지 즐겨찾기