이 문서에서는 Azure Web Application Firewall (WAF) 및 Azure Application Gateway for Containers을 사용하여 Azure Kubernetes Service (AKS)에서 AWS Web Application Firewall (WAF)을 사용한 Amazon Elastic Kubernetes Service (EKS) 웹 애플리케이션을 복제하는 방법을 알아봅니다.
이 워크로드는 Kubernetes 클러스터에서 실행되는 Yelb 웹 기반 애플리케이션을 보호하기 위해 WAF를 구현합니다. 애플리케이션은 WAF를 사용하여 원치 않는 트래픽을 차단하고 일반적인 취약성으로부터 앱을 보호합니다. 중앙 집중식 웹 애플리케이션 방화벽은 보안 관리를 간소화하고 위협 또는 침입에 대한 더 나은 보호를 보장하는 데 도움이 됩니다.
AWS 워크로드에 대한 자세한 내용은 AWS WAF를 사용하여 Amazon EKS 웹앱 보호를 참조하세요.
중요합니다
오픈 소스 소프트웨어는 AKS 설명서와 샘플 전반에서 언급되어 있습니다. 배포하는 소프트웨어는 AKS 서비스 수준 계약, 제한된 보증 및 Azure 지원 제외됩니다. AKS와 함께 오픈 소스 기술을 사용하는 경우 각 커뮤니티 및 프로젝트 유지 관리자에서 사용할 수 있는 지원 옵션을 참조하여 계획을 개발합니다.
Microsoft는 AKS에 배포하는 오픈 소스 패키지를 빌드하는 역할을 담당합니다. 해당 책임에는 컨테이너 이미지의 이진 파일에 대한 제어와 함께 빌드, 스캔, 서명, 유효성 검사 및 핫픽스 프로세스의 완전한 소유권이 포함됩니다. 자세한 내용은 AKS에 대한 취약성 관리 및 AKS 지원 적용 범위를 참조하세요.
배포 프로세스
- 개념적 차이점 이해: 서비스, 아키텍처 및 배포 측면에서 EKS와 AKS 간의 차이점을 검토하여 시작합니다.
- 워크로드 재설계: 기존 AWS 워크로드 아키텍처를 분석하고 AKS에 맞게 다시 디자인해야 하는 워크로드 인프라, 애플리케이션 아키텍처 및 배포 프로세스와 같은 구성 요소 또는 서비스를 식별합니다.
- 애플리케이션 코드 업데이트: 코드가 Azure API, 서비스 및 인증 모델과 호환되는지 확인합니다.
- 배포 준비: Azure CLI를 사용하도록 AWS 배포 프로세스를 수정합니다.
- 워크로드 배포: AKS에 복제된 워크로드를 배포하고 워크로드를 테스트하여 예상대로 작동하는지 확인합니다.
필수 조건
- Azure의 활성화된 구독 구독이 없으면 시작하기 전에 체험 Azure 계정을 만듭니다.
- Azure 계정의 구독에서 소유자Azure 기본 제공 역할 또는 사용자 액세스 관리자 및 기여자 기본 제공 역할.
- Azure CLI 버전 2.61.0 이상. 자세한 내용은 Azure CLI 설치를 참조하세요.
- AKS(Azure Kubernetes Service) 미리 보기 확장.
- jq 버전 1.5 이상.
- Python 3 이상
- kubectl 버전 1.21.0 이상
- Helm 버전 3.0.0 이상
- 지원되는 플랫폼 중 하나에 설치된 Visual Studio Code와 Bicep 확장입니다.
- Yelb 웹 애플리케이션에 유효한 TLS 인증서가 있는 기존 Azure Key Vault 리소스입니다.
- Yelb 애플리케이션의 이름 확인을 위한 기존 Azure DNS 영역 또는 동등한 DNS 서버입니다.
Azure 애플리케이션 코드 다운로드
이 워크플로의 완료된 애플리케이션 코드는 GitHub 리포지토리에서 사용할 수 있습니다.
다음 명령을 사용하여 로컬 컴퓨터에서 호출
aws-to-azure-web-app-workshop된 디렉터리에 리포지토리를 복제합니다.git clone https://github.com/azure-samples/aks-web-application-replicate-from-aws ./aws-to-azure-web-app-workshop리포지토리를 복제한 후 디렉터리로 이동하여
aws-to-azure-web-app-workshop다음 명령을 사용하여 Visual Studio Code를 시작합니다.cd aws-to-azure-web-app-workshop code .
다음 단계
공헌자
Microsoft는 이 문서를 유지 관리합니다. 다음 기여자는 원래 그것을 썼다:
주요 작성자
- Dixit Arora | 선임 고객 엔지니어
- 파올로 살바토리 | 수석 고객 엔지니어
기타 기여자:
- Ken Kilty | 수석 TPM
- 러셀 드 피나 | 수석 TPM
- Erin Schaffer | 콘텐츠 개발자 2