Platform As A Service
(Platform : 다 있음. 시장. 없는게 없음)
- Azure App Service Plans
웹 사이트 구축
성능 ,가격, 기능이 다름
한 앱 서비스에 대한 한개 이상의 앱이 구성될 수 있음
- App Service Plan Pricing
** Standard를 추천 (Auto-scaling 가능. 과부하 시 5개까지 늘어남)
- Scale Up과 Scale Out 가능
- Plan Scaling 변경이 가능
- Create an App Service
이름은 반드시 고유해야 함
- Deployment Slots 생성
서비스 중단 없이 업그레이드 하는 기능
(Standard는 ~5개)
- Secure App Service
인증 기능 추가 (identity provider 추가)
그 서비스를 Azure AD에 넣는 것임(그 사이트에 접속하면 인증 요청을 받아라. )
- Custom Domain
dns zones > create > record set 추가 > txt record type > app service > custom domain > add custom domain > validate
실습) Web Apps 구현
이 실습에서의 절차는 아래와 같다.
- Azure 웹 앱 만들기
- Deployment Slots 만들기
- 웹 앱 배포 설정 구성
- Deployment Slots에 코드 배포
- Deployment Slots Swap
- Azure 웹 앱의 자동 스케일링 구성 및 테스트
Task 1 : Azure 웹 앱 만들기
웹앱 이름은 yrleewa.
생성한 웹 사이트는 PHP 런타임 스택을 사용하여 Windows 서버에서 실행된다.
Task 2 : Deployment Slots 만들기
이 웹 페이지의 URL 주소는 https://yrleewa.azurewebsites.net 이다.
이 deployment slot의 URL 주소는 https://yrleewa-staging.azurewebsites.net 이다.
Task 3 : 웹 앱 배포 설정 구성
Task 4 : Deployment Slots에 코드 배포
Azure Cloud Shell(PowerShell)에서 진행한다.
git clone https://github.com/Azure-Samples/php-docs-hello-world
Set-Location -Path $HOME/php-docs-hello-world/
Git으로부터 예시 웹 사이트 코드를 가져온다.
git remote add [deployment_user_name] [git_clone_url]
git push [deployment_user_name] master
[deployment_user_name]에는 Task 3에서 가장 마지막에 입력했던 User Scope 정보를 넣어주면 된다.
Task 5 : Deployment Slots Swap
만들었던 Deployment Slot와 Swap을 진행한다.
현재 yrleewa는 git에서 가져온 hello world!를 표시하는 페이지이며, yrleewa-staging 은 바꾸지 않은 기본 페이지이다.
Swap을 했기 때문에 yrleewa-staging의 내용이 뜨게 된다.
(클라이언트는 같은 URL을 사용하는 것이지만 사실 내부적으로 이 페이지는 yrleewa-staging 의 내용을 보여주는 것이다.)
Task 6 : Azure 웹 앱의 자동 스케일링 구성 및 테스트
위 설정은 대기 시간 없이 가능한 한 빨리 자동 스케일링을 트리거하는 것이므로 오로지 테스트를 하기 위한 설정이다.
1분동안 CPU 사용률이 10% 이상이 되면 최대 2개의 web application을 Scale Out 한다.
프로세스 탐색기를 사용하면 인스턴스 수와 해당 리소스 활용률을 쉽게 모니터링할 수 있다.
인스턴스가 2개가 되었으므로 테스트 성공
** 모든 리소스 삭제하기
Get-AzResourceGroup -Name 'az104-09a*'
Get-AzResourceGroup -Name 'az104-09a*' | Remove-AzResourceGroup -Force -AsJob
'Study > Cloud' 카테고리의 다른 글
AZ104 (NAT) (0) | 2022.08.12 |
---|---|
AZ104 (Container, Kubernetes) (0) | 2022.08.12 |
AZ104 (Virtual Machine Management) (0) | 2022.08.12 |
AZ104 (Azure Storage) (0) | 2022.08.10 |
AZ104 (Load Balancing Services) (0) | 2022.08.10 |