답변:
AWS에는 계정에서 수행 된 대부분의 API 호출을 추적하는 CloudTrail 서비스가 있습니다. 그런 다음 지정된 S3 버킷에 파일로 저장합니다.
https://aws.amazon.com/cloudtrail/
CloudTrail을 사용하면 누가 어떤 서비스를 어떤 변경이라고 불렀는지 알 수 있습니다.
불행히도 현재 모든 서비스를 지원하지는 않습니다.
이를 지원할 수있는 여러 AWS 서비스가 있으며, 실제로 가장 적합한 요구 사항에 따라 다릅니다. 각기 다른 기능 (및 비용)이 적용됩니다.
CloudTrail 언급되었지만, 나를 위해 마음에 오는 첫 번째 옵션은 귀하의 질문에 주어진 (그리고이 번 언급 한 예브게니의 대답 @에 주석 )이있다 AWS 구성 서비스는 . S3 버킷에 특정 시점에 AWS 구성의 '스냅 샷'을 저장하지만 SNS 주제에 대한 변경 사항도 도움이됩니다. 그런 다음 원하는대로 처리 할 수 있습니다. 예를 들어, 트래픽이 적은 계정에서는 Slack으로 바로 연결됩니다. 트래픽이 많은 계정 NumberOfMessagesPublished
에서 해당 SNS 주제에 대한 메트릭을 추적하여 평소보다 더 많은 변경이 이루어 졌는지 알 수 있습니다.
AWS Config는 '규칙'서비스도 제공합니다. 이것들은 내가 기대하는 것보다 약간 비싸지 만 귀하의 요구에 따라 유용 할 수 있습니다. 내가 놀 때와 같이 한 번에 모두 활성화하지 마십시오. 각 규칙에 대한 월 요금이 즉시 적용됩니다. ;) (그러나 규칙을 사용하지 않고 Config를 사용할 수 있습니다-그것은 내가 지금하고있는 일입니다).
Trusted Advisor 도 있습니다. 요청한 사항은 정확하게 수행하지는 않지만 엔지니어가 인프라를 구성하는 방법 (예 : 누군가의 S3 버킷이 열려 있는지 여부)과 관련하여 특정 검사를 수행하는 것이 편리 할 수 있습니다. 많은 수표가 달리 차단되므로 비즈니스 레벨 지원 계획 이상에서 가장 유용합니다.
그런 다음 AWS Cost Explorer, Trusted Advisor, Config, CloudTrail, CloudWatch, Inspector 및 GuardDuty의 측면을 결합한 CloudCheckr 와 같은 타사 도구가 있습니다. 정말로 깊이 들어가고 싶지만 모든 것을 스스로 구성하는 시간을 절약하려는 경우에 유용합니다.
또는 Terraform 또는 CloudFormation 과 같은 도구를 사용하여 인프라를 관리하고이를 통해 모든 변경을 수행하도록 명령 할 수 있습니다. 그런 다음 구성 파일 / 템플릿을 소스 제어로 커밋하고 CI의 라이브 인프라에 대해 테스트하고 누군가가 추적하지 않은 변경을 수행 한 경우 빌드에 실패 할 수 있습니다. 이렇게하면 커밋 기록이 감사 로그가되지만 엔지니어를 훈련시켜야합니다!