[Microsoft Data School] 1일차 - 클라우드 컴퓨팅 & Azure 개요 & Linux & Network

RudinP·2025년 12월 30일
post-thumbnail

💻클라우드 컴퓨팅

✨개요

  • 클라우드 서비스 제공자가 관리해주며, 24시간 기동됨(인터넷)
  • 유동적으로 컴퓨팅 성능을 조절하여 비용을 조절할 수 있음(온디맨드)
  • 물리적인 한계를 극복(데이터 센터에 존재)
    • 응용 프로그램과 데이터에 집중 가능
  • 스토리지, 서버, 데이터베이스, 소프트웨어, 네트워킹 서비스 제공

✨역사


이미지 출처: RedHat

  • 1960년대부터 발전
  • 2000년 초 Salesforce.com- SaaS 확산
  • 2006년 AWS- IaaS
  • 2008년 Google App Engine, MS Azure- Paas 본격화

✨핵심 기술

가상화

  • 확장 가능케 함

분산 컴퓨팅

인터넷

  • 클라우드 컴퓨팅 가능

✨가상화

  • 컴퓨팅 자원의 가상 버전 생성 -> 소프트웨어를 하드웨어와 분리시킴

종류

  • 서버
  • 운영체제
  • 네트워크
  • 스토리지
  • 데스크탑
  • 어플리케이션

서버 가상화


이미지 출처: https://www.dnsstuff.com/what-is-virtualization

  • 물리 서버를 여러개의 가상 머신(VM)으로 분할
    • 윈도우즈 기반은 HyperV 사용
    • VirtualBox만 무료로 사용 가능 (나머지는 상용임)
  • 각각 독립적 운영 체제와 응용 프로그램 실행
  • 물리서버 하나 - 워크로드 여럿 동시 실행

운영체제 가상화

  • 컨테이너화
  • 운영 체제 커널 하나를 공유, 여러개의 컨테이너 생성(사용자 공간)
  • 컨테이너는 가볍고 이식 가능한 환경을 제공 -> 응용 프로그램 빠르게 배포 가능
    • 서버 가상화에 비해 OS-level Hypervisor 단계가 없기 때문
  • docker, kubernetes (현재는 쿠버네티스가 더 유명)
    • 컨테이너 관리 툴

네트워크 가상화

  • 스위치, 라우터, 방화벽과 같은 네트워크 리소스 가상화
  • 트래픽을 논리적으로 분리, 확장성 증가
  • 클라우드 컴퓨팅 발전에 관여

스토리지 가상화

  • 물리적으로 여러개인 스토리지를 하나로 간주 (Raid) -> 확장성↑ 비용↓
    • Raid에 디스크가 물리적으로 5개가 있다고 하면 1개는 오류정정용으로 사용(스트라이프, 미러링...)
    • NAS에 Raid 방식을 적용하기도 함
  • 혹은 물리적으로 하나인 스토리지를 여러개로 간주(파티션)
    → 리소스 중앙 관리, 데이터 이동 간소화, 데이터 복제 가능

데스크톱 가상화

  • PC가 서버에 존재하고 물리적 PC는 껍데기
  • 운영체제 등 모든 컴퓨팅 자원이 서버에 존재
  • 원격 데스크탑

DaaS (Desktop as a Service)

  • VDI 기반: 기업에서 자체적으로 서버를 운영하여 데스크톱 가상화
  • VDI 자체와는 다르게 클라우드 서비스 제공업체에서 사용자에게 VDI 서비스 제공, 종량제 방식 과금 서비스

어플리케이션 가상화

  • 운영체제로부터 분리, 컨테이너에 포장
  • 자체적 가상 환경에서 실행 가능(충돌 회피)

💻클라우드를 알아야 하는 이유

취업 시장 유리: 클라우드 역량은 채용, 연봉 ↑
경력 확장: 풀스택 개발, 데브옵스, 클라우드 아키텍트
프로젝트 자유도: 인프라 비용 걱정 X
비용 절감
확장성: 트래픽 증가 자동 대응
민첩성: 신제품 출시 주기 단축, 빠른 배포/테스트

  • 코드 및 쿼리가 어떤 인프라 위에서 작동하는지 알아야 한다.
  • 탄력적 서버를 위해서라면 클라우드는 필수

