Ncloud 방화벽 ACG 권장설정과 Custom ACG 설정 예시
개요
Ncloud (네이버 클라우드)의 IP/Port 기반 필터링 방화벽 서비스인 ACG(Access Control Group) 권장설정과 Custom ACG 설정할 때 참고할 만한 예시를 몇가지 정리해보겠습니다.
Inboud 기본 규칙 삭제
VPC 화면
아래는 Default ACG가 생성되면서 설정된 전체 접근 허용 상태입니다. 여기서 X버튼을 클릭해서 [0.0.0.0/0] 대역의 설정 2가지를 모두 삭제합니다.
위에서 기본 설정을 삭제하고 특정 IP만 접근 허용 상태입니다.
일반적으로 [myip] 버튼을 클릭해서 현재 접속한 PC의 IP를 허용
하게 됩니다.
Classic 화면
아래도 Default ACG가 생성되면서 설정된 전체 접근 허용 상태입니다. 여기서 X버튼을 클릭해서 [0.0.0.0/0] 대역의 설정 2가지를 모두 삭제합니다.
위에서 기본 설정을 삭제하고 특정 IP만 접근 허용한 상태입니다.
일반적으로 [myip] 버튼을 클릭해서 현재 접속한 PC의 IP를 허용
하게 됩니다.
용도별 ACG 구분
ACG는 사용하는 서버들을 용도별로 구분해서 기본 ACG외에 별도의 Custom ACG를 아래의 예시처럼 그룹별로 생성해서 적용하는 것이 좋습니다.
VPC 환경에서 ACG 생성
[Server] - [ACG]에서 생성할 수 있으며 이름 규칙은 최소 3자, 최대 30자, 소문자만, 숫자와 하이픈(-) 사용 가능합니다.
그리고, ACG를 적용할 VPC도 선택해야 합니다.
Classic 환경에서 ACG 생성
[Server] - [ACG]에서 생성할 수 있으며 이름 규칙은 최소 6자, 최대 30자, 소문자만, 숫자와 하이픈(-) 사용 가능합니다.
용도별 Custom ACG 생성 예시
아래의 Custom ACG 명칭은 임의로 작성한 것이며, 어떤 규칙으로 이름을 정할 것인가는 각자 자체 기준에 따라 편하신대로 정하시면 됩니다.
- DB-ACG
- APP-ACG
- WAS-ACG
- WEB-ACG
- BILL-ACG
- Jenkins-ACG
- Login-Server-ACG
- Lobby-Server-ACG
- Chat-Server-ACG
- PVP-Server-ACG
- Live-Streaming-ACG
- VOD-Server-ACG
- API-Server-ACG
- Bill-DB-ACG
- Bill-APP-ACG
- Admin-Tool-ACG
- Live-Service-ACG
- Dev-System-ACG
- QA-System-ACG
- Home-Access-ACG
- External-Developer-ACG
- Partner-Company-ACG
복수의 ACG 적용
1개 서버에 허용이 필요한 설정을 모두 추가한 1개의 ACG만 무리하게 적용하려 하기 보다는 위의 예시처럼 용도별로 구분한 ACG를 여러 개 적용하는 것을 추천합니다. 예를 들어 아래와 같이 각각의 용도별 서버들에는 이런 식으로 ACG를 구분해서 적용할 수도 있습니다.
예를 들어 채팅 서버에 ACG를 적용할 때의 예시는 다음과 같습니다.
- 적용 ACG: APP-ACG, Chat-Server-ACG
마찬가지로 QA 빌링 DB에 ACG를 적용할 때의 예시는 다음과 같습니다.
- 적용 ACG: DB-ACG, BILL-ACG, QA-System-ACG
Custom ACG 적용 순서
- ACG 생성
- 우선 위의 방법대로 ACG를 용도별로 구분해서 생성합니다.
- ACG 적용
- 다음으로 생성한 ACG를 서버에 적용하는 단계입니다. 아래쪽에서 VPC, Classic 각각의 환경별로 살펴보겠습니다.
VPC 환경
VPC 환경은 NIC에 ACG가 적용되는 구조이므로 NIC당 최대 3개까지 할당할 수 있습니다.
Classic 환경
Classic 환경에서는 서버에 적용되는 구조이고, 최대 5개까지 선택 가능합니다.
서버 생성이 완료된 후에는 추가로 ACG를 적용할 수 없습니다.
Custom ACG 추가 적용-제거
Classic 환경과 달리 VPC 환경에서는 ACG가 서버가 아닌 NIC에 적용되는 구조이며, 기존에 적용된 ACG외에 추가로 ACG를 적용하거나 제거할 수 있습니다
.
아래와 같이 서버 상세정보 NIC 항목에서 [ACG 수정] 버튼을 클릭합니다.
ACG 추가 적용
ACG 수정 화면에서 왼쪽 창에서 적용하려는 ACG를 선택하고 오른쪽 창으로 이동시키면 됩니다.
ACG 제거
ACG 수정 화면에서 오른쪽 창에서 제거하려는 ACG를 선택하고 왼쪽 창으로 이동시키면 됩니다.
접근소스를 Load Balancer로 설정
ACG를 설정할 때 접근 소스 항목은 보통 IP주소를 입력하게 됩니다. 하지만 특수한 경우로 Load Balancer를 지정하거나 ACG를 직접 지정하는 경우도 있습니다.
먼저 로드밸런서를 생성하고 서버와 연결한 후에 서버측 ACG에 로드밸런서의 접근을 허용하는 방법에 대해 알아보겠습니다.
VPC 환경
VPC 환경에서 아래와 같이 로드밸런서의 서브넷 네트워크가 [10.0.4.0/24] 대역이라고 가정해보겠습니다.
서버의 ACG 규칙 설정 화면에서 아래와 같이 접근소스에 위에서 확인한 로드밸런서의 서브넷 네트워크 [10.0.4.0/24]를 입력하면 됩니다.
⁃ VPC 환경에서 Application Load Balancer 생성하기
Classic 환경
Classic 환경에서는 아래와 같이 로드밸런서의 ACG 소스 명칭이 [ncloud-load-balancer]로 고정되어 있습니다.
ACG 규칙 설정 화면에서 접근소스에 로드밸런서의 ACG 소스 [ncloud-load-balancer]를 입력하면 됩니다.
접근소스를 ACG로 설정
다음으로 다른 ACG를 접근소스로 지정하는 경우도 있습니다. 이것은 해당 ACG가 적용된 서버들이 접근할 수 있도록 규칙을 설정하는 것인데, 아래 설정 방법과 예시를 통해 자세히 알아보겠습니다.
VPC 환경
ACG 규칙 설정에서 접근 소스 항목에 지정하려는 ACG 이름을 일부 입력하면 아래와 같이 적용 가능한 ACG 리스트가 나타는데 그 중에서 지정하려는 ACG를 선택하면 됩니다.
Classic 환경
Classic도 마찬가지로 ACG 규칙 설정에서 접근 소스 항목에 지정하려는 ACG 이름을 일부 입력하면 아래와 같이 적용 가능한 ACG 리스트가 나타는데 그 중에서 지정하려는 ACG를 선택하면 됩니다. Classic은 VPC와 달리 특별한 제한이 없습니다.
예시
아래와 같이 SVR-1, SVR-2, SVR-3 서버에 각각 ACG-1, ACG-2가 적용되어 있다고 가정해보겠습니다.
[ACG-1]
- 적용서버 : SVR-1, SVR-2
[ACG-2]
- 적용서버 : SVR-3
[ACG-2 적용 규칙]
- 프로토콜 : TCP
- 접근소스 : ACG-1
- 허용포트 : 80
위와 같은 경우 ACG-1이 적용된 SVR-1, SVR-2 서버에서 ACG-2가 적용된 SVR-3 서버로 80포트를 이용한 접근을 허용한다는 의미입니다.
ACG 삭제
Custom ACG는 VPC, Classic 환경 모두 [Console] - [Server] - [ACG] 메뉴에서 삭제할 수 있습니다.
삭제하려는 ACG를 선택하고 [ACG 삭제] 버튼을 클릭합니다.
ACG 삭제 팝업에서 [예] 버튼을 클릭합니다.
삭제 불가
아직 적용된 서버나 NIC가 존재하는 ACG는 삭제할 수 없습니다.
VPC 환경
VPC 환경에서 삭제를 시도하면 [ACG에 속해 있는 Network Interface가 존재합니다. 해당 Network Interface에서 ACG를 삭제 후 다시 시도해주세요]라는 메시지가 나타납니다.
Classic 환경
Classic 환경에서 삭제를 시도하면 [서버가 한대라도 ACG 에 적용되어 있는 상태이면, 해당 ACG 는 삭제할 수 없습니다]라는 메시지가 나타납니다.
Default ACG 삭제 불가
기본적으로 생성된 Default ACG는 삭제할 수 없습니다.
참고 URL
-
VPC 환경 ACG 설정
https://guide.ncloud-docs.com/docs/server-acg-vpc -
Classic 환경 ACG 설정
https://guide.ncloud-docs.com/docs/server-acg-classic
문서 업데이트 내역
날짜 | 내용 |
---|---|
2022-07-06 | 문서 최초 생성 |