💻클라우드 컴퓨팅
✨개요
- 클라우드 서비스 제공자가 관리해주며, 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) 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 서비스
- 워크로드를 다른 위치로 복제하고 장애 발생 시 신속하게 전환하는 기능 제공

✨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 시작해보기
✨구독🏆
역할🏆
- 논리적 컨테이너(A Container for Resources)
- 청구 단위(A Unit for Billing)
- 관리 경계(A Boundary for Management)
사용 이유🏆
- 환경 분리로 안정성 확보
- 비용 및 조직 분리로 관리 효율화
✨리소스 그룹🏆
구독 내에서 관련된 리소스(VM, DB, 네트워크)들을 함께 묶어 관리하기 위한 논리적인 컨테이너
역할🏆
- 그룹 관리(Group Management)
- 수명 주기 관리(LifeCycle Management)
- 권한 관리(Autorization)
규칙🏆
- 하나의 그룹/구독에만 소속
- 자유로운 이동: 다른 리소스 그룹으로 이동
- 서로 다른 위치 가능
- 태그 상속 불가
- 중첩되지 않음
💻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

✨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🏆
보안네트워크와 외부 네트워크 사이의 게이트웨이 역할을 하는 컴퓨터
목적🏆
- 보안 액세스: 제어된 액세스 지점을 제공하여 승인된 사용자
만 연결 가능. 그리고는 내부 시스템 액세스 가능
- 격리: 내부 리소스를 직접적인 액세스로 분리하여 공격 줄임
기능🏆
- 인증: 사용자는 일반적으로 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