안녕하세요. HYEN입니다.
지난 글에서는 Azure Route Table의 개념과 동작 로직에 대해 알아보았습니다.
지난 글 : https://with-cloud.tistory.com/47
이번 글에서는 시나리오 별 트래픽을 라우팅하는 방법에 대한 테스트를 진행할 환경을 구성하는 과정에 대해 다뤄보도록 하겠습니다. (다음 글부터 시나리오 별 테스트를 진행해 보도록 하겠습니다.)
Contents
2. 환경 구성
본 테스트를 위해 구성해야 하는 환경은 하기와 같습니다.
- Hub, Spoke 가상 네트워크 생성
- Hub, Spoke 간 가상 네트워크 피어링 구성
- Azure Firewall 배포
- 경로 테이블 (Hub, Spoke에 각각 하나씩) 배포
- 가상 머신 (Hub, Spoke에 각각 하나씩) 배포
- Azure Database for PostgreSQL Flexible Server (VNet Integration / Private Endpoint) 배포
차례대로 구성해 보도록 하겠습니다.
2.1 Hub, Spoke 가상 네트워크 생성
※ Hub용 리소스 / Spoke용 리소스 리스트를 보다 쉽게 확인하기 위해 리소스 그룹을 분리하여 생성하겠습니다.※
첫 번째로 Hub, Spoke 가상 네트워크를 생성합니다.
[Hub 대역]
- [기본 사항] 탭
- [보안] 탭
- [보안] 탭에서 Azure Firewall을 생성할 수 있지만 별도로 배포를 진행할 예정이기 때문에 해당 과정은 생략합니다.
- [IP 주소] 탭
Hub 가상 네트워크에서 필요한 서브넷은 상기 스크린샷에서 볼 수 있듯이 2개입니다. (VM용, Azure Firewall용)
Azure Firewall용 서브넷을 생성하는 방법은 하기와 같습니다.
서브넷 용도 중 [Azure Firewall]을 선택합니다.
/26만큼의 주소 범위가 필요하므로 적당한 시작 주소를 입력합니다.
- [검토 + 만들기] 탭에서 유효성 검사 후 [만들기]를 클릭하여 [가상 네트워크] 생성을 마무리합니다.
[Spoke 대역]
- [기본 사항] 탭
- [IP 주소] 탭
Spoke 가상 네트워크에서 필요한 서브넷은 상기 스크린샷에서 볼 수 있듯이 3개입니다. (VM용, Private Endpoint용, Azure Database for PostgreSQL에 대한 위임된 서브넷 용)
해당 탭에서 snet-postgre-dedicated 서브넷을 Azure Database for PostgreSQL에 위임할 수 있으나 해당 리소스를 생성할 때 구성하도록 하겠습니다.
- [검토 + 만들기] 탭에서 유효성 검사 후 [만들기]를 클릭하여 [가상 네트워크] 생성을 마무리합니다.
2.2 Hub, Spoke 간 가상 네트워크 피어링 구성
생성한 두 가상 네트워크 간 가상 네트워크 피어링을 구성합니다.
- [가상 네트워크] > [설정] > [피어링] 탭 > [+ 추가]
- [피어링 추가] 페이지
피어링 이름과, 피어링 할 네트워크를 선택한 후 [추가] 버튼을 클릭하여 피어링 구성을 완료합니다.
상기 스크린샷과 같이 피어링 상태가 "연결됨"일 경우 구성이 제대로 된 것입니다.
2.3 Azure Firewall 배포
Hub 대역에 Azure Firewall을 배포합니다.
- [기본 사항] 탭
- [검토 + 만들기] 탭에서 유효성 검사 후 [만들기]를 클릭하여 [Azure Firewall] 배포를 마무리합니다.
2.4 경로 테이블 배포
사용자 지정 경로를 구성하기 위해 우선 Route Tables를 배포합니다.
Hub, Spoke 각 대역에 한 개씩 배포합니다.
[Hub 대역]
- [기본] 탭
- [검토 + 만들기] 탭에서 유효성 검사 후 [만들기]를 클릭하여 [경로 테이블] 생성을 마무리합니다.
[Spoke 대역]
- [기본] 탭
- [검토 + 만들기] 탭에서 유효성 검사 후 [만들기]를 클릭하여 [경로 테이블] 생성을 마무리합니다.
여기서, "게이트웨이 경로 전파"에 대해 좀 더 알아보겠습니다.
게이트웨이 경로 전파란?
VPN이나 ExpressRoute를 통해 들어온 트래픽이 Azure 내 리소스와 통신할 때 사용합니다.
해당 설정이 활성화되어 있으면 라우트 테이블을 자동으로 전달해 주기 때문에 VPN이나 ExpressRoute를 통해 Azure의 네트워크로 갈 때, 이 경로에 대해서 별도의 구성을 하지 않아도 됩니다.
해당 설정이 비활성화되어 있을 경우, 도달해야 하는 목적지에 대한 정보가 자동으로 제공되지 않기 때문에 직접 경로에 대한 구성을 해 주어야 합니다.
2.5 가상 머신 배포
가상 머신을 배포한 후에 Azure Database for PostgreSQL에 접근할 수 있도록 psql (PostgreSQL과 상호 작용하기 위한 명령줄 도구)를 설치합니다.
※ 가상 머신 배포 과정은 Hub용, Spoke용 모두 동일합니다. (리소스 그룹 명, 가상 네트워크/서브넷 대역만 다르게 지정)
본 테스트는 Hub 기준으로 작성하도록 하겠습니다.※
- [기본 사항] 탭
- [네트워킹] 탭
공용 IP의 경우 psql 설치를 위해 Hub용 가상 머신에만 잠시 attach 합니다. (추후, Azure Firewall 규칙 및 UDR 구성 시 공용 IP는 필요하지 않습니다.)
- [검토 + 만들기] 탭에서 유효성 검사 후 [만들기]를 클릭하여 [가상 머신] 생성을 마무리합니다.
위와 같은 방식으로 Spoke용 가상 머신도 생성합니다. (공용 IP는 붙이지 않습니다.)
가상 머신 배포가 완료된 후에는 psql 설치를 진행합니다. (Hub, Spoke용 가상 머신 모두에 설치합니다.)
- psql 설치를 위해 Hub용 가상 머신에 접근합니다. (ssh hyein@{hub용 가상 머신 공용 IP})
- https://www.postgresql.org/download/ 페이지로 이동하여 Linux > Ubuntu를 선택한 후 해당 페이지의 install 과정을 따라 psql 설치를 진행합니다.
- Spoke용 가상 머신에 접근하여 상기 과정을 진행합니다. (ssh hyein@10.100.0.4)
2.6 Azure Database for PostgreSQL Flexibel Server 배포
환경 구성의 마지막 단계로 Azure Database for PostgreSQL Flexibel Server를 배포합니다.
네트워킹 옵션이 각각 VNet Integration, Private Endpoint인 Azure Database for PostgreSQL Flexibel Server를 배포해 보겠습니다.
Private Endpoint와 VNet Integration에 대한 설명은 하기 글을 참고해 주세요!
https://with-cloud.tistory.com/48
[Private Endpoint]
- [기본] 탭
- [네트워킹] 탭
[공용 액세스] 섹션에서 "공용 IP 주소를 사용하여 인터넷을 통해 이 리소스에 공용 액세스 허용"에 대한 체크 박스를 해제합니다.
그다음 하단의 [프라이빗 엔드포인트] 섹션에서 [+ 프라이빗 엔드포인트]를 클릭하여 프라이빗 엔드포인트 생성을 진행합니다.
- [검토 + 만들기] 탭에서 유효성 검사 후 [만들기]를 클릭하여 [Azure Database for PostgreSQL Flexible Server] 생성을 마무리합니다.
- [만들기] 버튼을 클릭하면 하기와 같은 창이 뜹니다. [방화벽 규칙 없이 서버 만들기] 버튼을 클릭하여 생성을 진행합니다. (이 부분은 구성할 필요가 없습니다.)
다음은 VNet Integration 된 Azure Database for PostgreSQL Flexible Server를 배포해 보겠습니다.
[VNet Integration (Private Access)]
- [기본] 탭
- [네트워킹] 탭
- [검토 + 만들기] 탭에서 유효성 검사 후 [만들기]를 클릭하여 [Azure Database for PostgreSQL Flexible Server] 생성을 마무리합니다.
이상으로 이번 글을 마무리 하도록 하겠습니다!
다음에는 시나리오별 테스트하는 글로 만나요 ! 🤩
'TOPIC > Cloud' 카테고리의 다른 글
Azure Route Table 공부하기 (4) (0) | 2024.05.09 |
---|---|
Azure Route Table 공부하기 (3) (0) | 2024.05.02 |
프라이빗 엔드포인트 VS VNET 통합 (프라이빗 액세스) (0) | 2024.04.30 |
Azure Route Table 공부하기 (1) (1) | 2024.04.26 |
Azure Container Login 시 발생할 수 있는 에러 해결하기 (1) | 2024.04.26 |