✨CI/CD

  • Continuous Integration & Delivery(지속적인 통합 및 배포) → 지속적 유지보수
  • 현대 소프트웨어 개발 방법론의 핵심 아이디어 중 하나
  • 서비스를 여러개로 쪼개놨기때문에 가능
  • 은행 등에서는 이게 안돼서 서비스 중단 안내를 띄우고 서비스 배포를 하는 것(SI)

✨DevOps

  • 개발과 운영 동시에
  • CI, CD
  • 인프라스트럭처(IaC)
  • 자동화된 배포
  • 모니터링 및 피드백 루프
  • 협업과 커뮤니케이션
  • 공유 책임

✨Cloud Native


이미지 출처: thenewstack.io/kubernetes

  • 클라우드 컴퓨팅 환경을 활용하여 어플리케이션을 구성하는 방법 (↔모놀리스)
  • 마이크로서비스: 작은 여러 서버를 합쳐 사용(↔메인프레임: 고성능 한 개 사용)
    • 요즘 기업은 x86 사용(Linux 기반)
    • 결합이 약함
    • 각 서버별 통신도 필요해짐
    • 비즈니스의 성격에 따라 취사선택 필요

🏆AZ 900 내용↓

💻클라우드 컴퓨팅 유형

✨분류 기준 - 어디에 배포하는가🏆


이미지출처: techtarget.com

토막지식: 한국에서는 보통 통신사가 지은 데이터센터의 일부를 임대하여 사용
온프레미스(On-premise) : 땅과 상관없이, 본인이 전부 관리하는 것

Public Cloud🏆

  • 일반 IT가 Public Cloud 사용(AWS 등)
  • chargeBack 존재(예상보다 너무 많이 쓰면 다른 예산 깎는 것)

Private Cloud🏆

  • 회사 내부적으로 자체 서버 사용
  • 온프레미스

Hybrid Cloud🏆

  • 전통적 방식과 달리 온디맨드 가능
  • Private + Public

MultiCloud🏆

  • 두 개 이상의 Public Cloud 사용
    • ex) Azure + AWS
  • 사용 이유
    • 데이터 종류에 따라 저장할 곳이 다름
    • 보안 및 복구(그렇다고 같은 서비스 데이터를 이중으로 저장하는 것은 드뭄)
    • 특정 국가에 따른 서버 부재
    • 비용 문제(벤더락: 특정 벤더만 사용하면 종속성↑, 이사가 어려워짐)
      • ex) Adobe가 비용 네고를 위해 Azure로 옮기겠다고 했으나 AWS는 협상에 응하지 않음


다중 테넌트: 여러명이 동시에 사용하는 것
확장성: 온디맨드와 관련된 확장성

오해: Public이라고 보안성이 낮은 것이 아니다

✨분류 기준 - 무엇을 제공하는가🏆


Co-Location: 데이터센터 자체는 소유권이 없으나, 안의 장비는 소유한 것

  • 전원, 보안시설 등 기본 인프라 공유

Iaas🏆

  • Infrastructure as a Service
  • 인프라 담당자 필요
  • Lift and Shift Migration
    • 클라우드 도입 초기 단계에 필요(이사)
  • Setup Test/Development Environment
    • 모든 걸 관리 가능

PaaS🏆

  • 개발자가 인프라 관련 문제가 아닌 코딩과 어플리케이션 로직에 집중 가능케함
  • Setup Development Framework: 개발 프레임워크 구성
  • Analytics/Buisness Intelligence: 분석/비즈니스 인텔리전스
  • Azure(완벽하게 PaaS인건 아님)
  • tier 별 과금 상이

SaaS🏆

  • 구독 기반
  • 전체 소프트웨어 스택을 클라우드 제공업체가 관리
  • 메일 및 메시징
  • 비즈니스 생산성 어플리케이션
  • 재무 및 비용 추적
  • Microsoft 365,Fabric 등


SaaS는 소비자용, PaaS부터는 개발자용으로 생각하면 간단함

✨공동 책임 모델(출제 단골)🏆


이미지출처: Microsoft
SaaS쪽 갈수록 CSP(Cloud Service Provider)가 하는게 늘어난다.


💻Cloud 도입 시 비용 관점 고려사항

