Azure Fundamentals
Azure
Azure? MS에서 제공하는 클라우드 서비스이다.
자격증 패스?
Azure 900 시험
클라우드 개념 및 Azure 핵심 모듈에 대한 시험
Advanced Module
Devops? SA?
클라우드 서비스
주요 개념 및 용어
내결함성(Fault Tolerance) 고가용성(High Availability) 재해복구(Disaster Recovery) 확장성(Scalability) 민첩성(Agility) 탄력성(Elasticity) -> 글로벌지원(Global Reach) -> 응답속도(Customer Latency) -> 예측 비용(Predictive cost) -> 보안(Security) ->
자본 지출과 운영 비용
- 자본 지출 : 선불 지불.
- 운영 비용 : 초기비용(X). 선결제가 아니라 사용한 만큼 지불.
종류
IAAS : Infrastructure as a Service (like Server) 유연 SAAS : Service as a Service (like Mail) 소프트웨어에 대한 비용만 지불 PAAS : Platform as a Service (like Lambda) 개발에만 집중
연습문제
핵심 구성요소
Module 02: 핵심 Azure 서비스
핵심 Azure 아키텍처 구성 요소 핵심 Azure 서비스 및 제품
아키텍처 구성 요소 - 물리 구성
전세계Azure<>->지리(GeoGraphy)<>->지역(Region)<>->데이터센터
지리(geoGraphy) : 리전의 모음. 전세계 4개
- 미국, 유럽,
Region : n개의 데이터 센터 묶음. 물리적으로 가까운 데이터 센터들 ex) VM을 Region에 생성한다->데이터센터를 특정하지는 않음. 네트워크 레이턴시가 작을 만큼 물리적으로 가까운 위치
- 왜 리젼을 구성하였나- 확장성 : Region 내에 데이터 센터를 추가하므로서 capability를 올림- 가용성 : Region 내 자원을 임의로 배치하여 특정 데이터센터가 날아가도 데이터 복구- **Paired Region** : 적어도 300마일 정도 떨어진 위치에 둠(DR을 위하여).자동 복제 기능 제공리전에서 복우너하는 것이 우선시 됨.시스템 업데이트로 롤 아웃 방식으로 동시 업데이트하지 않음- 한국 : 2개(한국 중부, 한국 남부)Paired. DR용도로 사용된다.가용성 측면의 배포 : 가용성 유지를 위하여 최소 2개 이상 배포할 필요가 있음. Availabilty Set(가용성 집합) : 하나의 서비스를 제공하는 복수개의 VM을 별도 가용성 집합에 배포하여야 함. 하나가 무너져도(물리 장애, 업데이트 장애 등) 다른 서버로 잘 버팀. => 해결할 수 없는 문제 : Single DC에 가용성 집합이 배포되므로 DC가 무너지면 끝남. Availability Zone을 사용 => 이미 작성된 vM을 가용성 집합에 넣을 수는 없음. Availability Zone(가용성) 영역 : => VM을 복수개 배포할 때, 별도 AS, AZ에 배포하여 DC가 무너져도 단일 서버는 살릴 수 있음. => AZ 구성시 단점? 존간(리전간) 통신 요금이 발생함. AS보다 고가. => 그리고 한국에서는 아직 사용할 수 없습니다.
가용성 옵션 레벨(SLA):
단일 VM : 99.9%(with Premium Storage)
Availability Sets(가용성 집합) : 99.95%
Availability Zones(가용성 영역) : 99.99%
Region Pairs :
가용성 집합(Availability Sets) : 티어링별로 묶음
Update Domains : Azure 물리 서버 업데이트시 VM 영향을 최소화하기 위한 옵션. 기본 값 사용.
Fault Domains : Fault 발생시
가용성 영역 : 개별 세트를 한 존에 넣음
아키텍처 구성 요소 - 논리 구성
요약
구독 : 구독하는 단위. 어떻게 구독을 관리할 것인가?
- 비용 : 특정 비용 처리 주체 단위로.
- 접근제어 : 같은 자원에 접근해야 하는 단위로.
- 기술적 제한 : 같은 기술을 사용하거나 같은 구독내에 존재해야 하는 단위로.
리소스 그룹 : 구독의 서브 그룹. 자원들 묶음.
구독
- 그야말로 구독 단위
- 사용자는 복수개의 구독에 속할 수 있음. 하나의 회사 뿐 아니라 복수 회사도 구독 가능
관리그룹(Management Groups) : 구독의 단위. 트리 형태로 관리 그룹 구조를 가져감
- Default 관리그룹 : Root 관리그룹
- 최대 : 10000개까지 생성
- Tree Depth : 6층까지 생성 가능
리소스 그룹(Resource Groups)
- 동일한 라이프사이클을 가지는 여러 리소스에 대한 논리적 그룹
- ex. 개별 프로젝트를 Resource Group으로 생성하고 프로젝트에 속하는 서버 등을 RG에 넣음
- ex. 물론 횡으로 전개 가능. Web 그룹 생성하여 웹 서버를 다 때려박는다거나 가능
- RBAC으로 권한 관리 가능
- 리소스 그룹과 자원들 한번에 삭제 가능
- 모든 리소스는 하나의 리소스 그룹에만 존재
Azure Resource manager
- ???
논리구조
디렉토리<>->관리그룹<>->리소스그룹<>->리소스
- 테넌트<>->구독<>->리소스 그룹
Azure Compute
- 응용프로그램을 실행하기 위한 온디맨드 컴퓨팅 서비스
- VM : Virtual Machine
- VMSS(Virtual Machien Scale Sets)
Virtual Machine
기본 중 기본인 가상 서버.
구독과 리소스 그룹 선택
인스턴스 설정 정보
- 가상 머신 이름 :
- 지역(Region ) :
- 가용성 옵션() : 인프라 중복이 필요하지 않습니다. -> 단일 VM이다.
- 이미지() :
- 머신 성능 : Preset
- 인바운드 포트 :
- 비용절감 : 서버라이센스가 있는가?
- 디스크 :
- 운영체제 디스크(C),
- 데이터 디스크(D) : 설정하지 않아도 D가 마운팅되지만, 임시 디스크가 마운팅되므로 리셋하면 데이터가 날아감.
- 감사 로그 : 별도 디스크를 생성하여 감사로그를 쌓아줌
Virtual Machine Scale Sets(VMSS)
- 가용성 집합을 만들 필요가 없다
- 확장성에 초점이 맞춰져있다-> Auto Scailing -> 동일 VM을 계속 늘림
웹 앱 만들기
- App Services : PAAS 도구. 코드나 컨테이너를 마음대로 올릴 수 있다. 개꿀.
Container Services
- Azure Container Instance : PAAS. 컨테이너 올리면 바로 돌아감. ACI
- Azure Kubernetes Service : 서비스 오케스트레이션. AKS
네트워크 서비스
- Azure Virtual Network : 리소스간 안전한 통신- Azure Load Balancer : 로드밸런서- VPN Gateway :- Azure Application Gateway : 어플리케이션 게이트웨이. 웹트래픽 로드밸런서- Content Delivery Network : CDN
데이터 형태
- 정형 데이터 : RDB 관계형 데이터베이스. 금융 데이터 등-- 반 정형데이터 : NoSQL DB스키마 변경가능성이 있는. JSON 문서 등.- COSMOSDB- 비정형데이터 : Blob Data. 이미지. 비디오.-
저장소 서비스
IaaS
- 디스크 : 영구 디스크(VM에 붙여서 쓰는)- 파일 : SMB 및 REST로 접근
PaaS
- 컨테이너 : 비정형 데이터(텍스트, 바이너리)- 테이블(tables) : NoSQL 데이터 저장- 큐(Queues) : 메시지 저장 및 처리
스토리지 계정 생성(like S3 Bucket이지만, 각 저장소 서비스들을 다 쓸 수 있는 느낌)
- 중복 수준 :- lrs : 로컬 리전에 중복 카피- grs : pAIRED 리전에 중복 카피- ra-grs : 복재 후 Read Access(읽기)까지 함-> 아래로 올 수록 비쌈- 액세스 계층 : Hot(많이 씀), Cool(적게 씀)
데이터베이스 서비스. PAAS
SQL Database : RDB. 가장 최신 버전의 SQL Serv RDBMS 제공
Cosmos DB : NoSQL. 글로벌 분산, 무제한 확장
Database Migration : 데이터베이스 이관 서비스
마켓플레이스
Day 2 : 보안, 개인정보보호, 규정 준수 및 신뢰
IoT 솔루션
Internet of Things.
- Azure IoT Central
- Azure IoT Hub
빅데이트 분석 솔루션
- Azure Synapse Analytics
- HDInsight : Hadoop
인공지능
- Machine Learning service : SDK 기반으로 코드 작성 및 학습, 테스트, 배포, 관리 및 트래킹 가능
- Machine Learning Studio : GUI 기반 ML model 만들고 배포
Serverless computing
- Azure Functions : 코드에 집중하여 개발
- Azure Logic Apps : 비즈니스 프로세스 자동화 및 오케스트레이션
- Azure EVent Grid : 이벤트 라우팅 서비스
DevOps
- Azure DevOps services : CI/CD 파이프라인 제공. Git 저장소, 오픈소스 연계 등(AZ-400 강의를 듣자)
- Azure DevTest Labs : 테스트용 환경 구축을 빨 리 할 수 있는
관리도구
- Azure 포털 : 웹 리스소 작성
- Azure Powershell or Comand-Line or Interface(CLI) : 커맨드라인 리소스 작성
- Azure Cloud Shell : 웹용 커맨드라인
- Azure mobile App : 모바일용
- Azure REST API
- Azure Advisor : 무료. 성능, 보안, 가용성, 비용 측면에서 best practice 기반으로 권장 사항 제공 잘 맞지 않을 수는 있지만 무료니 팡팡 돌려보자.
Azure Quickstarter Template
- 빠른 시작이 가능한 기본 템플릿 모음
- 내보내기->ARM(Azure Resource Manager, json type)를 하여 기본 템플릿을 구성할 수 있음.
- 파워쉘을 이용하여 템플릿 경로(URI)를 입력하면 바로 배포 가능
ex. Azure 콘솔 사용
- 전용 CLI를 쓰거나 파워쉘을 사용해보자.
- 사실 명령어만 조금 다르고(New-AzVM or AZ VM???????) 파라메터 등 거의 비슷하다.
- 포털에서 cli 도구를 쓰면 바로 사용 가능
연습문제
- 데이터와 애플리케이션을 가깝게 유지해야 하는 고객의 데이터 보존 및 규정 준수 요구 사항을 충족하는 개념은 무엇입니까? -> 지오그래피, 지리
- ARM : JSON
- 비정형데이터 : Blob(Container)
개인정보 준수, 규정 준수 및 신뢰
네트워크 연결 보호 방법 이해 핵심 identity 서비스 보안도구 거버넌스 방법론 모니터링 및 리포트 개인 정보 , 규정 준수 및 데이터 보호 표준
심층방어(Defense in Depth)
물리적보안-신원 및 액세스-경계-네트워크-계산-응용 프로그램-데이터
- Depth별 방어, 뚫린 레이버 얼럿->
공동 책임(Shared Security)
- 고객과 MS의 공동 책임. 각자 롤링하는 영역에 대한 책임을 가져감.
Azure Firewall
PaaS 형태의 IP주소 기반 방화벽 서비스.
- NaT rule collection :
- Network rule colllection :
- Application rule collection : Outbound 인터넷 프로토콜 사용
- 확장성 및 로깅 -> Inbound 대응이 어려울 수 있으므로 Application Gateway를 함께 사용. WAF 기능 제공.
Azure Distributed Denial of Service(DDOS) 보호
- 가용성에 영향을 미치기 전에 사전 탐지하여 네트워크 트래픽을 제거
- 기본 제공합니다!
- 심화된 버전의 프로텍션을 하고 싶으면 Standard 버전으로 업그레이드 해서 사용하면 됨
- 위치 : 제일 앞에서 진행
네트워크 보안 그룹(network Security Group, NSG)
- 네트워크 레벨로 인/아웃 바운드 프로텍션
- Firewall과의 차이점? => 제일 앞단에 배치. 여러개의 VM or 구독을 한번에 커버
- NSG => 작은 문. 개별 그룹 앞에 배치. 하나의 VNet 내부의 IP 등을 보안. 기능도 더 적음.
네트워크 보안 솔루션 선택
- 경계 레이어 : DDOS, Firewall, WAF.
- 네트워킹 레이어 : NSG의 인/아웃 바운드의 허용된 트래픽만 제어.
예제. 어떻게 체계적으로 방어하는가
VIP로 데이터를 받을 경우(구성에 따라 다르다)
- DDOS에서 처음 DDOS방어 진행
- 2.1. Azure Firewall이 막음
- 2.2. Firewall 솔루션으로 막음
- 2.3. Application Gateway(WAF)로 막음
데모. 네트워크 트래픽 보호
가상 네트워크(Virtual Network, VNet-Like AWS VPC?)
주소 공간 및 네트워크 세팅.
하나의 공간에 복수 서브넷으로 구성.
방화벽 함께 생성 가능
방화벽 생성시 :
Inbound : Default로 Inbound Deny All 룰이 들어간다. 최하 우선순위로.
OutBound : 로컬 네트워크(Virtual Network), 인터넷(단절망도 기본적으로 인터넷 모두 가능), 모두 차단. -> 기본룰은 삭제 불가능하다 -> 더 낮은 순위로 인터넷 차단 룰 만들면 차단 가능
Azure Active Directory
인증과 권한을 진행
- 인증(Ahtuentication) : 누구인지 식별.
- 권한(Authorization) : 권한을 가지고 있는지 식별.
주요 기능
단일 인증
응용 프로그램 관리
디바이스 관리
B2B, B2C 관리
다단계 인증(MFA)
최소 두가지 이상의 인증 기법을 섞어서 사용할 필요가 있음
- 당신이 알고 있는 것 : PW
- 당신이 가지고 있는 것 : 휴대폰의 APP
- 당신임을 증명할 수 있는 것 : 생체(지문, 홍채)
Active Directory와의 차이점: AD 기능을 풀로 제공하는 것이 아님(LDAP 없음 등)
보안 센터(Azure SEcurity Center)
- Azure 및 온-프레미스 서비스에 대한 위협 보호 알람 기능 제공.
- 보호는 해주지 않아요. 알람만 알려줘요.
- 보안센터의 일반 기능 : 감지/평가/진단/안정화/종료
- 보안센터가 커버하는 범위 : 감지/평가/진단까지만 제공. 진단에 대한 액션은 직접 하세요.
- 무료/유료 제공
- 심각도 별 이슈 보여줌
- 리소스 별 이슈 보여줌
키 자격 증명(Azure Key Vault)
자격증명 관리 시스템
- 비밀번호
- 키
- 인증서
- 하드웨어 보안 모듈을 지원하는 장비에 저장된 비밀번호 정보 가져오기 기능
정보보호(Azure Information Protection - AIP)
레이블을 적용하여 문서/메일을 분류하고 보호
문서 정보 기준으로 자동 레이블링 가능 : ex. 신용카드 번호가 있다면 "금융정보"로 자동 레이블링 가능
고급위협정보(Azure ATP-Advanced Threat Protection) 지능형 위협, 손상된 ID 및 악의적인 내부자 작업을 식별, 탐지 조사하기 위한 보안 솔루션
Portal : 활동 모니터링하고 대응하는 전용 포털
Sensors: 도메인 컨트롤러에 직접 설치
Cloud Service : Azure 인프라이세 실행. 포털로 정보를 던짐.
다른 서비스(PaaS)들에 Threat Protection 형태로 들어가 있음
Azure 거버넌스 방법론
정책(Azure Policy)
- 규칙 적용을 위해 회사 표준, SLA 작성
- 체크 : 정책 준수하지 않는 리소스를 평가하고 식별
- 단계 : 정책 정의->정책 할당->평가 검토
정책 이니셔티브(Policy Initiatives)
정책의 묶음
- Initiatives Definitions(정의) : 묶음을 정의함
- Initiatives Assignments(할당) : 리소스에 할당함
예제
- 정의 : 위치 제약. 특정 지역에서만 허용할 수 있도록 위치 설정 가능. 한국 중부만 선택한 경우 그 외 지역에 리소스 생성 불가.
- 스토리지 계정을 생성 후 배포 타이밍에서 정책에 의해 생성 불가
역할 기반 액세스 제어(RBAC), IAM
- AAD와 연동
- 구독, 리스스 그룹에 할당 가능
잠금(Resource Locks)
실수로 삭제하거나 수정하지 않도록 Azure 리소스를 보호. 잘못하다가 서버 날린다!
- CanNotDelete : 읽기/업데이트(O), 삭제(X)
- ReadOnly : 읽기(O), 업데이트/삭제(X)
Azure Blueprints
재사용 가능한 환경을 정의(리소스 및 정책 등). like Cloudformation
- ARM 템플릿과 차이점? 리소스만 설정 가능. Blueprints가 ARM을 가짐
모니터링 및 리포트
태그
모니터링
- Azure Monitor : 큰 브랜드 네임. 큰 그룹
- Azure Metrics : 애플리케이션, OS, Resource, Subscription, Tenant -> 로그를 스토리지 어카운트에 저장. 저장된 기초 정보를 다양한 애플리케이션으로 사용함 Insight : Visualize : Aalyze : Repond : Integrate :
Azure Logs :
Azure Status
- 전체 서비스에 대한 대략적인 상태 확인
Azure Service Health
- 내가 배포한 서비스들에 대한 상태 확인
Resource Health
- 각 리소스에 대한 상태 확인
개인정보 보호 및 규정 준수
보안 및 컴플라이언스 이슈를 중심에 두고 시스템 설계 CJIS, CSA STAR, GDPR ISO 27018, HIPAA, NIST 인증 획득
마이크로소프트 개인 정보 보호
STP 규정 준수 관리자
- 정책 별로 어느 정도 만족하고 있는지 트래킹하고 있음
예제 전체 보안 센터
Azure Government 서비스
Azure와 별도 인스턴스로, 물리적으로 격리되어 있음 심사를 받은 공인된 직원만 액세스 할 수 있음
Azure 중국 21 Vianet
- 수탁 업자를 통해 데이터 센터를 운영
연습문제
- 감사보고서 : Service Trust Portal
비용 관리
구독
- 비용
- 액세스 컨트롤
- 기술 제약
구독 종류
- 무료, 종량제, 기업계약, 학생
무료 계정
- 12개월 + 한달(약200불) + 항상 무료 제공(25개)
제품 및 서비스 구매
- 기업 : 기업과 계약 서명 후 연간 협상된 금액을 지출하도록 약속.
- 웹으로 직접 구매 :
- CSP : 클라우드 솔루션 공급자. 파트너사와 협약.
비용에 영향을 미치는 요인
- 리소스 유형
- 서비스
- Location : 한국/미국 위치에 따라 다를 수 있다
네트워크
- 인바운드 : 전체 무료
- 아웃바운드 : 유료
가격 계산기
- Azure 계산기
- 총소유 비용 계산기 : TCO(on-premise->Azure 비용)
비용 최소화
비용 분석-> 사용량 모니터링->지출 한도 사용->예약 사용->리전에 따라 비용이 다름->up-to-date, 최선 오퍼링 이용->태그를 적용하여 소유자별 식별 및 분석
Azure Cost Management
예산, 경고,
기술 지원 옵션
- 베이직 : 기술지원 안됨. 무료
- 디벨로퍼 : 메일을 통한, 업무 시간에. 월3만
- 스탠다드 : 메일이나 전화, 24-7 연락 가능. 월 11만
- 프로페셔널 디렉트: 메일이나 전화, 24-7 연락 가능. 월 ???만
- 프리미어: 메일이나 전화, 24-7 연락 가능, 아키텍처 리뷰 진행. 월 ??만 응답 시간이 다름
- 링크 꼭 보자
대체 지원 채널
- Knowledge Center 제공
SLA(Service Level Agreement)
Azure상의 성능 표준을 정의하는 특정 용어를 문서화
- 99.9~99.99% 가용성 SLA 보장
1년기준
- 8.76시간 : 99.9%- 52.56분 : 99.99%
복합 SLA
웹, DB를 같이 쓰면 결국 SLA곱이 복합 SLA가 됨
서비스 생명 주기
프리뷰 Vs GA(General Availability)
고객에게 제공
프리뷰기간에는 절반정도 가격
기술지원 불가
제품뿐만 아니라 포털에도 미리 보기 적용