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 계정에 생성

AWS PrivateLink

 

*참고 : VPC peering 구성은 125개가 한계