✨Cloud vs On-Premise

  • 클라우드만 사용하는 것은 비용 부담↑
  • 클라우드는 보통 내부로 들어오는 경우는 비용 X, 하지만 이사 나갈 땐 비용을 받음(VendorLock)
    • 여러 클라우드를 포함한 업체에서 이사처리를 하면 비용 절감 가능

Cloud Market 상황

2024 Q2

2025 Q2

  • 구글은 태생적으로 점유율 높이기 힘듦

Consumption base model(사용량 기반 모델)🏆


이미지출처:https://www.tierpoint.com/blog/capex-vs-opex-cloud-whats-the-difference/

CapEx(Capital Expenditure)🏆

  • 자본적 지출
  • 일부 클라우드 해당(선불 연간제의 경우)

OpEx(Operational Expenditure)🏆

  • 클라우드 해당
  • 운영 지출

장점

  • 선불 비용 X
  • 인프라 관리 비용 X
  • 추가 리소스 요금 조절 가능

단점

  • 사용량이 많으면 비용 ↑

FinOps

  • 클라우드가 갖고 있는 기술적 장점 부각에 따른 비용 관리 소홀 대응법
  • 말하자면 비용 관리 방법

💻클라우드 컴퓨팅 도입 시 이점

  • 고가용성, 신뢰성, 확장성이 주요 이점

✨High Availability🏆

오랜 기간동안 지속적으로 작동 가능

보장하기 위한 방법🏆

  • 중복성(Redundancy): 서버를 여러개 사용
  • 부하 분산(Load Balancing)
  • 자동 장애 조치(Automated Failover)
  • 정기적인 모니터링 및 유지보수(Monitoring and Maintenance)
  • 지리적 분산(Geographic Distribution)

SLA - Service Level Agreement🏆

  • 산업계에서 쓰이는 공식 용어
  • 실제로는 99.9%부터 사용
  • 99.99% 정도는 되어야 안정적(다만 비용 ↑)

✨Scalability🏆

Scale Up🏆

  • 하드웨어 성능을 높임(Vertical Scaling)
  • 적용은 쉬우나 한계 존재

Scale Out🏆

  • 하드웨어를 추가함(Horizontal Scaling)
  • 클라우드 컴퓨팅 환경에서 많이 사용되는 추세
  • Stateless여야 함

Stateful vs Stateless

클라우드에서 Elasticity(탄력성)과 Auto Scaling(자동 확장)을 제대로 구현하려면 어플리케이션이 Stateless 구조로 설계되어야 함

  • 상태 정보는 Redis나 DB 같은 외부 저장소로 분리

Elasticity: 수요에 따른 자원 동적 조정 능력

✨Reliability

워크로드가 비즈니스 연속성 요구 사항에 따라 허용된 서비스 수준에서 일관되게 수행할 수 있는 기능

복원력

  • 장애 발생해도 서비스가 중단되지 않도록 방어, 유지
  • 이중화, 재시도 로직
  • 목표: 장애 회피

복구 가능성

  • 중단 발생 후 정산 운영 상태로 복원하는 능력
  • 백업 복구, 재해 복구
  • 목표: 정상 상태로 회귀

✨Predictability

성능, 비용 예측 가능

[참고] Azure Well-Architected Framework

https://learn.microsoft.com/en-us/azure/well-architected/

[참고] Azure Cloud Adoption Framework

https://learn.microsoft.com/ko-kr/azure/cloud-adoption-framework/overview

  • CAF는 조직이 클라우드 도입 후 비즈니스 목표를 달성할 수 있도록 하는 프로그램

✨Security🏆

공동책임과 비슷함

  • 클라우드를 사용하면 보안에 대해 신경쓸 부분이 줄어듦
  • 보안 리소스와 예산을 다른 비즈니스 우선 사항으로 이동 가능

✨Governance

조직 내에서 클라우드 사용을 제어하는 가이드라인

✨Manageability

클라우드 관리 방안

  • 제일 약한 장점

[참고] 솔루션 아키텍트


💻Azure

✨Data Center

✨가용성 확보하기🏆

Availability set(가용성 집합)🏆

  • 하나의 데센 내 VM 중복 → 가용성 확보
  • 가용성 영역을 지원하지 않는 지역에서 유용
  • 최대 3개의 장애 도메인과 20개의 업데이트 도메인으로 구성
    • 업데이트 도메인: 동시에 재부팅할 수 있는 가상 머신과 하드웨어 그룹
    • 장애 도메인: 공통 전원 공급원과 네트워크 스위치를 공유하는 가상 머신 그룹
  • 가용성 집합을 사용할 땐 집합 내 최소 두 개 이상의 VM을 생성하는 것이 좋음 -> 높은 가용성 보장, 99.95% SLA 충족

