AWS

[기초] AWS 아키텍처로 서브넷, EC2, RDS 이해하기

양바른 2023. 4. 8. 22:03

AWS의 어려운 용어를 이해하기에 앞서, 생활속의 경험들로 개념을 잡아봅니다.

AWS의 일상 비유

아래는 AWS 클라우드 아키텍처 구성도를 우리가 살고 있는 집 또는 아파트에 빗댄 비유입니다. 크게 보면, 우리 아파트는 공원(보도/화단)과 집 안의 거실 그리고 안방으로 구분할 수 있어요. 우리집에 살고 있는 나와 우리 가족들은 출입문을 통해서 거실로 들어가고 냉장고에서 맛있는 음식도 꺼내 먹을 수 있어요. 그러나 우리 집에 살고 있지 않는 친척이나 친구들, 심지어 도둑(사기꾼)은 공식적인 경로를 통해서만 방문을 할 수 있겠죠. 그건 경비실을 통하거나 인터폰을 통해서 우리 집에 방문하게 됩니다.

그러나 고민해야 할 부분이 있습니다. 극단적이긴 하지만, 만약에 냉장고에 불이 났다고 가정하면, 빠르게 옆에 떨어져 있는 독립된 공간인 안방으로 이동시켜주면 됩니다. 그렇다면 우리는 냉장고에서 아이스크림을 꺼내먹는 일을 멈추지 않아도 되겠죠. 이것이 바로 '안방'이라는 공간은 존재하는 이유입니다. 비유가 극단적이어서 완전히 와닿진 않을 수 있지만, 스토리의 흐름은 이렇습니다.

실 AWS 아키텍처

위에서 구구절절 비유을 들어서 하나의 스토리를 가정해보았습니다. 위의 출입문은 EC2 자원으로 구성한 Bastion host이고, 음식을 대접하는 EC2는 중요한 비즈니스 로직을 처리하는 애플리케이션 서버(WAS)라고 이해하면 됩니다. 또한 중요한 정보를 저장하고 조회하는 냉장고는 DB 또는 NoSQL 서버라고 보면 됩니다. 마지막으로 외부의 방문이나 침입을 경비실은 로드밸런서(Loadbalancer) 서비스인 ELB(Elastic LoadBalancer)라고 보면 됩니다. 여기서 외부에서 직접 통신이 필요한 경비실과 출입문은 인터넷 환경에서 직접 접속이 가능한 퍼블릭 서브넷(Public Subnet)이고, 인터넷과 직접 접근이 불가능한 우리집의 거실과 안방은 프라이빗 서브넷(Private Subnet)이라고 보시면 됩니다.

  • 초록색 공간 = 공원/보도/화단 => 퍼블릭 서브넷(Public Subnet)
  • 파란색 공간 = 거실/안방 => 프라이빗 서브넷(Private Subnet)

만약 AWS를 처음 접한 초보자 분께서는 일단은 단순하게 아래와 같은 구성으로 애플리케이션을 만들어보길 권고합니다. 그리고 나서 이중화를 어떻게 해야할지, 가용성을 어떻게 높힐지, AWS 자원사용에 대한 비용은 어떻게 줄일 수 있는지 같이 고민하는 시간을 갖도록 하겠습니다.

비록 아래 그림은 클라우드 자원들이 인터넷과 직접 통신이 가능한 퍼블릭 서브넷(Public Subnet)에 위치하므로, 여러분이 생성한 자원은 미국에서, 태국에서, 영국에서,, 등 전세계예서 노출되어 있는 상태입니다. 

인터넷 환경에 직접 노출된 위험한 상태

일반적으로 안전한 서비스를 구성하기 위해서는 최소한 아래와 같은 구성이 필요하다. 서비스를 주요 수행하는 EC2와 RDS는 임의 접근이 불가능하도록 프라이빗한 공간에 위치시키는게 안전할 것이다.

 

외위 추가적이고, 필수적인 자원들(Security Gruop, NACL, EC2, RDS, ELB 등)은 매우 쉬운 용어로 설명할 예정입니다.​