안녕하세요
이번 시간에는 NCLOUD 하이브리드 클라우드 환경에서 통신 테스트하는 방법을 알아보겠습니다.
하이브리드 클라우드 환경에서는 통신 한 번에 필요한 이해관계자가 굉장히 많기 때문에 NCP에서 IDC로 통신이 필요한 가상의 시나리오를 잡고 진행하겠습니다.
1. 개요
기본적으로 퍼블릭 클라우드 환경과 온 프레미스는 VPN을 통해서 통신을 진행합니다. 물론 성능을 보장받기 위해서는 Direct Connect를 사용하지만 기본적으로 다음과 같은 구조를 가지고 있습니다.
이때 퍼블릭 클라우드 리소스에서 온프레미스와 통신이 이뤄진다면 VPN을 통해서 내부망 통신이 일어날 수 있고 NAT를 통한 공인망 통신이 이뤄질 수 있습니다.
통신 테스트 시 필요한 이해 관계자는 다음과 같이 퍼블릭 클라우드 상 시스템 매니저, 클라우드 운영자, VPN 담당자, 온프레미스 방화벽 담당자, 온프레미스 시스템 매니저가 있습니다. 물론 필요에 따라 더 많거나 적은 이해관계자가 필요할 수 있습니다.
2. 통신 테스트 기본 프로세스
1. 다음과 같이 어느 시스템이 필요로 인해 통신이 필요함을 알립니다. 양쪽의 시스템 담당자는 서비스 영향도를 파악한 후 필요한 출발지 IP, 출발지 호스트, 목적지 IP, 목적지 호스트, 필요한 포트, 사유를 입력한 후 방화벽 결재 승인을 받습니다.
2. 담당자 간 ROLE
(1) 퍼블릭 클라우드 운영 담당자는 방화벽 결재 건을 확인하여 IPsec VPN 리모트 대역, 라우팅, 보안 그룹(ACG)을 수정합니다.
(2) VPN 담당자는 방화벽 결재 건을 확인하여 IPsec VPN 리모트 대역, 라우팅, VPN 방화벽 정책을 수정합니다.
(3) IDC 방화벽 담당자는 방화벽 결재 건을 확인하여 방화벽 정책을 수정합니다.
3. 통신 테스트 확인
사전에 내부망 통신이 필요한지 공인망 통신이 필요한지 협의한 후 필요에 따라 통신 방향을 설정합니다. 또한 서비스가 헤더 기반인지 IP 기반인지 확인하는 것도 필요합니다. 기본적으로 공인망 통신이 이뤄지기 때문에 해당 서버에서 hosts를 설정해서 내부망 통신이 가능하게 끔 설정할 수 있습니다.
3. 통신 테스트 (내부망)
대부분의 회사에서 telnet은 기본적으로 막혀 있을테지만 일반적으로 ICMP와 SSH 프로토콜은 기본적으로 열어주고 통신 테스트를 진행합니다. 목적지 호스트의 IP 대역만 잡아주시면 됩니다. 아웃바운드는 대부분 허용되어 있어 운영자 입장에서 인바운드 트래픽을 신경 쓰게 됩니다.
1. ACG 허용
출발지와 목적지 방향에 따라 다르겠지만 인스턴스 레벨인 ACG에서 접근 소스에 맞는 포트를 허용해주어야 합니다.
2. Routing Table 설정
VPN을 통해서 내부망 통신을 하기 위해서는 해당 서브넷의 라우팅 테이블에 VGW로 가는 라우팅 경로를 추가해주어야 합니다.
3. IPsec VPN Tunnel 설정
네이버 클라우드 플랫폼의 IPsec VPN GW와 온프레미스 VPN 장비와 연결되어 있을텐데 이때 Remote Network에 통신하고자 하는 목적지 호스트가 포함된 대역이나 IP를 추가해주어야 합니다.
4. 경로 추적
기본적으로 nslookup이나 라우팅 경로를 추적하면 해당 도메인의 공인 IP가 응답됩니다. 기본적으로 외부 DNS에서 응답을 주기 때문입니다. 그러면 기본적으로 공인망 통신을 하는데 어떻게 내부망 통신으로 바꿔줄 수 있을까요
다음과 같이 hosts에 등록하여 해당 도메인에 대한 IP를 지정해주는 방법이 있습니다.
Windows
C:\Windows\System32\drivers\etc
Linux
/etc/hosts
해당하는 운영체제에 따라 관리자 권한으로 다음 파일에서 위와 같이 수정해주면 됩니다. 외부 API인지 내부 API인지 구분해서 사용해야 하는 경우라면 유용합니다.
(hosts에 설정하는 경우 잠재적인 운영 이슈가 있을 수 있으므로 반드시 영향도 파악 필요)
5. 포트 확인
목적지의 포트가 열려 있는지 확인해야 한다면 telnet, nc, curl, ss 등 다양한 명령어를 통해 중간에 방화벽이 막혀 있진 않은지 포트가 닫혀 있는지 확인할 수 있습니다.
반면에 본인이 관리하는 시스템에서 포트가 열려 있는지 확인하기 위해서는 netstat, lsof, ps 등 다양한 명령어를 통해 해당 포트가 외부에 열려 있는지 확인할 수 있습니다.
4. 통신 테스트 (공인망)
공인망으로 통신 확인이 필요한 경우 VPN을 타고 내부망으로 통신하지 않기 때문에 NCLOUD에서는 Private 환경의 서버들은 NAT가 NACL, ACG 등 통신에 필요한 부분은 다 허용되어 있어야 합니다. 목적지 호스트 쪽에서는 WAF, CDN, LB, 방화벽 장비, 스위치 장비, TCP Wrapper 등 통신에 필요한 부분이 허용되어 있는지 확인해주어야 합니다.
포트가 열려있는지 확인했다면 경로 추적을 통해 어디에서 방화벽이 막혀있는지 확인할 수 있기 때문에 간단하게 통신 테스트를 진행할 수 있습니다.
목적지 호스트의 애플리케이션이 IP 기반으로는 통신이 되지 않는 경우가 있습니다. 이건 WEB/WAS에서 호스트 헤더 기반으로만 응답하게 끔 설정된 경우인데 이 경우에는 도메인으로 통신해야만 로그에 남으니 참고해주시면 좋겠습니다.
이번 시간에는 NCLOUD 하이브리드 클라우드 환경에서 통신 테스트하는 방법을 알아봤습니다.
감사합니다.
'Cloud > Naver Cloud' 카테고리의 다른 글
[NCLOUD] Rocky Linux 8.10에서 Docker 설치하는 방법 알아보기 (0) | 2024.12.04 |
---|---|
[NCLOUD] 서버 오류 시 서버 접근 제어 콘솔이 비활성화 되어 있을 때 조치 가이드 (1) | 2024.10.28 |
[NCLOUD] Cloud Functions과 Slack을 이용한 나만의 비용 관리 봇 생성하기 (0) | 2024.09.30 |
[NCLOUD] 리전 간 지리적 레이턴시 문제를 해결하기 위한 아이디어 (2) | 2024.09.30 |
[NCLOUD] Private Subnet에 특정 IP만 접근 제어할 수 있는 방법 알아보기 (0) | 2024.09.28 |
클라우드, 개발, 자격증, 취업 정보 등 IT 정보 공간
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!