Availability zones(가용성 영역)🏆

  • 하나의 지역 내 3개의 영역 존재 → 데센 다운 대비
  • 영역 서비스(Zonal Services), 영역 중복 서비스(Zone-redundant services), 항상 사용 가능한 서비스(Always-available services) 로 나눠 지원

Region pairs(지역 쌍)🏆

  • 각 데센별 일정거리(예: 100마일) 이상 떨어진 곳에 존재해 재해 복구 대비

(해당 이미지🏆)

  • 가장 좋은 것은 서버 자체 복제(불가능)
  • 재해 복구에는 반절정도만 복구 가능하도록 정책 생성
  • 모의 훈련으로 6개월에 1번씩 복구가 잘되는지 확인

✨Azure Site Recovery🏆

  • 비즈니스 연속성 및 재해 복구 전략을 구현하는 Azure 서비스
  • BCDR을 기술적으로 실현

BC/DR🏆

  • 계획되지 않은 중단 발생시 BC(비즈니스 기능)을 지속, DR(데이터복구)를 위한 포괄적 전략과 계획

ASR🏆

  • BCDR 전략의 기술적 구현, DR 부분 담당하는 Azure 서비스
  • 워크로드를 다른 위치로 복제하고 장애 발생 시 신속하게 전환하는 기능 제공

  • RTO, RPO가 작을수록 좋음

✨Azure Region

선택 시 고려사항

  • 규정 준수 및 데이터 보존: 국가별 준수상황이 다름
  • 서비스 가용성: 모든 지역에 동일한 서비스가 제공되는 것이 아님
  • 가격

지역 유형

  • 문제 없을 시 Korea Central 사용(속도 제일 빠름) + 법적 문제(개인정보). 다만 가격은 불리함

추천: 광범위 서비스 기능 제공, 가용성 영역 지원

대체: 가용성 영역 지원 X, Azure 포털에서 기타로 지정

✨Azure 유형별 서비스

✨Azure Special Region🏆

  • 법적 목적에 맞게 특수 지역 제공
  • Azure Government(미국 정부에게 IaaS, PaaS, SaaS 제공, 미국 정부 기관 및 계약업체용)
  • 21Vianet(중국 전용, Microsoft에서 데센을 직접 관리하지 않음)

✨Azure Edge Zone

  • 인구 밀집 지역에서 지연시간에 민감한 서비스를 효과적으로 제공
  • VM, Container 및 일부 Azure 서비스 제공
  • 엣지 컴퓨팅: 클라우드 인프라에 보내지 않고 엣지에서 데이터를 처리, 분석 → 지연 시간 ↓

✨Azure IoT

  • 디자인 시 클라우드 기반을 사용할지 에지 기반 솔루션을 사용할지 정해야 함
    • 클라우드 기반: 클라우드에서 직접 디바이스를 모니터링하고 제어
    • 에지 기반 솔루션: 에지 런타임 환경을 통해 클라우드에서 디바이스 모니터링하고 제어

IoT Hub🏆

  • 양방향 통신 : IoT 디바이스와 클라우드 간 실시간 데이터 주고받기
  • 디바이스 투 클라우드 텔레메트리: 센서 데이터, 상태 정보 클라우드 전송
  • 클라우드 투 디바이스 명령: 클라우드에서 명령을 보내 동작 제어, 설정 변경 → 대규모 적합
  • 디바이스 트윈 및 직접 메서드: 디바이스의 상태 및 메타데이터 복제본을 클라우드에 유지 → 클라우드에서 원격호출

IoT Central🏆

SaaS 기반 IoT 애플리케이션 플랫폼

  • 쉬운 솔루션 구축: 유저 친화적 UI
  • 통합 디바이스 관리: 디바이스 중앙에서 관리
  • 강력한 데이터 시각화 및 알림: 시각화와 자동 알림 기능
  • Azure 생태계와의 원활한 연동: 확장성, 보안, 외부 시스템 연동

