Azure에서 EDW 워크로드를 복제하기 전에 AWS와 Azure 플랫폼 간의 운영 차이점을 확실하게 이해해야 합니다.
이 문서에서는 이 워크로드에 대한 몇 가지 주요 개념을 안내하고 자세한 내용은 리소스에 대한 링크를 제공합니다.
ID 및 액세스 관리
AWS EDW 워크로드는 EKS 서비스에서 가정하는 AWS ID 및 액세스 관리(IAM) 역할을 사용합니다. 이 역할은 자격 증명을 저장할 필요 없이 큐 또는 데이터베이스와 같은 AWS 리소스에 대한 액세스를 허용하기 위해 EKS Pod에 할당됩니다.
Azure는 AWS와 다른 RBAC(역할 기반 액세스 제어)를 구현합니다. Azure에서 역할 할당은 보안 주체(사용자, 그룹, 관리 ID 또는 서비스 주체)와 관련있으며 해당 보안 주체는 리소스와 연결됩니다.
서비스 간 인증
AWS EDW 워크로드는 서비스 통신을 사용하여 큐 및 데이터베이스에 연결합니다. AWS EKS는 IAM의 기능인 AssumeRole을 사용하여 AWS 사용자, 애플리케이션 또는 서비스에 액세스하기 위한 임시 보안 자격 증명을 획득합니다. 이 구현을 통해 서비스는 특정 액세스 권한을 부여하는 IAM 역할을 맡아 서비스 간에 안전하고 제한된 권한을 제공할 수 있습니다.
서비스 통신을 사용하는 Amazon SQS(Simple Queue Service) 및 Amazon DynamoDB 데이터베이스 액세스의 경우 AWS 워크플로는 EKS와 함께 AssumeRole을 사용합니다. 이는 Kubernetes 서비스 계정 토큰 볼륨 프로젝션을 구현한 것입니다. EKS EDW 워크로드에서는 구성을 통해 Kubernetes Service 계정이 AWS ID 및 IAM(액세스 관리) 역할을 맡을 수 있습니다. 그러면 서비스 계정을 사용하도록 구성된 Pod는 역할에 액세스 권한이 있는 모든 AWS 서비스에 액세스할 수 있습니다. EDW 워크로드에서는 Amazon DynamoDB 및 Amazon SQS에 액세스할 수 있는 권한을 부여하기 위해 두 가지 IAM 정책이 정의됩니다.
AKS를 사용하면 Microsoft Entra 워크로드 ID로 Microsoft Entra 관리 ID를 사용할 수 있습니다.
사용자 할당 관리 ID를 만들고 Storage 테이블 데이터 기여자 역할을 할당하여 Azure Storage 테이블에 대한 액세스 권한을 부여합니다. 관리 ID는 Storage Queue 데이터 기여자 역할을 부여하여 Azure Storage Queue에 액세스 권한을 부여합니다. 이러한 역할 할당은 특정 리소스로 범위가 지정되므로 관리 ID가 특정 Azure Storage 큐에서 메시지를 읽고 특정 Azure Storage 테이블에 쓸 수 있습니다. 그런 다음 관리 ID는 앱 컨테이너가 배포되는 Pod의 ID와 연결된 Kubernetes 워크로드 ID에 매핑됩니다. 자세한 내용은 AKS로 Microsoft Entra 워크로드 ID 사용을 참조하세요.
클라이언트 쪽에서 Python Azure SDK는 워크로드 ID의 컨텍스트를 활용하는 투명한 수단을 지원하므로 개발자가 명시적 인증을 수행할 필요가 없습니다. 설정된 워크로드 ID를 사용하여 AKS의 네임스페이스/Pod에서 실행되는 코드는 매핑된 관리 ID를 사용하여 외부 서비스에 인증할 수 있습니다.
리소스
다음 리소스를 사용하면 EDW 워크로드에 사용되는 기술에 대해 AWS와 Azure 간의 차이점에 대해 자세히 알아볼 수 있습니다.
| 항목 | Azure 리소스에 AWS |
|---|---|
| Services | AWS와 Azure 서비스 비교 |
| ID | AZURE에서 AWS IAM 개념을 유사한 개념에 매핑 |
| 계정 | Azure AWS 계정 및 구독 |
| 리소스 관리 | 리소스 컨테이너 |
| 메시징 | Amazon SQS에서 Azure Queue Storage로 |
| Kubernetes | Amazon EKS 전문가를 위한 AKS |
다음 단계
참가자
Microsoft는 이 문서를 유지 관리합니다. 다음 기여자는 원래 그것을 썼다:
- Ken Kilty | 수석 TPM
- Russell de Pina | 수석 TPM
- Jenny Hayes | 선임 콘텐츠 개발자
- Carol Smith | 선임 콘텐츠 개발자
- Erin Schaffer | 콘텐츠 개발자 2