Taeyoung Kim

Cloud & Platform

Azure 학습 및 실습 정리

Azure 학습 및 실습 정리 학습 내용을 정리한 백필 노트입니다.

이 글은 2025년 학습 기록을 블로그 형식으로 정리한 백필 노트입니다.


1. Azure Storage 계정

  • 컨테이너 생성
  • 데이터 업로드
  • 계층적 네임스페이스 활성화
  • 파일 공유 설정
  • 테이블 엔터티 관리
  • 리소스 그룹: rg-data-hsw

2. Storage 계정 생성

  • 계정 이름: stgacct<이니셜>01
  • 지역: Korea Central
  • 성능: 표준
  • 중복성: LRS (로컬 중복 스토리지)

데이터 보호 설정

  • 복구(Recovery) 섹션 → 일시 삭제(Soft Delete) 모두 해제

Soft Delete: 데이터 삭제 시 실제 삭제 대신 일정 기간 동안 복구 가능 상태로 보존.

업로드 JSON 예시

  • product1.json
{
  "id": "1",
  "productname": "Bearing Ball",
  "productnumber": "BA-8327",
  "quantityinstock": 1109,
  "productcategory": {
    "subcategory": "Parts",
    "category": "Components"
  }
}
  • product2.json
{
  "id": "2",
  "productname": "Chainring Nut",
  "productnumber": "CN-6137",
  "color": "Silver",
  "quantityinstock": 1750,
  "productcategory": {
    "subcategory": "Parts",
    "category": "Components"
  }
}

[참고 링크]

https://learn.microsoft.com/ko-kr/training/modules/introduction-to-azure-data-lake-storage/2-azure-data-lake-gen2


3. Explore Azure Files

  • Azure Files: SMB/NFS 기반 클라우드 파일 공유 제공
  • 리프트 앤 시프트(Lift & Shift) 시나리오 지원
  • 파일 잠금 및 OS 기반 도구 활용 가능

설정

  • 데이터 저장소 → 파일 공유 추가
    • 이름: files
    • 액세스 계층: 트랜잭션 최적화
    • 백업: 비활성화

Windows 스크립트는 Windows Server 2012 이상에서만 작동.


4. Explore Azure Tables

  • Azure Tables: 비관계형 키/값 저장소 제공

테이블 생성

  • 이름: products

엔터티 예시

  1. PartitionKey: 1 / RowKey: 1
    • Name: Widget
    • Price: 2.99
  2. PartitionKey: 1 / RowKey: 2
    • Name: Kniknak
    • Price: 1.99
    • Discontinued: true

PartitionKey + RowKey = 복합 기본 키

자동 생성 열: Timestamp


5. Cosmos DB 계정 생성

  • 유형: Azure Cosmos DB for NoSQL
  • 계정 이름: acctcosdb<이니셜>
  • 지역: Korea Central
  • 용량 모드: 프로비저닝된 처리량(RU)
  • 무료 계층 할인 적용

데이터 예시

{
  "name": "Road Helmet,45",
  "id": "123456789",
  "categoryID": "123456789",
  "SKU": "AB-1234-56",
  "description": "The product called \"Road Helmet,45\" ",
  "price": 48.74
}

SQL Query 예시

SELECT *
FROM c
WHERE CONTAINS(c.name,"Helmet")

6. Azure Synapse Analytics

  • 작업 영역: acct-synapse-ws-<이니셜>
  • 리소스 그룹: rg-synapse-<이니셜>
  • 스토리지 계정: datalake<이니셜>
  • 파일 시스템: fs<이니셜>

외부 데이터 연결

쿼리 예시

SELECT TOP 100 *
FROM OPENROWSET(
    BULK 'https://datalakehsw.dfs.core.windows.net/fshsw/products.csv',
    FORMAT = 'CSV',
    PARSER_VERSION = '2.0',
    HEADER_ROW = TRUE
) AS [result]

Apache Spark 풀

  • 이름: spark
  • 크기: Small (4 vCore / 32GB)
  • 노드 수: 3
  • 자동 크기 조정: 사용

7. IoT + Stream Analytics 리소스

  • IoT Hub: iothub...
  • Storage 계정: store...
  • Stream Analytics 작업: stream...

IoT Hub → 수신 데이터

Storage → 결과 기록

Stream Analytics → 실시간 데이터 처리


8. Azure Synapse Analytics (Spark Streaming)

  • Spark Structured Streaming + Delta Tables 활용
  • JSON 기반 장치 상태 데이터 스트리밍
  • 실시간 오류 카운트 집계 및 Delta Lake Time Travel 기능 지원

9. Synapse Analytics 작업 공간 (데이터 탐색기 풀 포함)

  • 작업 영역: synapse-ws-<이니셜>
  • 데이터 탐색기 풀: dxpool<이니셜>
  • 워크로드: 컴퓨팅 최적화
  • 크기: 초소형(2코어) 또는 Small(4코어)
  • 추가 설정: 스트리밍 수집 활성화

[참고 링크]


10. Azure Databricks 작업 영역

  • 이름: databricks-<이니셜>
  • 지역: West US 2
  • 가격 책정: 프리미엄(평가판 14일)

11. Azure RDB & NoSQL DB Project

  1. RDB 구성
    • SSMS 설치 및 연결
    • Azure SQL Database, MI, VM 기반 SQL
  2. NoSQL DB 구성
    • Azure Cosmos DB (CoreSQL)
    • MongoDB (MongoDB Client 연결)