✨Azure Sphere🏆

  • 보안 IoT 플랫폼
  • 하드웨어(MCU), 운영체제(OS), 보안서비스로 구성

✨Azure point of prescence🏆

  • 트래픽이 Microsoft 글로벌 네트워크로 들어오거나 나갈 수 있는 액세스 포인트 또는 물리적 위치
  • CDN: 콘텐츠 전달 네트워크
    • 빠른 로드 시간
    • 지연 시간 삼소
    • 확장성
    • 신뢰성
    • 보안 강화

💻Azure 시작해보기

✨구독🏆

역할🏆

  1. 논리적 컨테이너(A Container for Resources)
  2. 청구 단위(A Unit for Billing)
    • 서비스 사용 요금이 합산되어 청구되는 단위
  3. 관리 경계(A Boundary for Management)
    • 접근 권한

사용 이유🏆

  1. 환경 분리로 안정성 확보
  2. 비용 및 조직 분리로 관리 효율화

✨리소스 그룹🏆

구독 내에서 관련된 리소스(VM, DB, 네트워크)들을 함께 묶어 관리하기 위한 논리적인 컨테이너

역할🏆

  1. 그룹 관리(Group Management)
  2. 수명 주기 관리(LifeCycle Management)
  3. 권한 관리(Autorization)

규칙🏆

  1. 하나의 그룹/구독에만 소속
  2. 자유로운 이동: 다른 리소스 그룹으로 이동
  3. 서로 다른 위치 가능
  4. 태그 상속 불가
  5. 중첩되지 않음

💻Azure Portal 없이 Azure 사용

✨Azure CLI, PowerShell, CloudShell

*UI 자동화 Power Automate


💻Compute

✨Azure Compute service

Compute: 어플리케이션이 실행되는 리소스의 호스팅 모델

✨Azure Virtual Machine

Azure 가상 네트워크 내에서 가상 머신을 배포하고 관리하는 서비스
과금 대상은 Public IP, 가상 머신

사용 용도

  • 개발 및 테스트
  • 클라우드 내 응용 프로그램
  • 확장된 데이터센터

특징

  • Azure에서 하드웨어 시스템 유지보수 지원
  • VM은 시간당 요율로 과금
  • 99.9% SLA
  • 2개의 VM이 가용성 집합에 배포되는 경우 99.95% SLA
    • 중복할수록 늘어남
  • 백업은 그냥 PB
  • 이미지: 운영체제

머신 유형

가격 계산기

https://azure.microsoft.com/ko-kr/pricing/calculator/
https://cloudprice.net/

데센을 꼭 한국으로 설정해야하나?

  • 운영 서버: 네
  • 개발 서버: 대부분 아니오
  • DR 리전 선택시: 비싼 일본 대신 저렴한 미국 리전 고려

✨ACU(Azure Compute Unit)

  • Standard_A1 Vm을 100으로 기준해서 제공하는 성능 예측

✨Azure Virtual Machine Scale Sets🏆

수천개의 동일 구성 VM 인스턴스를 자동으로 생성, 관리, 확장하는 서비스

  • 자동 확장 및 축소
  • 높은 가용성
  • 대규모 배포
  • 유연한 오케스트레이션 지원
    사용 사례) 빅데이터 처리, 웹 어플리케이션 확장, 컨테이너 클러스터링, 마이크로서비스 아키텍처

✨Azure dedicated host🏆

다른 고객과 물리적 서버 용량 공유 X, 전횽 호스트

  • 물리적 서버 단위로 VM 배치 → 하드웨어 격리 보장, 보안과 규정 준수
  • 유지 관리 작업 시기를 사용자가 결정 → 중요 작업 중단 최소화
  • 비용 절감(Azure 하이브리드 혜택으로 라이센스 가져옴)
  • 메모리와 스토리지 같은 물리적 리소스 공유 X → 대기 시간과 처리량이 중요한 워크로드에 적합
  • 특정 지역, 가용석 영역 및 장애 도메인에서 전용 호스트를 프로비저닝 → 고가용성, 데이터 주권 요구사항 충족

✨ACI, ACA, AKS🏆

컨테이너 관리 솔루션

✨Kubernetes

컨테이너화된 어플리케이션 배포, 확장, 관리의 표준 소프트웨어(오픈소스)

  • 컨테이너 오케스트레이션
  • 확장 및 복구
  • 서비스 디스커버리 및 로드 밸런싱
  • 스토리지 오케스트레이션
  • 자동 배포 및 롤백

