Azure App Service
Azure App Service : App Service Plan에 의해 실행되는 Application
App Service Plan : Application에 대한 Azure 컴퓨팅 리소스 집합
Azure App Service 이점
- App Service 사용 시, 정의되는 설정
- 운영체제
- region
- 가격책정 계층 : 어떤 App Service를 이용할 수 있는지와 얼마를 지불해야 하는지에 대한 계층 -> 설정한 OS에 따라 달라짐
- VM 인스턴스 수 : 3~30
- VM 인스턴스 크기 : CPU, Memory, 원격 스토리지
- App Service Plan 사용 시, 고려사항
- 비용 고려
- 여러 App 실행 고려 : 동일 Plan내 컴퓨팅 자원을 공유할 여러 Application 실행 고려 -> 비용 절감 가능
- 계획 용량 고려 : App이 사용할 컴퓨팅 리소스 사용계획 고려
- App 격리 고려 : 다음의 경우 새 plan을 생성해야 함
- 독립된 환경 필요
- 서로 다른 지역의 리소스 필요
가격 책정 계층
- 무료
- 공유
- 기본 : 트래픽 요구 사항이 낮고 고급 자동 크기 조정 및 트래픽 관리 기능이 필요하지 않은 애플리케이션
- 표준 : 일반적인 프로덕션 워크로드를 실행, auto scaling 기능 포함, Web App for Containers 지원
- 프리미엄 : 프로덕션 애플리케이션에 향상된 성능을 제공
- 프리미엄v2
- 프리미엄v3
- 격리 : 가상 네트워크에서 실행해야 하는 중요 업무용 워크로드를 실행하도록 설계, 표준 계층에 비해 더 빠른 프로세서, SSD 스토리지 및 이중 메모리 대 코어 비율을 갖춘 Dv2 시리즈 가상 머신을 제공
- 격리v2
- 가격책정 계층 그룹화
- 공유 컴퓨팅
- 무료, 공유 계층
- 다른 고객의 앱을 비롯한 다른 App Service 앱과 동일한 Azure VM에서 앱을 실행 (Scale-out 불가)
- 일반적으로 개발 및 테스트 목적으로 활용
- 전용 컴퓨팅
- 기본, 표준, 프리미엄, 프리미엄V2, 프리미엄V3 계층
- 동일한 App Service 요금제에 속한 앱만 동일한 컴퓨팅 리소스
- 계층이 높을수록 Scale-out 인스턴스 수 증가
- 격리
- 격리 및 격리V2 계층
- 전용 Azure 가상 네트워크에서 전용 Azure VM을 실행
- 앱에 대한 컴퓨팅 격리 + 네트워크 격리
Azure App Service 스케일링 방법
App Service Application의 스케일링 단위는 App Service Plan 단위
가격 책정 계층에 따라 App 실행 방식과 Scaling 방식이 달라짐
Scale-up 방법 : Azure App Service 플랜의 가격 책정 계층을 변경하여 강화
Scale-out 방법 : 가상 머신 인스턴스 수가 증가, 가격 책정 계층에 따라 인스턴스 확장
고려사항
- 수동조정 case 고려 : 무료 계층을 사용하여 웹앱 테스트를 시작하는 시나리오 (점진적으로 가격책정 계층 상향) -> 비용 절약
- 사용자 지원, 가격 절감 고려 : Auto Scaling 설정, 부하에 따른 인스턴스 수 조절 -> 비용 절약
- 스케일 설정 변경 시, 재배포 필요x
- App Service Plan 외의 서비스는 Scaling 관여하지 않음
Auto Scaling
- 고려사항
- 최소 인스턴스 수
- 최대 인스턴스 수
- 최소, 최대 인스턴스 수 간 적절한 gap 필요
- 크기조정 규칙 조합
- 메트릭 통계 : 진단 메트릭에 적합한 통계(평균, 최소, 최대, 합계)를 주의하여 선택
- 기본 인스턴스 수 : 항상 안전한 기본 인스턴스 수를 선택
- 알림 : 자동 스케일링 알림을 구성
CI/CD
Azure Portal에서 CI/CD 설정 제공
소스코드가 변경되면 자동으로 배포되어 웹/앱에 동기화 됨
Azure DevOps 서비스를 사용하면 고유한 빌드 및 릴리스 프로세스를 정의할 수도 있음
제공되는 소스코드 저장소
- GitHub
- Bitbucket
- 로컬 Git
- Azure Repos
- 배포 슬롯
- 표준, 프리미엄 및 격리된 App Service 가격 책정 계층에서 사용 가능
- 앱 콘텐츠와 구성 요소는 프로덕션 슬롯을 포함한 두 배포 슬롯 간에 교환 가능 -> 버전 up/down 기능
App Service App Security
코드를 최소한으로 작성하거나 작성하지 않고 사용자를 로그인하고 데이터에 액세스할 수 있음
특징
- Azure App Service의 인증 및 권한 부여 보안 모듈 은 애플리케이션 코드와 동일한 환경에서 실행되지만 별도로 실행
- 앱 설정을 사용하여 구성
- 들어오는 모든 HTTP 요청이 애플리케이션 코드에서 처리되기 전에 Security 모듈을 통과
사용자 지정 도메인
- 도메인 이름을 예약 : Azure Portal에서 직접 구입 -> Azure Portal에서 직접 웹앱의 도메인 이름을 관리
- 도메인을 Azure 웹앱에 매핑하는 DNS 레코드를 만듦
- 웹앱의 경우 A(주소) 레코드 또는 CNAME(Canonical 이름) 레코드를 만듦
- IP 주소가 변경되면 CNAME 항목은 여전히 유효하지만 A 레코드를 업데이트 필요
- Azure Portal에서 사용자 지정 도메인을 사용하도록 설정
백업 및 복원
- 표준 또는 프리미엄 계층 App Service 요금제가 필요
- 동일한 구독에 Azure Storage 계정 및 컨테이너가 필요
- 백업 정보
- 앱 구성 설정
- 파일 콘텐츠
- 앱에 연결된 모든 데이터베이스
- 백업은 Zip 파일과 XML 파일로 구성
- 백업을 수동으로 또는 일정에 따라 구성 가능
- 부분 백업이 지원됩니다. 백업에서 제외할 파일 및 폴더를 지정 가능
- 최대 10GB의 앱과 데이터베이스 콘텐츠를 저장 가능
- Azure Portal에서 스토리지 계정 및 앱(또는 사이트)의 컨테이너 페이지에 표시
- 복원 시 고려사항
- 전체 백업을 고려 -> 해당 사이트의 모든 콘텐츠가 백업에 있는 항목들로 대체
- 부분 백업을 고려 -> 제외된 폴더 또는 파일에 있는 모든 콘텐츠가 있는 그대로 남아 있음
- 백업 파일 검색을 고려 -> 앱 또는 사이트 복원을 수행하지 않고도 콘텐츠를 볼 수 있음
- 백업 대상에 대한 방화벽을 고려 -> 방화벽 설정 시, 스토리지 계정을 백업의 대상으로 사용할 수 없음
Azure Application Insights
Azure Application Insights : 라이브 애플리케이션을 모니터링할 수 있는 Azure Monitor의 기능 -> 사용자가 문제를 진단하고 사용자가 실제로 앱을 사용하여 수행할 작업을 이해하는 데 도움이 되는 강력한 분석 도구를 제공
특성
- 온-프레미스, 하이브리드 환경 또는 퍼블릭 클라우드에서 호스트되는 구성에 사용 가능
- Azure 파이프라인 프로세스와 통합되며, 다양한 개발 도구에 대한 연결점이 있음
- Visual Studio App Center를 통합하여 모바일 앱에서 데이터를 모니터링하고 분석
- 모니터링 대상
- 요청 속도, 응답 시간 및 실패율을 확인 : 어떤 페이지가 가장 성능이 우수한지 확인, 응답 시간과 실패율이 높아지면 아마도 리소스 문제
- 종속성 비율, 응답 시간 및 실패율을 확인 : 외부 서비스가 앱 성능을 저하시키는지 조사
- 예외를 확인 : 서버 및 브라우저 예외가 전부 보고
- 페이지 보기 및 로드 성능을 확인 : 페이지 보기 숫자를 수집하고 로드 성능을 분석
- 성능 지표 확인 : CPU, 메모리, 네트워크 사용량 등에 대한 성능 출력을 모니터링
- Docker 또는 Azure의 진단을 앱 Application Insights에 통합
- 진단 추적 로그를 확인 : 제를 진단하는 데 도움
- 사용자 지정 이벤트 및 메트릭을 확인 : 클라이언트 또는 서버 코드로 작성, 비즈니스 이벤트를 추적
'개발 > Azure' 카테고리의 다른 글
[Azure] Azure 컴퓨팅 리소스 배포 및 관리 - VM 가용성 구성 (2) | 2025.05.24 |
---|---|
[Azure] Azure 컴퓨팅 리소스 배포 및 관리 (0) | 2025.05.22 |
[Azure] Azure내 스토리지 구현 및 관리 - Azure Files (0) | 2025.05.17 |
[Azure] Azure내 스토리지 구현 및 관리 - 보안 구성 (0) | 2025.05.13 |
[Azure] Azure내 스토리지 구현 및 관리 - Azure Blob Storage (0) | 2025.05.10 |