AWS가 개최하는 Re:Invent라는 컨퍼런스에서 멀티 클라우드에 대한 이야기가 약간 언급되었나 봅니다. 대충 듣기론 멀티 클라우드를 위한 관리툴에 대한 이야기인 것 같습니다. 그래서 오늘은 멀티클라우드가 뭔지, 그리고 보안쪽 관점에선 어떤 방법으로 바라봐야할지 글로 풀어봅니다. (사실 저도 잘 몰라요. 그냥 생각나는 대로 적는거고, 의견은 댓글로 주세요 😅)
What is Multi-cloud?
우선 멀티 클라우드에 대해 알아야합니다. 이름을 보고 대충 아시겠지만 AWS, Azure, GCP 등의 클라우드 서비스를 여러개 사용하는 걸 의미합니다. 조금 더 명확하게 본다면 단순히 동시에 여러 클라우드 서비스를 사용하는게 아니라 클라우드 서비스들 사이에서 중재해주는 도구들을 통해서 여러 클라우드 서비스를 사용하는 것을 의미하겠죠. (도구도 많이 나오고있고, 그래서 AWS도 관리툴에 대한 니즈를 느꼈나봅니다)
관련 도구들을 제공하는 서비스의 구성도를 보면 이렇습니다.
내용을 보자면 여러개의 public cloud 서비스(aws,azure,gcp 등) 과 private cloud(온프레미스)가 한곳에서 관리되고 있는 형태이고 실제로 이는 각 Cloud 서비스의 API를 이용해서 관리해주는 도구라고 생각하시면 될 것 같습니다.
보통은 특정 클라우드 서비스와 온프레미스 환경이 결합된 Hybrid 클라우드 형태를 많이 사용하는 것 같은데, 이 것 마저도 점차 변하고 있나 봅니다.
Security
기존 클라우드 보안에서 복잡하고 배우기 어렵다고 느꼈던 점은 굉장히 많은 구간(AppSec, InfraSec 등등)에서의 보안 요소를 고려해야하고 많은 기능과 정책 안에서 적절한 가이드를 제시하고 끌어나가야 한다는 점입니다. 여기서 Multi-cloud의 경우 여러 public cloud 서비스들에 대한 각기 다른 정책과 보안적인 요소들, 그리고 이를 통합하는 도구의 보안적인 요소까지 고려가 필요할 것 같습니다.
여러가지 자료랑 제 생각 참고해서 대충 뽑아보면 이렇습니다.
연결될 각 서비스에 대한 보안 가이드라인
우선 당연히 각 public cloud에 대한 보안 가이드라인은 확실하게 있어야할겁니다. 이게 없다면 관리되지 않는 public cloud가 나올 수 있고, 이는 큰 홀로 작용하죠.
통합 관리 도구에 대한 보안
아래 control 지점의 단순화 부분이기도 한데, 결국 운영적인 측면에서도 관리해줄 수 있는 도구가 필요해집니다. 만약 AWS, Azure, GCP 등 public cloud에서 제공해주는 도구라면 상대적으로 고민이 덜하겠지만, 또 다른 타 서비스를 이용하는 경우 굉장히 중요하고 타이트하게 관리가 필요하겠죠. (한번의 실수로 큰 사고로 이어질 수 있는..)
정책 동기화
여러 클라우드 서비스가 동시에 운영되기 때문에 각기 다른 정책을 가질 경우 관리도 어렵고 정책적인 이슈로 홀이 생길 수 있습니다. 예를들면 AWS를 주력으로 사용하는 기업에서 멀티 클라우드를 적용했을 때 AWS에선 네트워크단에서 특정 포트를 제외하곤 모두 차단하는 정책이 있다고 하고, GCP에선 그러한 정책이 없다고 칩시다. 그러면 AWS쪽만 보았을 땐 당연히 제한되고 있다고 생각하겠지만, GCP의 정책과 설정을 자세히 체크하지 않는 이상 이점을 놓칠 수 있게되죠.
자동화(DevSecOps)
이건 클라우드를 떠나서 현재 트렌드적인 부분이긴합니다. 당연히 자동화된 환경으로 보안담당자가 직접 체크해야할 부분을 줄여나가고, 조금 더 의미있는 부분에 시간을 쓰는게 좋습니다.
Control 지점의 단순화
클라우드의 운영이던, 보안적인 부분이던 정책/설정 등에 대해 공통적으로 컨트롤할 수 있는 구간이 있다면 좋습니다. 이건 각 클라우드사에서 제공하게 되는 기능이 있다면 사용하고, 아니면 외부 서비스를 사용하거나 직접 구현하는 방법도 있을 것 같네요.
Conclusion
그냥 문뜩 밤에 생각난 내용으로만 글을 쓴 상태라 아마도 많이 모자랄겁니다. (물론 거기에 전 기술보안이라 당연히 정책적인 부분은 많이 떨어질거구요..)
아무튼, 멀티 클라우드를 적용하는데 있어 참고하는 수준으로 봐주셨으면 합니다 😁