✨Serverless Computing🏆

클라우드 서비스 제공자가 서버의 관리와 운영을 담당하는 클라우드 컴퓨팅 모델

  • 코드를 작성하고 배포하는데 집중 가능
  • 사용한 만큼만 비용 지불
  • AWS Lambda, Azure Functions, Google Cloud Functions
    • 트리거 발생시 작동하는 방식으로 괜찮은 과금(그래도 IaaS보단 비쌈)

Azure Functions🏆

✨Azure App Service

HTTP 기반 서비스로 웹 서비스를 구성하기 위한 요소(OS패치, Load balancing, Autoscaling)들을 Azure에서 관리

  • Web App
  • API App
  • WebJobs
  • Mobile App

특징

✨Azure Logic Apps🏆

클라우드 기반 자동화 플랫폼

  • 로우/노코드 워크플로 자동화
  • 1400개 앱, 서비스 연결 가능 커넥터 제공
  • 시각적 디자인 도구로 워크플로 설계
  • 이벤트 기반 트리거 자동 실행
  • 클라우드/온프레미스 환경 지원
  • 확장성, 서버리스
  • 조건 및 분기 등 복잡한 로직 구현 가능

Power Automate: Microsoft365 중심
Azure Logic Apps: Azure 기반

✨Hybrid Benefit🏆

온프레미스에서 보유하고 있는 Windows Server,SQL Server 등 적격 라이선스를 Azure클라우드에서 재사용해 비용 절감할 수 있는 혜택(BYOL)

✨Azurer Reserved Virtual Machine🏆

장기 사용 예약

  • 비용 절감(1년, 3년): 최대 72% 비용 절감
  • 인스턴스 크기 유연성
  • 자동 예약 할인 적용
  • 선불 또는 월별 결제 옵션
  • Azure 하이브리드 혜택과 결합 가능
  • 예측 가능한 비용 관리
  • 확장 집합 지원
  • 관리 용이성: 예약 인스턴스 구매, 관리, 최적화 도구 제공

✨Auto scaling🏆

어플리케이션의 부하에 따라 클라우드 리소스 수를 자동으로 조절하는 기능

  • 수평적 확장
  • 수직적 확장
  • 사용자는 최소, 최대, 기본 인스턴스 수를 정의하여 자동 크기 조정 범위 설정
  • 규칙 조건으로 자동 확장 및 축소
  • 예측 기반 자동 크기 조정
  • 알림 기능을 통해 크기 조정 이벤트 발생 시 이메일이나 웹후크 홍보
  • Load Balancer와 함께 사용

💻Linux

서버 환경에서는 UNIX 점유율이 높다

  • 부팅 속도가 빨라야 하는 것이 중요 → 그런 OS가 적합
  • 초보는 Ubuntu

✨핵심 요소

kernel

컴퓨터 하드웨어 - 소프트웨어 간 인터페이스

역할

  • 메모리 관리
  • 프로세스 관리
  • 장치 드라이버
  • 시스템 호출 및 보안

아키텍처

  • Monolith 커널: 단일 주소 공간에서 작동

Shell

사용자 - 커널 사이 중개자

역할

  • 명령 해석
  • 스크립팅
  • 기본 제공 명령
  • 입/출력 리디렉션
  • 환경 사용자 지정

보통 bash 사용

File system

저장 장치에 데이터를 저장, 구성 및 액세스하는 방법 관리

특징

  • 통합 구조: 루트 디렉토리(/)
  • 모든 것이 파일
    • 디렉토리, 하드웨어장치, 활성프로세스까지 파일
  • 파일시스템 계층 표준(FHS)

구성요소

  • 논리 파일 시스템: 읽기 열기 닫기 작업
  • 가상 파일 시스템(VFS): 물리적 파일 시스템 여럿을 동시에 작동할 수 있도록 함
  • 물리적 파일 시스템: 디스크의 물리적 메모리 블록 관리 및 저장

Path(경로)

파일시스템 계층 구조내 위치 지정 문자열

절대 경로

  • 루트 디렉터리 기준

상대 경로

  • 현재 작업 디렉터리 기준

dos에서는 절대경로와 상대경로가 동일

Path변수

