"azurewebsites.net" 이외의 도메인 이름으로 웹 앱을 사용자 지정하려는 경우 웹 앱에 사용자 지정 도메인을 추가 할 수 있다. 또한 App Service Managed Certificates의 무료 인증서로 사용자 지정 도메인을 보호 할 수 있으므로 웹 사이트를 검색 할 때 고객이 안심할 수 있다. 전제조건 웹 앱에 사용자 지정 도메인을 추가하려면 먼저 사용자 지정 도메인을 구입해야 한다. 사용자 지정 도메인이 없는 경우 App Service Domain을 통해 구입할 수 있다. 문서의 App Service 도메인 섹션에서 시작할 수 있다. 이미 고유한 사용자 지정 도메인이 있는 경우 문서의 웹 앱 섹션에 사용자 지정 도메인 추가로 진행한다. 앱 서비스 도메인 App Service Doma..
이 시점에서 커밋이 기본 브랜치로 푸시 될 때마다 스테이징 슬롯에 코드를 배포하는 GitHub 액션에 빌드된 CI/CD 파이프라인이 있다. 이 글에서는 프로덕션 및 스테이징 슬롯을 교체하여 프로덕션 트래픽에 새 빌드를 릴리스하는 방법을 학습한다. 또한 프로덕션 트래픽의 일정 비율을 스테이징 환경으로 라우팅하여 다음 빌드가 완전히 릴리스되기 전에 테스트하는 방법도 배운다. 슬롯 교체(swap) 웹앱에 대한 Azure Portal을 연다. 왼쪽 메뉴에서 Deployment slots을 선택한다. 사이트 슬롯 목록을 보여주는 새 블레이드가 열힌다. production 및 staging 슬롯이 표시된다. 상단의 Swap 버튼을 클릭한다. Swap 버튼은 스왑 후 발생할 구성 변경 사항을 미리 볼 수 있는 테이블..
Azure 포털 Web App의 Deoplyment Center 관련 UI 등이 많이 바뀌어 현행화 하여 다시 정리한다. 이전 글에서 다음 샘플 앱을 Fork 한 것으로 가정하고 진행한다. Git Repo: https://github.com/AzureAppService/github-action-testapp-spring Zero to Hero with App Service 시리즈의 두 번째 글이다. 이 글에서는 1부를 마쳤다고 가정한다. 이전 글에서는 App Service 계획, 웹 앱을 만들고 샘플 애플리케이션 중 하나를 포크로 만들었다. 이 문서에서는 GitHub 액션을 사용하여 CI/CD (지속적 통합 및 전달) 파이프 라인을 설정한다. CI/CD란 무엇인가? 지속적인 통합 및 전달은 App Ser..
이번 시리즈는 2020년 6~7월 Azure Web App 서비스 팀 블로그에 게시된 글로 전반적인 Azure Web App 서비스 내용을 소개하는 유용한 게시물이며 Web App 서비스를 통해 애플리케이션을 지속적으로 배포하고, 사용자 지정 도메인과 인증서에 사이트를 등록하며, 다른 클라우드 서비스에 안전하게 액세스하고, 사이트를 적절하게 확장 및 구성하는 방법을 다루게 된다. 급변하는 시대에 개발자와 IT 의사 결정권자는 급격히 변화하는 환경에 신속하게 적응해야 한다. 성공적인 조직은 관리형 클라우드 서비스를 사용하여 개발자 효율성을 높임으로써 운영 비용을 절감하고 혁신의 전달을 가속화하여 새로운 비즈니스 기회를 포착한다. App Service는 웹 애플리케이션 및 모바일 백엔드를 호스팅하기 위한, ..
클러스터 자동 크기 조정 HPA는 필요에 따라 새 Pod로 확장된다. 결국에는 클러스터 리소스는 모두 소진되고 예약된 Pod는 보류 상태가 된다. 클러스터 자동 크기 조정기란? 클러스터 자동 크기 조정기는 리소스 제약으로 인해 노드에서 예약할 수 없는 Pod를 감시한다. 그러면 클러스터에서 클러스터의 노드 수가 자동으로 늘어난다. 클러스터에 부하를 도입하여 자동 크기 조정을 강제로 적용해 보겠다. ratings-api 배포에서 인위적으로 CPU의 리소스 request와 limit를 cpu: "1000m"으로 증가하여 이러한 상황을 시뮬레이션하고 다시 배포할 수 있다. 이렇게 하면 Pod가 실제로 사용할 수 있는 것보다 더 많은 리소스를 클러스터 전체에 요청할 수밖에 없다. 그런 다음, 자동 크기 조정을 ..
본 실습의 클러스터 자동 크기 조정과 관련해서 여러 번 시도 해봤지만 테스트가 정상적으로 이루어 지지 않아 원인 분석 후 추가 정리하고자 한다. 따라서 먼저 HPA에 대한 부분을 먼저 정리하여 게시한다. # 6월 13일 업데이트 사항 : 스케일링 테스트 방안 새로 정리하여 업데이트. Fruit Smoothies는 전 세계에 대규모 팔로워 기반이 있는 매장을 보유하고 있으므로 많은 사용자가 평가 웹 사이트를 사용하여 좋아하는 스무디 맛을 평가할 것으로 예상된다. 애플리케이션의 인기가 높아짐에 따라, 애플리케이션의 규모를 적절하게 조정하여 수요 변화를 관리해야 한다. 평가 수가 증가함에 따라 애플리케이션이 응답성을 유지하도록 해야한다. 이번 실습에서는 다음을 수행한다. AKS Horizontal Pod Au..
Fruit Smoothies 마케팅 캠페인의 성공은 평가 웹 사이트의 지속적인 성능이다. 성능은 클러스터의 성능에 따라 달라지며 애플리케이션의 다양한 구성 요소를 모니터링하고, 로그를 보고, 애플리케이션이 중지되거나 일부 부분에 오류가 발생할 때마다 경고를 받을 수 있는지에 달려 있다. 사용 가능한 도구의 조합으로 애플리케이션의 경고 기능을 설정할 수 있다. 이번 실습에서는 다음을 수행한다. Log Analytics 작업 영역 만들기 AKS 모니터링 추가 기능 사용 AKS 이벤트 로그 검사 및 클러스터 상태 모니터링 라이브 로그 데이터를 사용하도록 Kubernetes RBAC 구성 라이브 컨테이너 로그와 AKS 이벤트 보기 Log Analytics 작업 영역 만들기 컨테이너용 Azure Monitor란 ..
사용자 데이터의 온라인 보안 및 개인 정보 보호는 회사로서의 Fruit Smoothies의 주요 관심사이다. 평가 웹 사이트에서는 모든 고객에게 HTTPS 연결을 허용하는 것이 중요하다. NGINX 인그레스 컨트롤러는 TLS 종료를 지원하며 HTTPS에 대한 인증서를 검색하고 구성하는 여러 가지 방법을 제공한다. 이 실습에서는 자동 Let's Encrypt 인증서 생성 및 관리 기능을 제공하는 cert-manager를 사용하는 방법을 보여 준다. 이번 실습에서 다음을 수행한다. Helm을 사용하여 인증서 관리자 배포 Let's Encrypt용 ClusterIssuer 리소스 배포 수신 시 평가 웹 서비스에 대해 SSL/TLS 사용 애플리케이션 테스트 인증서 관리자 배포 cert-manager는 클라우드 ..
이전 단원에서 각 인스턴스에 대한 액세스를 허용하는 두 가지 방법으로 Fruit Smoothies의 평가 웹 사이트 및 RESTfull API를 노출했다. API는 클러스터 내에서 사용하기 위한 내부 IP 주소를 만드는 ClusterIP를 사용하여 ratings-api 서비스를 통해 노출된다. 이 값을 선택하면 클러스터 내에서만 서비스에 연결할 수 있다. 웹 사이트는 Azure에서 공용 IP 주소를 만들어서 Azure 로드밸런서에 할당하는 LoadBalancer를 사용하여 ratings-web 서비스를 통해 노출된다. 이 값을 선택하면 클러스터 외부에서 서비스에 연결할 수 있음을 상기한다. 부하 분산 장치는 공개적으로 액세스할 수 있는 IP를 통해 평가 웹 사이트를 노출하지만 고려해야 할 제한 사항이 있..
Fruit Smoothies의 평가 웹 사이트는 여러 구성 요소로 구성된다. 웹 프런트 엔드, 캡처된 데이터를 저장하는 문서 데이터베이스 및 웹 프런트 엔드가 데이터베이스와 통신할 수 있도록 하는 RESTful 평가 API가 있다. 개발 팀은 MongoDB를 평가 웹 사이트에서 선택한 문서 저장소 데이터베이스로 사용하고 있다. 이전 단원에서는 평가 API를 배포했다. 이 단원에서는 배포를 계속하고 평가 웹 프런트 엔드를 배포한다. 평가 웹 프런트 엔드는 Node.js 애플리케이션이다. 여러분은 이미 Azure Container Registry 인스턴스를 만들었다. 이 인스턴스를 사용하여 프런트 엔드의 Docker 이미지를 빌드하고 리포지토리에 저장했다. 이번 실습에서는 다음을 수행한다. 웹 프런트 엔드에..