ITPE metacog/Cloud metacog
[AWS SAP] 다른 VPC의 200개 계정간에 마이크로서비스 보안 통신
잘 배우고, 잘 익히기
2021. 4. 3. 21:11
Req)
어떤 기업이 개발팀 개인별로 계정을 생성해서, 총 200개를 만들었습니다. 모든 계정은 단일 리전에 단일VPC에서 복수의 마이크로서비스를 도커 컨테이너에서 운영을 하며, 각 계정간에 마이크로서비스는 통신을 할 필요가 있습니다.
보안팀 요구사항은 이들 마이크로서비스가 공인인터넷 구간을 경유하지 않아야 하고, 단지 특정 서비스만이 다른 개별 서비스를 호출할 수 있도록 허가되어야 합니다. 만약 한 서비스를 위한 네트워크 트래픽이 거절된다면, 보안팀에게 틀림없이 어떤 거절된 요청(소스IP포함)이 알려져야 합니다.
어떻게 연결이 서비스간의 확립될 수 있나요? 이 때 보안요구사항은 만족하는 것이어야 합니다.
Sol) AWS PrivateLink, VPC Flow Logs
요구사항 | 솔루션 |
다른 VPC의 200개 계정간에 마이크로서비스 보안 통신 소스IP를 포함하는 거절된 요청 정보 표시 알림 |
AWS PrivateLink : VCP, AWS서비스, 온프레미스 애플리케이션간에 사설 연결을 AWS 네트워크에서 보안성 있게 제공 VPC Flow Logs : 거절된 트래픽 capture해서 CloudWatch Logs group으로 전달 1) 각 마이크로서비스를 위한 NLB를 생성 2) NLB를 PrivateLink endpoint서비스에 연결하고 이 서비스 를 이용할 계정을 화이트리스트 처리를 함 3) consumer VPC에서 인터페이스 endpoint를 생성하고 producer서비스를 호출할 권한을 가진 서비스의 security group ID만을 허용하는 security group을 연결함 4) producer 서비스에서는 각 마이크로서비스를 위한 security group을 생성하고, 허용된 서비스 CIDR범위만을 허락 5) VPC Flow Logs를 각 VPC에서 생성하고 거절된 트래픽을 Capture하여 ClowWatch Logs group으로 전달 6) 로그 데이터를 흘리는 CloudWatch Logs subscription을 각 security 계정에 생성 |
*참고 : VPC peering 구성은 125개가 한계