echo $PATH로 현재 경로 확인

.: 현재 디렉터리
..: 상위 디렉터리

File Permission

사용자 제어로 시스템 무결성과 데이터 보호

기본 권한

권한 보기 ls -l

  • r: 읽기
  • w: 쓰기
  • x: 실행
    보통 755 실행할땐 644

명령어 실행 기본

1. 명령

ls

2. 명령 + 인수

ls /home

3. 명령 + 옵션 + 인수

ls -a /home

TIP: 디렉터리명, 파일명 등 입력 시 TAB키 누르면 자동완성

redirection

사용자가 명령의 입력과 출력을 제어하여 명령줄 인터페이스의 유연성과 기능을 향상

  • 명령의 표준 입력, 출력 및 오류 스트림을 변경하여 파일이나 다른 명령으로 리디렉션

표준 스트림

  • stdin: 보통 키보드
  • stdout: 터미널 화면
  • stderr: 터미널 화면

리디렉션 오퍼레이터

  • >: 표준 출력을 리디렉션하여 대상 파일 덮어쓰기
  • >>: 표준 출력을 리디렉션하여 대상 파일에 추가하기
  • <: 파일에서 표준 입력을 리디렉션하기

pipe

여러 명령을 서로 연결하여 한 명령의 출력을 다른 명령의 입력으로 리디렉션

| 사용

기본 명령어



💻Network

✨프로토콜

컴퓨터 네트워킹에서 데이터 전송을 위한 규칙과 표준의 집합


출처: https://blog.bytebytego.com/p/ep80-explaining-8-popular-network

  • HTTP(HyperTextTransferProtocol): TCP 사용
  • HTTP/3: 모바일 중심 인터넷 위해 설계된 QUIC에서 실행. UDP 사용. 응답속도↑
  • HTTPS: 보안통신 위해 암호화
  • WebSocket: TCP 사용. 온라인 게임,주식매매,메시징에서 실시간 통신 위해 사용
  • TCP(Transmission Control Protocol)
  • UDP(User Datagram Protocol)
  • SMTP(Simple Mail Transfer Protocol)
  • FTP(File Transfer Protocol)

TCP vs UDP

  • QoS 맞춰서 보냄

✨Layered Architecture


이미지출처:https://www.geeksforgeeks.org/computer-networks/layered-architecture-in-computer-networks/

✨IP 프로토콜

데이터패킷을 라우팅하고 주소를 지정하기 위한 프로토콜

✨IP Address

네트워크에 연결된 장치를 식별하는 고유한 숫자 주소

(1byte = 2^8)

Public vs Private IP Address


이미지출처:https://www.avast.com/c-what-is-an-ip-address

  • 용도: Public IP는 인터넷 통신용, Private IP는 내부 네트워크 통신용
  • 할당 주체: Public IP는 ISP가 할당, Private IP는 네트워크 관리자가 할당
  • 고유성: Public IP는 전 세계적으로 고유, Private IP는 네트워크 내에서만
  • 접근성: Public IP는 인터넷에서 직접 접근 가능, Private IP는 NAT 등의 기술을 통해 간접접근만 가능
  • 보안: Private IP는 외부에서 직접 접근 불가로 상대적으로 더 안전

✨Subnetworking

큰 네트워크를 더 작은 논리적 세그먼트로 나눔


이미지출처:https://www.techtarget.com/searchnetworking/definition/subnet

작동 원리

  • IP 주소 공간을 더 작은 단위로 분할
  • 서브넷 마스크를 사용하여 IP 주소의 네트워크 부분 - 호스트 부분 구분
  • 각 서브넷은 고유한 IP 주소 범위 할당

이점

  • 네트워크 성능 향상
  • 보안 강화
  • IP 주소 관리 효율화
  • 라우팅 최적화
  • 네트워크 관리 단순화

✨CIDR(Classless Inter-Domain Routing)

기본 구조

  • IP 주소 뒤에 슬래시(/)를 붙이고 네트워크 비트수 표기
  • 총 32개중 차지하는 비트 수 표기
  • 예: 192.168.1.0/24

작동 원리

  • 슬래시 뒤의 숫자는 네트워크 프리픽스의 비트 수
  • 남은 비트는 호스트 부분을 의미

