728x90

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)

참고 https://bit.ly/4bxazmw

 

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

2024년 1분기 시장 점유율

 

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 AI Services

Azure 구독하기

Azure 구독하기

Azure를 사용하려면 반드시 먼저 구독을 해야 한다

사전에 필요한 것

  • outlook 이메일 주소

  • outlook.com에서 무료 이메일 주소 생성

  • 개인 신용 카드

무료 구독 신청하기

  • https://azure.microsoft.com/en-us/pricing/purchase-options/azure-account

Trey Azure for free

 

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]

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이다.

Azure Active Directory

 

Subscription-Resource Group-Resource와의 관계

관리 범위의 크기에 따라 Subscription > Resource Group > Resource로 구분된다.

Subscription에 관리 권한을 위임하면 그 아래에 있는 Resource Group과 Resource에도 권한이 상속된다.

Resource Group

Subscription에 관리 위임하기

Subscription에는 주로 IT 관리자(예: adminuser) 한 명에게 OWNER 역할을 부여하여 총 관리 권한을 부여한다

Subscription

 

Resource Group 관리 위임하기

Azure 자원(Resource)을 이용하려면 구독이 전제되어야 한다.

자원을 이용하려면 Azure Portal에 로그인을 해야 하면 이 때 Entra ID에서 인증 받고 Azure 자원에 관리 권한이

   있어야 한다.

특정 그룹 및 사용자에게 Azure Portal의 자원을 쓸 수 있도록 하려면 관리 권한을 부여 받아야 한다.

보통 특정한 Resource Group에 관리 권한(Contributor)을 위임한다.

위임 받은 사람/그룹(DevUsers)은 해당 Resource Group에만 작업할 수 있다.

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을 관리하도록 특정한 사용자(예: 구독 계정)에게 위임하고자 할 때는 다음과 같이 하면 된다.

Virtual Machine

 

VM이라는 Resource 관리 위임하기

Windows Admin Center로 실행중인 VM 관리하기

필요한 관리 Tools 설치하기

Virtual Machine

VM이라는 Resource 관리 위임하기

Windows Admin Center로 실행중인 VM에 접속하기

Virtual Machine

 

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에 접속하기

https://portal.azure.com

 

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으로 접속 가능)

PowerShell
CLI

 

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을 삭제한다.

300x250