본문 바로가기

AWS Intro/AWS Network Intro

AWS Network Intro - Security Group, NACL, EIP, Route53

출처 AWS

NACL 과 Security Group에 대해 먼저 알아봅시다.

출처 AWS

먼저 NACL입니다. Network Access Control의 약자로 Stateless 방화벽입니다.

NACL은 기본적으로 모든 것을 허용하는 방식으로 이루어져 있으며,

server side 에 client와 server의 연속된 동작 상태정보를 저장하지 않는 형태로 들어온 포트에 대한 기록이 없기 때문에

아웃바운드에 대한 부분 또한 맞춰서 열어줘야 하는 어려운 부분이 있습니다.

또한 NACL서브넷 단위로 적용되며 서브넷 안에 있는 모든 서버 전체에 대해서 포트를 제어하므로

일반적인 사용자/서비스 포트 제어는 Security Group 해커들이 주로 사용하는 알려진 포트 같은 것을 NACL로 제어 하는 것이 좋습니다.

 

출처 AWS

반면 Security Group은 Stateful 방화벽으로, 기본적으로 모든 것을 불허하는 방식을 가지고 있습니다.

클라우드의 탄력성으로 서버가 오토 스케일링을 통해 스케일 인 아웃이 빈번하게 발생합니다.

따라서 방화벽을 IP혹은 그 대역으로 컨트롤할 수도 있으나, 서버의 IP가 수시로 바뀌는 Cloud 사상에 맞게 끔 설정을 하는것이 맞습니다.

해당 서버 혹은 서비스에 적용된 방화벽 정책인 Security group을 가지고 Security Group끼리 포트를 제어할 수 있는 것이 장점입니다.


위와 같은 방화벽 정책을 가지다보면, IP에 대한 고정이 필요한데,

AWS에서는 Public IP를 고정해서 사용해야 할 경우 Ealstic IP (EIP)를 사용하시면 됩니다.

출처 AWS

위에서 보시는 것과 같이 고정 IP를 한 서버에서 떼서 다른 서버에 붙이는 형태로 언제든지 원하는 서버에 고정된 IP를 줄 수 있습니다.

기본적으로 Region당 5개의 limit을 가지며 더 많은 리소스를 사용하기 위해서는 Support에 문의해야합니다.


Domain을 붙여서 사용해야 할 경우 AWS의 DNS 서비스인 Route53을 사용하면 됩니다.

출처 AWS

Route53은 위와 같은 서비스를 제공합니다.

Route53서비스는 100% SLA를 보장하며 도메인을 구매해서 사용하실 수 있습니다.

Domain이나 IP에 대한 헬스체크를 통해 모니터링또한 가능합니다.

 

CNAME 레코드와 달리zone apex라고도 하는 DNS 네임스페이스의 최상위 노드에 별칭 레코드를 만들 수 있습니다.

예를 들어, DNS 이름 example.com을 등록하면 zone apexexample.com입니다.

example.com에 대한 CNAME 레코드는 만들 수 없지만,

www.example.com으로 트래픽을 라우팅하는 example.com에 대한 별칭 레코드를 만들 수 있습니다.

 

예를 들어, example.com의 별칭 레코드가 lb1-1234.us-east-2.elb.amazonaws.comELB 로드 밸런서를 가리킨다고 가정합니다.

로드 밸런서의 IP 주소가 변경된다면, Route 53은 자동적으로 새로운 IP 주소를 사용하여 DNS 쿼리에 응답하기 시작합니다.

Private DNS 퍼블릭 인터넷에 DNS 데이터를 노출시키지 않고 내부 AWS 리소스에 대한 사용자 지정 도메인 이름을 관리합니다.

 

Route53에 Record를 등록할 때, 분산처리에 대한 부분을 설정할 수 있는데, 아래와 같은 기준으로 서비스를 제공합니다.

출처 AWS

따라서 이러한 구성을 통해서 다음과 같은 예시가 구성이 가능합니다.

출처 AWS

멀티 리전을 구성하여 하나의 리전에 문제가 생겼을 경우 다른 리전에서의 서비스를 통해

고객에게는 장애가 없는 것 처럼 서비스를 제공할 수 있습니다.