이번 포스팅은 다중사이트호스팅으로 Application Gateway(어플리케이션게이트웨이)로 만들어 보려한다
어플리케이션 게이트웨이를 통해 접속하게되면 각 하위 URL을 기반으로 다른 웹 서버를 라우팅 해주는 방식이다
즉 a1.com으로 접속하면 user페이지가 노출되고 b2.com으로 접속하면 admin페이지가 나오도록 말이다
아래 그림은 어플리케이션 게이트웨이의 기본적인 동작 구조이다
※ 경로기반 어플리케이션 게이트웨이 생성 및 설정 순서 요약 ※ 1. 가상머신 생성 → 가상머신에서 웹서버 설치 및 설정을 한다 → 가상머신에 대한 설정은 네트워크 보안그룹에서 Http 허용에 대한 내용이다 2. 로드벨런서 생성 → 로드밸런서의 프론트 엔드 IP생성 해준다 → 백엔드 풀을 설정해준다 (앞에서 생성한 가상머신을 선택한다) → 상태 프로브와 부하 분산규칙을 설정해준다 ( 80/443번 포트를 오픈해준다) 3. 어플리케이션 게이트웨이 생성 → 어플리케이션 게이트웨이 프론트 엔드 IP 생성 → 어플리케이션 게이트웨이의 프론트 엔드 IP를 이용해 2개의 도메인을 만들어준다 ![]()
![]() → 백엔드 풀 설정 (URL경로기반 라우팅을 하기때문에 n개의 백엔드 설정값이 필요하다,) ![]() → 수신기 설정 (이름, 프론트엔드, 포트를 설정해주고 수신기유형은 URL기반으로 라우팅될 수 있도록 '다중사이트'를 선택해준다) ![]()
![]() → 규칙 생성중 백엔드 대상을 설정 합니다 ![]() ![]() |
![](https://blog.kakaocdn.net/dn/IsqKY/btqLwfcN3Z4/B7mmlkKY6JLg4cN2XG99i0/img.png)
1. 제일먼저 가상머신 이미지가 필요하다
(웹서버가 배포된 리눅스/윈도우 이미지를 캡쳐합니다, 웹서버가 접속을 확인할 수 있는 가장 쉬운 방법입니다.)
![](https://blog.kakaocdn.net/dn/FltG6/btqFIject6u/u8kmGkEVJkQFKPzORbuv20/img.png)
2. 이미지를 캡쳐하면서 "이미지를 만든 후 가상 머신을 삭제"를 Check해준다. (비용절약이 이유)
이미지가 캡쳐했다면 이제 어플리케이션 게이트웨이를 만들어준다
![](https://blog.kakaocdn.net/dn/cxa3nL/btqFDxrVuKu/ddrfnq4xVc6Kqeb7l1ccz0/img.png)
3. 어플리케이션 게이트웨이의 가상네트워크를 만든다
리소스 그룹, 리전, 가상네트워크를 설정해 준다
가상 네트워크를 만들 때 서브넷을 2개 만들어준다, 2개를 만드는 이유는 어플리케이션 게이트웨이가 하나의 서브넷을 차지하고 나머지 서브넷은 로드벨런서,VM을 묶어주기 위해서다
![](https://blog.kakaocdn.net/dn/xZ1n6/btqFD5aQaCP/hQg7eJ2l3vUNTMlp6aCYIk/img.png)
4. 어플리케이션 게이트웨이의 프런트엔드를 만든다
외부 사용자가 어플리케이션 게이트웨이를 통해 들어올 수 있도록 공용 IP를 할당해준다
물론 실제 서비스는 도메인으로 이루어진다
![](https://blog.kakaocdn.net/dn/7sHc9/btqFIiGPwwZ/nutCXnZdTBQmwQxNMhQ520/img.png)
5. 백엔드를 할당 해준다
로드밸런서를 추가해줘야한다 (아직 만들지 않았기 때문에, 비워둔채 생성후 뒤에서 설정한다)
![](https://blog.kakaocdn.net/dn/bksVrV/btqFHaWlkPl/yrO7XlT8kUQG834guzMz90/img.png)
6. 수신기를 추가 설정해준다 (회람규칙)
외부 사용자가 어플리케이션으로 접속했을 때 어떤 URL로 보낼지 설정해주는 부분
☞ HTTP(tcp:80) 통신이 수신되면 가리키는 백엔드로 넘김
여기서 어플리케이션의 백엔드는 로드 밸런서를 가리키고 있습니다
도메인을 등록하는 방법
▼ Click
https://www.freenom.com/ 에서 무료로 도메인을 사용할 수 있다 여기서 도메인을 생성하고 아래와 같이 따라하면 된다
![](https://blog.kakaocdn.net/dn/bhOxlp/btqFIG1N1Nz/VvA3Xn6RwypLFK2CAre9m0/img.png)
![](https://blog.kakaocdn.net/dn/vCcGK/btqFHb9hXla/BmYKHww2WKelSVdBmfs4G1/img.png)
7. 백앤드를 추가 설정해준다 (회람규칙)
당연하지만, 백 엔드를 지정해 주기전 로드밸런서가 생성되어있어야지 ip를 써줄 수 있다
![](https://blog.kakaocdn.net/dn/MmwF7/btqFIj6ucqB/FruyOULINqwmOPf7ZMO4ok/img.png)
8. 로드밸런서를 만들어줍니다
표준을 선택해주고 동일 가상네트워크을 선택하고 서브넷2를 선택해준다
서브넷1,서브넷2를 만들었는데 서브넷1을 사용 못하는 이유는 어플리케이션 게이트웨이가 하나를 모두 할당 받고있기때문에 서브넷2만 이용 가능하다
![](https://blog.kakaocdn.net/dn/c2uT0o/btqFIH0mG7M/XcdphxIEgi8UMQkNdKsK7K/img.png)
9. 로드밸런서의 백엔드를 지정해줍니다
로드밸런서는 2개를 만들어서 하나는 VMSS1를 가리켜 a1.com 을 또다른 하나는 VMSS2를 가리켜 2b.com을 가리킬수있게 한다
즉 백엔드는 VMSS(Virtual Machine Scale Set)를 가리킨다
또한 VMSS1은 1a.com을 보여주기 위한 VM을 세팅하고 VMSS2는 2b.com을 보여주기 위한 VM을 세팅한다
![](https://blog.kakaocdn.net/dn/cb2PIk/btqFD5hQcoH/5Ym4zCVzg3VNIYfcYxkWMk/img.png)
10. 로드밸런서의 백엔드를 할당하기위해서 VMSS(Virtual Machine Scale Set)를 생성한다
☞ VMSS를 사용하기 위해 이미지 파일은 이전에 생성해뒀던 이미지로 생성한다
☞ 디스크는 테스트용이니 표준HDD를 사용한다
☞ 네트워크는 서브넷2를 선택하고 프론트엔드(부하분산장치)는 로드밸런서를 선택한다 (서브넷1은 AG가 할당되어 사용할 수 없다)
☞ 가상머신의 분산처리(스케일업/다운)는 원하는값으로 적절하게 지정한다
![](https://blog.kakaocdn.net/dn/AzCef/btqFIGgjCv6/iYCbBn7BYIlYKRFjJ19Md0/img.png)
![](https://blog.kakaocdn.net/dn/uLVTE/btqFFU1rURS/4IXX4EFru8ninm2VEe0EiK/img.png)
![](https://blog.kakaocdn.net/dn/baaBAn/btqFGycLobl/sisNnzpJVCp4OKKzuw6xfK/img.png)
11. 로드벨런서의 probe와 규칙을 지정해준다
probe와 규칙은 로드밸런서로 특정포트가 들어오면 다음 리소스(백엔드)로 넘기는 작업을 선언하는 것이다
![](https://blog.kakaocdn.net/dn/U4Nom/btqFGMhxpoC/HSIRdt8kNJXuntT0KWvX1K/img.png)
![](https://blog.kakaocdn.net/dn/bErpUh/btqFFUNUHND/CKHv58ukMSgZTRbkU3k7WK/img.png)
12. 마지막으로 가상네트워크(V-Net1) 인바운드 규칙을 수정한다
여기서 V-Net1은 서브넷1(어플리케이션 게이트웨이), 서브넷2(로드밸런스, VMSS)에 대한 모든 트래픽에 대한 설정이다
외부에서 홈페이지로 유저가 들어올수있도록 80번 포트만 열어준다
![](https://blog.kakaocdn.net/dn/cQHHKJ/btqFIiz2Jwz/JIDJ5WRKKmUzTVsyzOjEY0/img.png)
결과
☞ 다음과 같은 화면을 볼수있다
123**.com를 접속하면 'HI HI 1"이라는 문구를 볼수있고, 1-**.com를 접속하면 관리자페이지를 볼수 있다
![](https://blog.kakaocdn.net/dn/b0Noga/btqFIHfg3Z3/Zd6ITnrG3J3KlspEoL1Ce0/img.png)
'Azure :: 애저 지식 > 02 Azure :: 애저 기초 지식' 카테고리의 다른 글
05 DataDisk mount to Azure VM for linux :: 리눅스 가상머신에 데이터 디스크 마운드하기 (0) | 2020.10.30 |
---|---|
04 VNet-to-VNet :: Azure Peering을 이용한 리전간 통신 (0) | 2020.08.11 |
03 VNet-to-VNet :: Azure 가상 네트워크 게이트웨이를 이용해 리전간 통신 (0) | 2020.08.05 |
02 윈도우서버를 에저에 마이그레이션 (VHD 업로드) :: Migrate On-Premises VHD files to Azure (0) | 2020.07.29 |
댓글