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 구현

이 실습에서의 절차는 아래와 같다.

  1. Azure 웹 앱 만들기
  2. Deployment Slots 만들기
  3. 웹 앱 배포 설정 구성
  4. Deployment Slots에 코드 배포
  5. Deployment Slots Swap
  6. Azure 웹 앱의 자동 스케일링 구성 및 테스트

 


Task 1 : Azure 웹 앱 만들기

위와 같은 설정의 웹 앱을 하나 만든다.

웹앱 이름은 yrleewa.

생성한 웹 사이트는 PHP 런타임 스택을 사용하여 Windows 서버에서 실행된다. 


Task 2 : Deployment Slots 만들기

현재 생성한 기본 페이지 확인

이 웹 페이지의 URL 주소는 https://yrleewa.azurewebsites.net 이다.

Deployment Slot을 하나 만든다.

이 deployment slot의 URL 주소는 https://yrleewa-staging.azurewebsites.net 이다.


Task 3 : 웹 앱 배포 설정 구성

Local Git에 연결시키기 위해 Delpoyment Center에서 설정하는 과정이 필요하다.
credentials 탭의 맨 아래 부분 User Scope를 작성하고 Save


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 정보를 넣어주면 된다.

 

이렇게 하게 되면 다운로드 받은 정보를 나의 web app으로 가져올 수 있다.
따라란. 바뀌었다.


Task 5 : Deployment Slots Swap

 

만들었던 Deployment Slot와 Swap을 진행한다.

현재 yrleewa는 git에서 가져온 hello world!를 표시하는 페이지이며, yrleewa-staging 은 바꾸지 않은 기본 페이지이다.

Swap 진행!

Swap을 했기 때문에 yrleewa-staging의 내용이 뜨게 된다.

(클라이언트는 같은 URL을 사용하는 것이지만 사실 내부적으로 이 페이지는 yrleewa-staging 의 내용을 보여주는 것이다.)


Task 6 : Azure 웹 앱의 자동 스케일링 구성 및 테스트

scale out에서 scale rule을 수정한다.
이러한 설정으로 변경해준다.

위 설정은 대기 시간 없이 가능한 한 빨리 자동 스케일링을 트리거하는 것이므로 오로지 테스트를 하기 위한 설정이다. 

1분동안 CPU 사용률이 10% 이상이 되면 최대 2개의 web application을 Scale Out 한다.

 

과부하오게 설정. 계속해서 request 보냄
Process Explorer

프로세스 탐색기를 사용하면 인스턴스 수와 해당 리소스 활용률을 쉽게 모니터링할 수 있다.

인스턴스가 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

+ Recent posts