1. Azure 소개
Azure란?
• 개인용 Cloud vs 기업용 Cloud
• 개인용 Cloud
• notion, evernote, google drive, mybox, dropbox 등등
• 이용자는 해당 서비스에 본인이 직접 회원 가입을 해야 한다.
• 해당 서비스는 본인만 사용하고 본인이 관리자 역할을 한다.
• 자원을 공유할 때는 링크를 만들어서 공유한다.
• 회원이 아닌 사람도 링크 정보를 알고 있으면 공유된 자원을 이용할 수 있다.
• 기업용 Cloud
• azure, aws, gcp 등등
• 먼저 한 명이 구독 및 가입을 한 후에 다른 직원들도 이용할 수 있도록 사용자 계정을 만들고(인증용) 그 사용자가 자원을 이용하도록
권한을 부여할 수 있다.
• 이 직원들은 Azure나 AWS에 별도로 회원 가입을 할 필요가 없다.
• Azure Cloud Service란?
• Azure는 Microsoft가 제공하는 Cloud Computing Platform으로, 기업과 개인에게 다양한 서비스를 제공한다.
• Cloud Computing Platform이란 쉽게 말해 물리적인 서버나 컴퓨터 없이도 인터넷을 통해 컴퓨팅 자원(서버,
스토리지, 데이터베이스 등)을 사용할 수 있게 해주는 기술이다.
• 대표적인 Public Cloud Service는 다음과 같다.
• Microsoft: Azure
• Amazon: AWS(Amazon Web Service)
• Google: GCP(Google Cloud Platform)
• IBM: IBM Cloud
• Oracle: OCI(Oracle Cloud Infrastructure)
• Alibaba Cloud, Tencent Cloud, DigitalOcean, Linode
• Microsoft는 OpenAI와의 파트너십을 통해 Azure 클라우드 플랫폼에서 ChatGPT와 GPT-4 같은 대규모 언어 모델을
운영한다.
Public Cloud 전세계 시장 점유율
Public Cloud 전세계 시장 점유율(Q1 2024)
Infographic: Amazon Maintains Cloud Lead as Microsoft Edges Closer
This chart shows worldwide market share of leading cloud infrastructure service providers in Q3 2024.
www.statista.com
Azure의 주요 특징과 서비스
• Azure의 주요 특징과 서비스
• 확장성(Scalability)
• 필요에 따라 자원을 늘리거나 줄일 수 있어 예측 불가능한 트래픽에도 안정적으로 대응할 수 있다.
• 유연성(Flexibility)
• 다양한 운영체제와 프로그래밍 언어, 데이터베이스를 지원하므로 현재 사용하는 기술과 잘 통합할 수 있다.
• 비용 효율성(Cost Efficiency)
• 사용한 만큼만 비용을 지불(Pay as you go; 종량제)하므로 초기 투자를 최소화하고 운영 비용을 줄일 수 있다.
• 보안(Security)
• 데이터 보호 및 규정 준수에 필요한 다양한 보안 기능을 제공하며, 각종 인증을 받은 데이터 센터를 운영한다.
• 광범위한 서비스
• 개발, 분석, 데이터베이스, Machine Learning, 네트워크, 보안 등 다양한 분야의 서비스를 제공한다.
대표적인 Azure 서비스
• 컴퓨팅(Computing)
• Virtual Machines (VMs)
• 가상 서버를 생성하여 원하는 OS와 소프트웨어를 설치하고 사용할 수 있다.
• App Service
• 웹 애플리케이션을 빠르고 쉽게 배포할 수 있는 플랫폼이다.
• Azure Kubernetes Service (AKS)
• 컨테이너 기반의 애플리케이션을 관리하는 쿠버네티스 서비스다.
• 스토리지(Storage)
• Blob Storage
• 이미지, 비디오, 문서 등의 비정형 데이터를 저장할 수 있는 대용량 스토리지다.
• Azure Files
• SMB 프로토콜을 통해 공유 폴더처럼 사용할 수 있는 클라우드 파일 시스템이다.
• 네트워크(Networking)
• Virtual Network
• 가상 네트워크를 구축하고 각종 리소스를 안전하게 연결한다.
• Load Balancer
• 여러 가상 머신(VM)에 걸쳐 트래픽을 분산시켜 응용 프로그램의 가용성과 확장성을 높여준다.
• 네트워크 계층(Layer 4) 부하 분산. TCP/UDP 트래픽을 대상으로 부하 분산.
• Application Gateway
• 웹 애플리케이션 트래픽을 관리하는 부하 분산 서비스로, 특히 웹 계층의 HTTP/HTTPS 트래픽을 분산시키는 데 최적화되어 있다.
• 응용 계층(Layer 7) 부하 분산. HTTP/HTTPS 트래픽 관리 및 보안 기능 제공
• Traffic Manager
• 지리적으로 분산된 사용자에게 가장 빠른 응답을 제공하기 위해 여러 서비스 간에 DNS 기반의 부하 분산을 제공하는 글로벌 트래픽
분산 서비스
• 전 세계적으로 분산된 DNS 기반 트래픽 분산
• Azure CDN
• 전 세계에 분산된 엣지 서버를 통해 콘텐츠를 빠르게 전달한다대표적인 Azure 서비스
• 데이터베이스(Database)
• Azure SQL Database
• SQL Server를 기반으로 하는 완전 관리형 관계형 데이터베이스 서비스다.
• Cosmos DB
• 글로벌 규모의 분산 데이터베이스로 다양한 데이터 모델을 지원한다.
• 관리 및 모니터링(Management & Monitoring)
• Azure Monitor
• 리소스의 성능과 상태를 모니터링하고 진단할 수 있는 서비스다.
• Azure Policy
• 조직의 규정 및 보안 정책을 자동화하고 적용하는 기능이다.
• 머신러닝 및 인공지능(Machine Learning & AI)
• Azure Machine Learning
• 데이터 과학자들이 머신러닝 모델을 개발, 훈련, 배포할 수 있는 플랫폼이다.
• Azure AI Services
• Microsoft의 클라우드 기반 AI서비스로, 개발자와 기업이 인텔리전트 앱을 빠르게 만들고 배포할 수 있도록 지원하는 다양한 AI
서비스를 제공한다.
• Azure AI Vision, Azure AI Speech, Azure AI Language, Azure AI Search, Azure AI Decision, Azure OpenAI Service,
Azure Applied AI Services
Azure 구독하기
• Azure 구독하기
• Azure를 사용하려면 반드시 먼저 구독을 해야 한다
• 사전에 필요한 것
• outlook 이메일 주소
• outlook.com에서 무료 이메일 주소 생성
• 개인 신용 카드
• 무료 구독 신청하기
• https://azure.microsoft.com/en-us/pricing/purchase-options/azure-account
• Azure 무료 구독 특징
• Azure 무료 구독은 다양한 서비스를 체험하고 학습할 수 있도록 설계된 유용한 플랜이다-체험 및 교육용으로 사용 권장
• 한달 동안 $200 크레딧 제공하며, 원하는 서비스에 자유롭게 사용할 수 있으며, $200를 모두 소진하면 계속
사용할 것인지 묻는다. 이 때 No하면 된다.
• 사용 제한: 무료 크레딧이 소진되거나 기간이 만료되면 자동으로 유료 플랜으로 전환되지 않는다. 명확한 동의가 필요하다
• 지역 제한: 일부 서비스는 특정 지역에서만 제공될 수 있다.
• 다음 인기 서비스들은 12개월 동안 월 사용 한도 내에서 무료로 이용할 수 있다.
• Windows/Linux Virtual Machines: 각각 750시간의 B1S VM 사용 가능
• Azure SQL Database: S0 데이터베이스, 월 250GB 저장소 제공
• Blob Storage: 월 5GB의 LRS Hot Blob 저장소 제공
• File Storage: 월 5GB의 LRS File 저장소 제공
• Bandwidth: 월 15GB의 데이터 전송
• Cosmos DB: 월 400 RU/s 및 5GB 저장소 제공Azure 구독하기
• 다음 서비스들은 구독 기간 동안 항상 무료로 사용할 수 있습니다:
• Azure App Service: 매월 10개의 웹, 모바일 또는 API 앱 제공
• Functions: 매월 100만 건의 함수 실행 제공
• DevTest Labs: 무제한의 개발/테스트 환경 구축
• Azure DevOps: 기본 프로젝트에 대해 무제한의 사용자 지원Azure 구독하기
• Resource 사용 현황 및 쿼터 확인
• Subscriptions --> 자신의 구독 선택-> Settings --> [Usage + quotas]
• 무료 구독자는 Public IP Address를 최대 3개, vCPU는 최대 4개까지 사용 가능하다는 것을 명심한다.
• Subscription(구독) vs Tenant
• 종이신문 구독 이야기
• 신문을 보고 싶으면 신문사나 신문 보급소에 전화를 하거나 방문하여 구독 신청을 하며, 구독 신청을 할 때 구독자의
개인 정보(성명, 배달 주소, 전화번호)을 반드시 기입한다(회원 가입)
• 독자가 원하는 것은 신문이지만 신문이 잘 배달되기 위해 개인 정보를 기입한다.
• 개인 정보가 Tenant(Directory)이고, 신문이 바로 Resource이다.
• 일간 신문 뿐 아니라 추가적으로 월간 잡지도 구독하기 위해서는 추가적인 신상 정보를 줄 필요가 없고 단지 비용만 추가하면 된다.
• 하나의 Tenant(개인 정보)로 여러 자원(일단 신문, 월간 잡지)을 구독할 수 있다.
• 하나의 Tenant에 여러 개의 Microsoft Cloud Service를 이용할 수 있다
• 그런데 다른 신문사의 주간 잡지를 구독하려면 그 신문사에 구독자 개인정보를 당연히 입력해야 하고 비용도 지불해야 한다.
(회원 가입 또 필요)
• 복수의 Tenant(회원 가입)가 복수의 Resource을 이용하려면 당연히 권한이 있어야 한다.
• Microsoft Entra ID와 다른 Microsoft Cloud Service와의 관계
• Microsoft Cloud Service를 사용하기 위해서는 회원 가입 및 사용자 관리가 이뤄져야 하므로 반드시
Microsoft Entra ID 서비스가 필수적이다.
• MS Cloud Service의 자원을 이용하려면 구독을 해야 하는데, 구독하기 전에 먼저 회원 가입이 되어 있어야 한다
(동시에도 가능하다)
• 결론적으로 모든 Microsoft Cloud Service의 중심은 Microsoft Entra ID이다.
• Subscription-Resource Group-Resource와의 관계
• 관리 범위의 크기에 따라 Subscription > Resource Group > Resource로 구분된다.
• Subscription에 관리 권한을 위임하면 그 아래에 있는 Resource Group과 Resource에도 권한이 상속된다.
• Subscription에 관리 위임하기
• Subscription에는 주로 IT 관리자(예: adminuser) 한 명에게 OWNER 역할을 부여하여 총 관리 권한을 부여한다
• Resource Group 관리 위임하기
• Azure 자원(Resource)을 이용하려면 구독이 전제되어야 한다.
• 자원을 이용하려면 Azure Portal에 로그인을 해야 하면 이 때 Entra ID에서 인증 받고 Azure 자원에 관리 권한이
있어야 한다.
• 특정 그룹 및 사용자에게 Azure Portal의 자원을 쓸 수 있도록 하려면 관리 권한을 부여 받아야 한다.
• 보통 특정한 Resource Group에 관리 권한(Contributor)을 위임한다.
• 위임 받은 사람/그룹(DevUsers)은 해당 Resource Group에만 작업할 수 있다.
• Resource Group 역할
• 특정한 부서에서 사용하는 관련된 여러 자원들을 모아서 관리하는 것
• 특정한 Project, 사업부(IA,BA,CP), 연구소
• 모든 Resource는 강제적으로 특정한 RG에 포함되어야 한다.
• Resource Group을 삭제하면 그 안에 포함된 모든 자원이 삭제된다.
• 특정한 VM을 삭제하더라도 Public IP Address, NSG등은 자동으로 삭제되지 않기 때문에 모든 자원을 한꺼번에 삭제하기
위해서는 Resource Group을 삭제하는 것임.
• 예외: Recovery Service Vault 서비스 이름은 삭제되지 않는데. 해당 구성 내용을 먼저 삭제한 후 Recovery Service Vault
이름을 삭제한 후 RG를 최종적으로 삭제
• Resource Group에 Lock(예: Delete)을 걸면 그 안에 포함된 모든 자원이 Lock이 되므로 Resource들을 전혀
삭제할 수 없다.
• 한 번 생성된 Resource Group의 이름은 절대로 변경할 수 없다.
• Resource들은 다른 Resource Group으로 이동을 가능하다.
• 특정 Resource Group의 Resource를 모두 삭제한 후 3개월 후에 다시 동일한 Resource를 자동으로 만들 수 있다.
이것을 하려면 해당 Resource Group에서 ARM Template를 생성하면 된다.
• VM이라는 Resource 관리 위임하기
• Azure Portal에서 1)실행중인 VM을 관리하는 권한과 2)VM의 관리자 계정은 관리의 대상이 다르다는 것을 염두에 둔다.
• 1)은 해당 VM의 Access Control(IAM)에서 특정한 Role(역할)을 부여 받는 것
• 2)는 VM 생성시에 만든 관리자 계정으로 VM에 로그인하여 OS에 대하여 관리한다
• 실행중인 VM에 Windows Admin Center로 VM을 관리하도록 특정한 사용자(예: 구독 계정)에게 위임하고자 할 때는 다음과 같이 하면 된다.
• VM이라는 Resource 관리 위임하기
• Windows Admin Center로 실행중인 VM 관리하기
• 필요한 관리 Tools 설치하기
• VM이라는 Resource 관리 위임하기
• Windows Admin Center로 실행중인 VM에 접속하기
• Microsoft Entra ID에 사용자 새생성하기
• 구독 계정으로 로그인을 한 후에 다른 사람이 Azure Portal에 접속하도록 Azure Active Directory에서
사용자 계정을 추가한다.
• 생성된 사용자가 Azure Portal에 있는 자원을 사용하려면 각각 자원에서 필요한 Role을 부여 받아야 한다.
• Role(역할) 할당 범위
• Subscription
• Resource Group
• each Resource
• KR Resource Group에 Owner 역할을 azureadmin 사용자에게 할당하면 azureadmin은 KR Resource Group에
소속된 자원들에 대하여 모든 권한을 행사할 수 있다.
• azureadmin은 KR Resource Group에 속하지 않는 자원에는 아무 관리 작업도 할 수 없다.
2. Azure 관리하기
Azure Portal
• Azure Portal
• Microsoft Azure의 웹 기반 관리 콘솔로, 클라우드 리소스를 생성, 관리, 모니터링하는 데 사용된다
• Azure Portal에 접속하기
Microsoft Azure
portal.azure.com
• Azure Portal 주요 기능
• 홈(Home) 화면
• 처음 로그인하면 만나는 화면으로, 대시보드 및 공지 사항, 최근 사용한 자원 등을 보여준다.
• 필요에 따라 각기 다른 대시보드를 만들어 즐겨찾는 서비스로 빠르게 접근할 수 있다.
• 대시보드(Dashboard)
• 다양한 서비스와 자원에 대한 정보를 모아볼 수 있는 화면이다.
• 직접 원하는 타일(Widget)을 추가하여, 각 프로젝트나 작업에 따라 구성할 수 있다.
• 리소스 그룹(Resource Group)
• 같은 프로젝트나 서비스에 속하는 자원들을 하나로 묶어 관리할 수 있다.
• 예를 들어, 웹 앱, 데이터베이스, 가상 네트워크 등 서로 관련된 자원들을 한 그룹에 넣어 관리한다
• 모든 서비스(All Services)
• Azure에서 제공하는 모든 서비스를 목록으로 보여준다.
• 검색 기능을 통해 필요한 서비스를 빠르게 찾을 수 있다.
• 즐겨찾기(Favorites)
• 자주 사용하는 서비스나 기능을 왼쪽 메뉴의 즐겨찾기에 추가하여 빠르게 접근할 수 있다.
• 아이콘 옆에 별표 모양을 눌러 추가 및 제거가 가능하다.
• 알림(Notification)
• 배포 작업 상태, 경고, 예산 초과 등의 알림을 보여준다.
• 종 모양의 아이콘으로 확인할 수 있다.
• 클라우드 셸(Cloud Shell)
• 브라우저 기반의 CLI(Command-Line Interface) 도구다.
• Bash 또는 PowerShell을 선택해 사용하며, Azure 리소스를 효율적으로 관리할 수 있다.
• 리소스 관리(Resource Management)
• 각 리소스의 속성을 변경하거나 설정을 조정할 수 있다.
• 사용량을 모니터링하거나 비용 추정도 가능하다.
• 액세스 제어(Access Control)
• 리소스나 리소스 그룹 단위로 접근 권한을 관리할 수 있는 기능이다.
• 특정 사용자 또는 그룹에 역할 기반 접근 제어(RBAC)를 적용하여 권한을 부여할 수 있다.
• 모니터링(Monitoring)
• 자원이나 서비스의 상태, 성능, 로그 등을 모니터링하고 경고를 설정할 수 있는 기능이다.
• Azure Monitor, Application Insights 등의 서비스가 이를 지원한다.
• 비용 관리 및 청구(Billing & Cost Management)
• Azure 서비스 사용에 따른 비용을 모니터링하고 관리할 수 있는 기능이다.
• 예산을 설정하거나 비용 초과 경고를 받을 수 있으며, 비용 분석을 통해 상세 정보를 확인할 수 있다.
• 리소스 탐색기(Resource Explorer)
• 모든 리소스를 트리 구조로 탐색할 수 있는 기능이다.
• 리소스의 구조와 속성 등을 직접 조회하고 JSON 편집기를 통해 설정을 변경할 수 있다.
• Azure Portal UI 익히기
• 설정에서 Appearance, Language 변경
• Dashboard 추가하기
• 자주 사용하는 서비스를 Favorites 추가하기
• All Services
• Favorites 이동하기
• Cloud Shell 실행하기
• Azure Portal에서 GUI로 VM 생성하기
• Resource Group 생성
• 이름: 이니셜+RG
• 위치: eastus
• VM 생성
• Resource Group: 이니셜+RG
• location: eastus
• OS: Windows Server 2022 Datacenter
• ID: adminuser
• password: P@ssw0rd1234
• 나머지는 Default 설정 유지
• VM에 접속하기
• RDP로 접속
Cloud Shell
• Cloud Shell이란?
• 웹 기반으로 제공되는 CLI(Command-Line Interface) 환경이다.
• 사용자가 별도의 설치 없이 웹 브라우저에서 바로 Azure 관리 작업을 수행할 수 있다.
• Azure Portal 내에서 통합되어 있으며, 다양한 Azure 서비스 관리 및 자동화 스크립트 실행을 지원한다
(shell.azure.com으로 접속 가능)
• DevOps, 자동화 및 인프라 관리 도구가 기본 내장되어 있다.
• Terraform: terraform --version
• Ansible: ansible --version
• Git: git version
• Docker: docker version
• Kubernetes: kubectl version
• Helm: helm version
• Python: python --version
• Node.js: node --versionCloud Shell
• Cloud Shell 장점
• 빠른 시작 및 사용 편의성
• Azure Portal에서 별도의 환경 설정 없이 바로 CLI 환경을 사용할 수 있다.
• 환경별로 필요한 도구가 미리 설치되어 있어 바로 작업에 착수할 수 있다.
• 다중 환경 지원
• Bash 및 PowerShell 중 필요한 환경을 선택해 사용할 수 있다.
• 일관된 개발 및 관리 환경
• Cloud Shell은 사용자가 어디서나 동일한 관리 및 개발 환경을 제공하므로, 협업과 작업 효율성이 높아진다.
• 터미널 도구를 활용하여 동일한 스크립트나 관리 작업을 여러 플랫폼에서 수행할 수 있다.
• 클라우드 기반 저장소 통합
• 5GB의 무료 저장소에 사용자의 스크립트, 설정, 데이터를 클라우드 기반 스토리지에 안전하게 저장할 수 있다.
• 자동 업데이트 도구
• 모든 CLI 도구가 자동으로 최신 버전으로 업데이트되므로 사용자는 환경 구성에 신경 쓸 필요가 없다.
• Cloud Shell의 Bash로 VM 생성하기
• Resource Group 생성하기
• az group create -n myRG -l eastus
• 가상 머신 생성하기
• az vm create -g myRG -n myVM --image Ubuntu2204 --admin-username
adminuser --admin-password P@ssw0rd1234
• 가상 머신 상태 확인
• az vm show -g myRG -n myVM
• Resource Group 목록, VM 목록 확인하기, 공인 IP 확인하기
• az group list -o table
• az vm list -g myRG -o table
• az network public-ip list -g myRG -o table
• 로컬 컴퓨터의 PowerShell에서 VM에 접속하기
• ssh adminuser@공인IP주소 (암호: P@ssw0rd1234)
• Resource Group 삭제하기
• az group delete -n myRG
Terraform
• Terraform이란?
• HashiCorp에서 개발한 인프라를 코드로 관리(IaC)하는 오픈소스 도구로, 선언적인 방식으로 클라우드 인프라를 구축하고
변경하며 버전 관리를 지원한다.
• 이를 통해 다양한 클라우드 제공자 및 On-Premises 데이터 센터의 인프라를 효과적으로 관리할 수 있다.
• Terraform과 유사한 솔루션
• Azure: ARM Template, Bicep(ARM 템플릿을 보다 간단하게 작성)
• AWS: AWS CloudFormation
• GCP: Deployment Manager
• Multi-Cloud 및 On-Premises의 Infra를 Code로 관리하기 위해서는 각각 사용하기 보다는 하나 만(Terraform) 배워서 사용하는 것이 좋다.
• Terraform 주요 특징
• 클라우드 제공자 지원
• AWS, Azure, Google Cloud 등 주요 클라우드 플랫폼뿐 아니라 온프레미스 환경까지 지원
• 인프라를 코드로
• 선언적인 HCL을 사용해 인프라 구성 및 관리
• 상태 관리(State Management)
• 인프라 상태를 추적하고 계획(plan)과 적용(apply) 단계에서 비교 및 조정
• 모듈(Module) 지원
• 코드 재사용을 위한 모듈 시스템으로 복잡한 인프라를 간단한 블록으로 구성
• 다중 제공자 지원(Multi-Provider)
• 여러 클라우드 제공자를 동시에 사용하여 하이브리드 및 멀티 클라우드구성
Cloud Shell
• Cloud Shell에서 Terraform으로 VM 생성하기
• Cloud Shell에 접속한다
• Terraform 설치 여부 확인하기
• terraform --version
• 작업 디렉토리 생성
• mkdir tf
• cd tf
• 미리 예제로 만들어 둔 main.tf 파일 다운로드
• wget http://down.cloudshell.kr/terraform/main.tf
• Terraform 초기화
• 필요한 Provider를 먼저 다운로드한다.
• Provider란 특정 클라우드 제공자나 서비스와 통신하는 모듈
• 예: azurerm (Azure Resource Manager), aws (Amazon Web Services)
• ls -la
• terraform init
• ls -laCloud Shell
• Terraform 실행 계획 생성
• 현재 상태와 원하는 구성을 비교하여 변경사항을 보여줌
• main.tf 파일을 참고하여 어떤 리소스가 생성될지 미리 확인한다.
• terraform plan
• Terraform 적용
• terraform plan의 결과를 바탕으로 변경사항을 실제 인프라에 적용
• main.tf 파일에 정의된 리소스를 생성한다.
• 변경 사항 실제 인프라에 반영한다.
• terraform apply
• yes (##1~2분 내에 VM이 생성된다)
• 생성된 Resource Group에 속한 VM에 접속한다.
• ssh adminuser@공인IP주소 ##암호(Peace9!9!)
• Chrome을 사용하여 Web Service에 접속한다
• Resource Group을 삭제한다.
'Study > Azure Cloud' 카테고리의 다른 글
[Azure 정리]3. Virtual Machine 사용하기 (6) | 2025.01.02 |
---|---|
[Azure 정리]2. Entra ID 및 Azure Policy (0) | 2024.12.31 |
AZ-104 연습문제 5(한글버전) (3) | 2024.09.14 |
AZ-104 연습문제 4(한글버전) (4) | 2024.09.06 |
AZ-104 연습문제 3(한글버전) (2) | 2024.09.03 |