[AWS] Scramble

Azure의 클라우드 구조

Randy, the engineer 2025. 9. 23. 14:47

Azure는 다른 클라우드 기업과는 다르게 약간은 복잡한 클라우드 구조를 가지고 있습니다.

 

더 정확히 말하자면, 클라우드 리소스를 더욱 세부적이고 체계적으로 관리할 수 있도록 리소스를 그룹화하고 관리할 수 있는 기능이 있는건데

이걸 처음 마주하는 사람 입장에서는 꽤나 어렵고 헷갈립니다

 

이걸 전체적으로 한번 다뤄보고자 합니다.

 

Tenant

---

테넌트 라고 읽습니다.

하나의 마스터 계정이 만들 수 있는 조직 단위라고 생각해주시면 될 것 같습니다.

 

즉, 하나의 마스터 계정이 '마이크로소프트'라고 하는 기업이 사용하는 모든 클라우드에 접근할 수 있습니다.

이 '마이크로소프트'라고 하는 기업 아래에 'Office365 부서', 'Copilot 부서' 와 같은 부서들이 사용하는 별도의 클라우드가 있을 수 있습니다.

이 때 'Office 365 Tenant'라고 하는걸 만들어서 해당 부서 사람들에게 권한을 부여할 수 있습니다.

 

Management Group

---

한국말로는 관리 그룹입니다.

 

밑에 나올 구독(Subscription)을 묶는 단위입니다.

구독에 대해 정책, 접근 제어, 규칙 등을 적용할 수 있는 단위입니다.

 

Subscription

---

Azure의 비용 청구 단위입니다.

 

Azure에서 만들어지는 모든 리소스는 하나의 구독에 속해야 합니다.

따라서 팀별로 클라우드 비용을 다르게 측정하고 관리해야할 때 subscription을 팀 별로 다르게 설정할 수 있습니다.

 

Resource Group

---

하나의 Subscription 안에 있는 리소스들을 묶는 단위입니다.

즉, 우리가 만드는 VM과 같은 리소스들이 이 리소스그룹에 속하게 됩니다.

 

하나의 Subscription에는 여러개의 Resource Group을 가질 수 있지만,

하나의 Resource Group에는 하나의 Subscription만 존재할 수 있습니다.

 

클라우드를 사용한 비용을 결제할 결제수단은 한 번에 하나만 사용할 수 있다는 뜻으로도 생각할 수 있을 것 같습니다.

 

 

활용하기

---

그래서 저는 이 구조를 어떻게 활용하고 있는가?

 

일단 소셜 로그인에 활용했던 Entra External ID Tenant와 내부 클라우드 리소스용 Tenant가 별도로 존재합니다.

 

더 쉽게 말하면, 외부인들도 로그인하고 회원가입할 수 있게 만들어놓은 공개된 테넌트가 하나 있고

내부 클라우드용으로 사용하는 비공개 테넌트가 하나 있다고 생각해주시면 될 것 같습니다.

 

이렇게 두 개의 테넌트가 만들어져 있습니다.

 

로그인 기능은 이미 만들었으니 이제 무언가를 계속 만들 일은 없고,

클라우드 리소스에 사용할 내부용 테넌트는 어떻게 구성되어 있을까요?

 

저는 1인 개발이라 클라우드 구조를 복잡하게 만들고싶지 않아서 Management Group은 별도로 구분하지 않았습니다.

Subscription도 하나만 만들었고요.

 

여기서 Resource Group을 dev와 Prod 두 가지 버전으로 나눴습니다.

 

즉, 실제로 배포하기 전에 실험해보는 Dev 버전과

실제로 앱이 돌아가고 있는 배포환경인 Prod 버전입니다.

 

Dev 버전에서 다 만들어보고, 이게 잘 돌아간다 싶으면 Prod로 옮기는 형식입니다.