보안 그룹에서 하나의 규칙으로 여러 포트 범위 설정해 보기
안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 보안 그룹에서 하나의 규칙으로 여러 포트 범위를 설정해 보는 방법을 정리해 봤습니다.
포트 범위
보안 그룹에서 규칙을 설정할 때 다음과 같이 지정합니다.
유형과 프로토콜, 포트범위를 선택하고 접속을 허용하고자 하는 IP 주소를 입력합니다.
여기서 포트 범위가 더 늘어나게 된다면 어떻게 될까요?
3306부터 시작해서 3310까지 포트 범위가 늘어난다고 하면 이미지처럼 보안 그룹 규칙을 추가해서 포트 범위를 설정해주면 되겠지만, 포트 범위가 3306에서 3350 혹은 3360까지 늘어나게 된다면 보안 그룹 규칙을 관리하거나 보안 그룹 규칙을 설정하기 힘들어질 것 입니다.
또 한, AWS 공식 문서에서는 보안 그룹에서의 인바운드 또는 아웃바운드 규칙 수를 60개로 제한하고 있습니다.
이 할당량은 IPv4 및 IPv6 규칙에 개별적으로 적용됩니다. 따라서 규칙 60개의 기본 할당량을 가진 계정의 경우 보안 그룹은 IPv4 트래픽에 대한 인바운드 규칙 60개와 IPv6 트래픽에 대한 인바운드 규칙 60개를 가질 수 있습니다.
자세한 사항은 아래 공식문서를 참고해 주세요.
복수의 포트 범위 설정
하지만 보안 그룹에서는 포트 범위를 하나의 규칙에서 설정할 수 있습니다.
예를 들어 3306에서 3360까지의 포트 범위를 설정하고 싶으면 다음과 같이 설정합니다.
ex) 3306 - 3360
보안 그룹 규칙에 대해서는 아래 공식문서를 참고해 주세요.
AWS 콘솔에서 이미지와 같이 복수의 포트 범위를 설정할 수 있습니다.
여기서 허용할 IP 주소가 적다면, 규칙을 추가해서 설정하면 되겠지만 허용할 IP 수가 많으면 그만큼 규칙수도 늘어나게 됩니다.
이 때는 Managed prefix list를 사용하면 보다 쉽게 IP 주소를 관리할 수 있습니다.
Managed prefix list에 대해서는 아래 블로그를 참고해 주세요.
CloudFormation으로 보안 그룹을 생성할 때 복수의 포트 범위를 지정하고 싶을때는 아래 항목을 이용합니다.
- FormPort
- ToPort
SecurityGroup: Type: AWS::EC2::SecurityGroup Properties: GroupDescription: !Sub ${SystemName}-${EnvName}-test-sg GroupName: !Sub ${SystemName}-${EnvName}-test-sg SecurityGroupIngress: - IpProtocol: tcp FromPort: 3306 ToPort: 3360 CidrIp: x.x.x.x/x
다음 코드와 같이 FromPort에는 시작되는 포트 번호를 입력하고, ToPort에는 끝나는 포트 번호를 입력합니다.
그러면 3306에서 3360까지의 포트 범위가 설정되어 보안 그룹이 생성됩니다.
그 외, 보안 그룹 설정에 관한 CloudFormation 정보는 아래 공식 문서를 참고해 주세요.
본 블로그 게시글을 읽고 궁금한 사항이 있으신 분들은 jaewookkim533@yahoo.com로 보내주시면 감사하겠습니다.