구글 클라우드도 찍먹하고 애저도 찍먹을 해본다. 멀티 클라우드의 길은 멀고도 험난하구나... 하지만 그래도?! 애져가 구글 클라우드보다 낫다. 뭐든 배워두면 피가 되고 살이 되는 법이겠죠... 나름 이 친구는 시장 점유율 2위다. (역시 많이 쓰는데는 이유가 있다 끄덕끄덕) 기본 개념부터 너무 낯설고 이해가 안가서 공부하는데 살짝 애를 먹었는데, 그런 기초적인 부분들을 조금 정리하고 넘어가보려고 한다. 시간이 될 때마다 틈틈히 공부를 해두면 분명 후에 큰 도움이 될 것 같다.
PS C:\Windows\system32> az login
Select the account you want to log in with. For more information on login with Azure CLI, see https://go.microsoft.com/fwlink/?linkid=2271136
Retrieving tenants and subscriptions for the selection...
[Tenant and subscription selection]
No Subscription name Subscription ID Tenant
----- -------------------- ------------------------------------ -------------
[1] * Azure subscription 1 8c593d2f-1ceb-484a-a303-435174c2dba8 기본 디렉터리
내가 애져를 공부하며 가장 먼저 당황스러웠던 것은 Tenant
의 존재였다. 에...? 이게 뭐지? 게다가 테넌트의 이름이 '기본 디렉터리'라니. 구글 클라우드의 리소스 구조가 '프로젝트' 단위라는 것도 띠용스러웠는데, 테넌트라는 낯선 개념의 등장. 시작부터 기죽음... 하지만 굴하지 않음.
Tenant
?Tenant의 사전적 의미는 세입자나 임차인이다. 어디서 들어본 것 같다 했는데... 고3 수능 영어에서 봤던 것 같군...
그래서 Azure의 Tenant는 뭘까?! Azure를 사용하기 위해서는 계정을 만들어야 한다. 계정을 만들어서 Azure에 등록할 때 기본적으로 Microsoft Entra ID가 생성된다. (공식 문서의 설명)
왜 Tenant, 임차인이라는 이름을 사용했을까 잠시 생각해보자면 우리가 클라우드를 이용하는 본질적인 이유에서 찾을 수 있을 것 같다. 온프레미스로 자체적인 서버 인프라를 하나하나 구성하기엔 초기 비용이 너무 많이 드니까 클라우드 회사의 컴퓨팅 자원을 '임대하여' 사용하는 것이다. 그렇기 때문에 계정을 생성하는 그 순간부터 사용자는 해당 회사의 '임차인'이 되는 것이다. 그러한 이유로 테넌트라는 이름을 사용한 것이 아닐까 하는 생각이 들었다.
뇌피셜이지만 그럴싸하지 않나요? ㅎㅎ
하지만 솔직히 말해서 공식 문서의 설명이 와닿지 않는다. 게다가 어디선 Microsoft Entra Tenant라고 하고 어디선 Microsoft Entra ID라고 하고... 둘이 같은건지 다른건지...? 이거부터 헷갈려서 여기저기 검색해보고 AI에게도 물어봐서 나름의 정리를 마쳤다.
Microsoft의 클라우드 기반 ID 및 액세스 관리 서비스 (전체 플랫폼)
Entra ID는 서비스 그 자체를 가리킨다.
Entra ID는 여러 Tenant를 포함할 수 있다. 각 Tenant는 단일 조직을 대표하며, Entra ID 서비스 내에서 독립적인 공간을 차지한다.
조직을 위한 Microsoft Entra ID의 전용 인스턴스 (환경)
Entra Tenant는 Entra ID 서비스의 특정 인스턴스를 나타낸다.
각 Entra Tenant는 전용 Entra 디렉토리를 가지고 있고, 이 디렉토리에는 테넌트의 사용자, 그룹, 앱이 포함되어 있다.
정리
Entra ID는 서비스이고, Entra Tenant는 이러한 기능이 적용되는 조직의 전용 환경을 말한다. (서비스의 조직별 인스턴스)
👉🏻 Microsoft 서비스에 가입하면 Microsoft Entra ID 서비스를 자동으로 사용할 수 있게 되고, 동시에 그 서비스의 특정 인스턴스인 Tenant가 자동으로 생성된다.
👉🏻 Entra Tenant는 Entra ID 서비스를 사용하여 조직의 ID와 접근을 관리하는 전용 환경을 말한다.
Tenant
!정리하자면, Tenant는 조직의 ID 및 액세스 관리를 위한 기본 단위다. (Entra ID의 전용 인스턴스 어쩌구 하지만 결론적으로 비슷한 개념인듯! 크게 신경 쓸 용어는 아닌 것 같다.)
한 회사나 조직을 대표하는 개념으로, Microsoft 클라우드 서비스의 기반이다. 가장 기초!!
특징
조직의 전체적인 ID 및 액세스 관리를 위한 기본 단위로, 그 위에 Azure 리소스 관리가 구축된다. Microsoft 클라우드 서비스 전반에 걸쳐서 중요한 개념이니... 잘 기억해두어야 할 것 같다! 하지만 어려웡!
이쯤 알아보니, AWS만 알던 나에게 Azure는 신선한 충격... (GCP는 넘어가자) 그냥 '계정'을 만들었을 뿐인데 테넌트가 생기고 구독이 생기고... 개념이 어려워보이지만, 조직 관리에는 Azure가 더 섬세하게 컨트롤이 가능할 것 같단 생각이 들었다.
그래서 정리해봤다. 내가 배운 AWS, GCP, Azure의 리소스 구조가 어떻게 다른 것인지...!
AWS | Azure | Google Cloud | |
---|---|---|---|
최상위 단위 | 계정(Account) | 테넌트(Tenant) | 조직(Organization) |
중간 단위 | - | 구독(Subscription) | 프로젝트(Project) |
리소스 그룹화 | 리전(Region)과 가용 영역(Availability Zone) | 리소스 그룹(Resource Group) | 폴더(Folder) |
GCP에서 프로젝트 단위로 리소스를 관리한다는 사실을 배웠기 때문에, 구독이라는 단어가 조금 당황스러웠지만 Azure에서는 구독 단위로 리소스를 관리한다는 것을 이해할 수 있었다.
AWS에서는 그냥 계정을 하나 생성하면 끝~ 이라는 느낌이라서 리소스 구조에 대해 깊게 생각할 일이 없었는데, 테넌트라는 개념이 들어오면서 관리 체계에 대해서 생각해보게 되었다. 처음엔 복잡하게 느껴지기도 하고, 아직 완전히 이해를 잘 한 건지도 모르겠지만... 확실한 건 대규모 조직에서는 (이를테면 회사) 리소스와 ID를 관리하기에 더 효율적일 거란 생각이 들었다.
Subscription
유튜브 구독 말고요... 애저의 구독은 Azure 클라우드 서비스를 사용하기 위한 기본적인 단위다.
- Azure 리소스를 프로비저닝하고 관리하기 위한 논리적 컨테이너
- Microsoft와의 계약으로, Azure 서비스 사용에 대한 비용 청구의 기준
Azure |
---|
1. 테넌트(Tenant) |
2. 구독(Subscription) |
3. 리소스 그룹(Resource Group) |
4. 리소스(Resource) |
간단하게 요약한 과정은 위와 같다.
Azure에서 프로젝트를 프로비저닝하면, 그 프로젝트와 관련된 리소스들이 계정에 연결된 테넌트 내의 특정 구독 아래에 생성된 리소스 그룹에 속하게 된다.
때문에 프로젝트를 시작할 때, Azure Portal에서 구독을 선택하고 새로운 리소스 그룹을 생성하거나 기존 리소스 그룹을 선택하여 새로운 프로젝트 리소스를 관리할 수 있다.
PS C:\Windows\system32> az login
Select the account you want to log in with. For more information on login with Azure CLI, see https://go.microsoft.com/fwlink/?linkid=2271136
Retrieving tenants and subscriptions for the selection...
[Tenant and subscription selection]
No Subscription name Subscription ID Tenant
----- -------------------- ------------------------------------ -------------
[1] * Azure subscription 1 8c593d2f-1ceb-484a-a303-435174c2dba8 기본 디렉터리
그렇다면 나에게 당혹감을 주었던 최초의 명령어 실행 결과로 돌아와서...
이제는 이해할 수 있다!
기본 디렉토리
라는 테넌트 자동 생성Azure subscription 1
이라는 기본 구독이 자동으로 생성 (구글 클라우드에서 'My First Project'와 유사한 개념)이러한 구조를 통해서 리소스를 관리하고, 비용을 효과적으로 추적할 수 있다. 프로젝트의 규모가 클수록 Azure가 더 적합할 수도 있겠다는 생각이 들었다!
어.렵.다. AWS를 처음 배울 때의 당혹감 비슷한 것을 느꼈다. 사실 내가 제대로 이해한 건지 감도 잘 안 잡힌다. 여러모로 AWS 클라우드 처음 배울 때랑 비슷한 것 같다. 이것도 공부하다보면 어느 순간엔 그나마 수월하게 사용이 가능하겠지! 멀티 클라우드 수업은 끝이 났지만... 꼭 Azure를 버리지 않고... 공부하기로 스스로와 약속... 일단 약속은 해본다. 암튼... 어렵고, 처음엔 단순하게 그냥 비슷할 거라 생각했는데 알면 알수록 다르다. 그래도 각각의 장단점이 조금씩은 보이는 것 같다. 재밌는 공부였는듯~ 안재밋음
본 포스팅은 글로벌소프트웨어캠퍼스와 교보DTS가 함께 진행하는 챌린지입니다.