장점

  • IP 주소 할당의 유연성 증가 (필요한 만큼만 할당 가능)
  • 라우팅 테이블 크기 감소
  • 효율적 IP 주소 사용

예시

  • 192.168.1.0/24의 경우 → 32-24 = 8 → 2^8 → 256개
  • 사용가능한 IP 주소: 192.168.1.0 – 192.168.1.255
    NOTE: 서브넷은 5개의 주소가 예약이 되어 제외

✨DNS Record

DNS에서 도메인 이름에 대한 정보를 제공하는 데이터베이스 항목

유형

  • A 레코드: IPv4 주소에 매핑
  • AAAA 레코드: IPv8 주소에 매핑
  • CNAME 레코드: 다른 도메인 이름의 별칭을 제공하여 여러 도메인이 단일 IP 주소 가리키도록 매핑
  • MX 레코드: 도메인을 위한 메일 교환 서버 지정
  • TXT 레코드: 도메인 소유자가 DNS에 텍스트를 삽입할 수 있게 함. 검증 및 보안 목적

✨Firewall

네트워크로 들어오고 나가는 트래픽 제어

✨Port

장치 내 특정 프로세스나 서비스를 식별하는 통신 끝점

숫자 식별자

  • 포트는 0~65535
  • 일반적 프로토콜: 0~1023
  • 등록된 포트(사용자 애플리케이션과 프로세스): 1024~49151
  • 동적 또는 개인포트: 49152~65535
  • HTTP: 80, HTTPS: 443

프로토콜 연관성

  • 포트는 프로토콜과 함께 작동하여 통신 설정

데이터 라우팅

  • 패킷 헤더의 포트 번호가 운영체제에 어떤 애플리케이션이나 서비스 처리인지 알려줌

✨Ingress/Egress

들어옴: Ingress
나감: Egress

✨Jump Box, Jump Server, Bastion Host🏆

보안네트워크와 외부 네트워크 사이의 게이트웨이 역할을 하는 컴퓨터

  • Azure Bastion

목적🏆

  • 보안 액세스: 제어된 액세스 지점을 제공하여 승인된 사용자
    만 연결 가능. 그리고는 내부 시스템 액세스 가능
  • 격리: 내부 리소스를 직접적인 액세스로 분리하여 공격 줄임

기능🏆

  • 인증: 사용자는 일반적으로 SSH 키 또는 다단계 인증
  • 감사로그: 모든 사용자 활동 기록
  • 액세스 제어: 특정 사용자나 IP 주소만 연결할 수 있도록 엄격한 액세스 제어 가능

배치🏆

  • 일반적으로 DMS에 배치되거나 인터넷에 직접 노출.
  • 내부 시스템은 방화벽 뒤

원격 근무 혹은 원격 관리

✨Load balancer

네트워크 트래픽을 여러 서버에 균등하게 분산시키는 장치 또는 소프트웨어

트래픽 출처에 따라

  • 외부 로드 밸런서
  • 내부 로드 밸런서

💻Azure Cloud specific Networking

✨Azure Virtual Network

Azure의 프라이빗 네트워크에 대한 기본 구성 요소를 제공하는 서비스

✨Azure Service Endpoint🏆

가상 네트워크(VNet) 내 리소스가 인터넷을 거치지 않고, 전용 경로(Azure 백본)를 통해 PaaS 서비스에 안전하게 연결할 수 있도록 하는 기능

  • 서비스 엔드포인트는 주로 Azure Storage, SQL Database, Key Vault, Event Hubs, Service Bus 등 다양한 Azure 관리형 서비스에 적용할 수 있어 네트워크 보안과 관리 측면에서 많이 활용
  • PaaS와 관련

✨VNet Peering(가상 네트워크 피어링)🏆

Azure에서 두 개 이상의 가상 네트워크를 원활하게 연결

✨Virtual Network Gateways🏆

Azure VPN Gateway: 공용 인터넷을 통해 Azure 가상 네트워크와 온-프레미스간에 암호화된 트래픽을 보내는 데 사용할 수 있는 서비스 (VPN)

  • 데이터가 암호화되어 전송되므로, 원격지에서 안전하게 내부 네트워크에 접근 가능
  • S2S: Site to Site
  • P2S: Point to Site
profile
iOS 개발자가 되기 위한 스터디룸/스터디의 레퍼런스는 모두 kxcoding

0개의 댓글