클라우드 컴퓨팅과 네트워크의 핵심 개념인 IP, DNS, 포트, VM,
그리고 클라우드 서비스 모델인 On-Premise, IaaS, PaaS, SaaS에 대해 자세히 알아봅시다~~
1. 네트워크의 기초 개념
IP(Internet Protocol)
인터넷에 연결된 모든 장치에 부여되는 고유한 식별자
• IPv4: 일반적으로 사용되는 32비트 주소 체계로, 192.168.0.1과 같은 형태를 가집니다.
• IPv6: 주소 공간의 부족을 해결하기 위해 개발된 128비트 주소 체계입니다.
DNS(Domain Name System)
사람이 이해하기 쉬운 도메인 이름을 컴퓨터가 이해할 수 있는 IP 주소로 변환해주는 시스템
• 동작 원리: 사용자가 도메인 이름을 입력하면, DNS 서버가 해당 도메인에 대한 IP 주소를 반환
• 중요성: 인터넷 사용의 편의성을 높여주며, 도메인 기반의 로드 밸런싱 등 다양한 기능을 지원
포트(Port)
하나의 IP 주소 내에서 여러 애플리케이션이나 서비스를 구분하기 위한 channel
여러 프로그램이 동시에 네트워크를 사용할 때 포트를 통해 각 프로그램의 통신을 구분
• HTTP: 80
• HTTPS: 443
• SSH: 22
2. 가상 머신(VM)과 클라우드 컴퓨팅
VM(Virtual Machine)
물리적인 하드웨어 위에서 소프트웨어적으로 구현된 컴퓨터
• 자원 효율성: 하나의 물리적 서버를 최대한 활용
• 격리성: 각 VM은 독립된 환경을 제공하여 보안 및 안정성 향상
• 사용 예시: 개발 환경 구축, 서버 통합, 테스트 등
클라우드 환경에서의 VM => 클라우드 서비스 제공업체는 데이터 센터 내에 대규모의 물리적 서버를 보유하고 있으며, 이를 가상화하여 고객에게 VM 형태로 제공
• AWS(Amazon Web Services)
• Microsoft Azure
• Google Cloud Platform
3. 클라우드 서비스 모델
서비스 제공 방식에 따라 여러 모델로 구분됨
각 모델은 제공되는 서비스의 범위와 관리 책임이 다름
On-Premise(온프레미스)
기업이 자체적으로 모든 IT 인프라를 구축하고 관리하는 방식
• 완전한 통제권
• 맞춤형 환경 구축 가능
• 초기 구축 비용 높음
• 유지보수 및 업그레이드에 많은 리소스 필요
IaaS(Infrastructure as a Service)
클라우드 업체가 서버, 스토리지, 네트워크 등의 인프라를 제공하고, 사용자는 그 위에 운영체제와 애플리케이션을 설치하여 사용함
• 사용자에게 높은 수준의 유연성 제공
• 인프라 관리의 복잡성을 줄여줌
like AWS의 EC2, Azure의 Virtual Machines
PaaS(Platform as a Service)
클라우드 업체가 인프라뿐만 아니라 운영체제, 미들웨어, 런타임 환경까지 제공하여, 사용자는 애플리케이션 개발과 배포에 집중함
• 개발 생산성 향상
• 인프라 관리 불필요
like Google App Engine
SaaS(Software as a Service)
클라우드 업체가 애플리케이션까지 모두 제공하여, 사용자는 별도의 설치 없이 서비스를 이용함
• 즉시 사용 가능
• 유지보수 불필요
like Google Workspace, Microsoft Office 365
Azure를 이용한 VM 배포
Microsoft Azure를 통해 Ubuntu 기반의 VM을 생성하고, 웹 애플리케이션을 배포할 수 있다
• 운영체제 선택(Ubuntu 20.04 LTS 등)
• VM 크기 선택(컴퓨팅 리소스 할당)
• 인증 방식 설정(SSH 키 또는 비밀번호)
• 포트 설정 => 80번 또는 443번 포트 개방, SSH 접속을 위해 22번 포트 개방
VM에서의 서버 운영은?
• SSH 접속: 원격에서 VM에 안전하게 접속
• 웹 서버(Nginx, Apache 등) 설치
• 데이터베이스 설정(MySQL, PostgreSQL 등)
• 방화벽 설정(UFW 등)
• SSL 인증서 적용
컨테이너와 도커
컨테이너(Container)
애플리케이션과 그 실행 환경을 패키지화하여 어디서든 일관된 동작을 보장하는 기술
• 경량화된 가상화
• 빠른 배포와 스케일링
도커(Docker)
컨테이너 기술의 대표적인 플랫폼으로, 컨테이너의 생성, 배포, 관리를 도와줌
• 이미지 기반 배포
'web > snulion' 카테고리의 다른 글
[8주차 과제] interactive web (0) | 2024.11.16 |
---|---|
실시간 채팅 구현에 대해 araboza (0) | 2024.11.02 |
WAS, WSGI, ASGI에 대해 araboza (0) | 2024.11.02 |
websocket에 대해 araboza (0) | 2024.11.02 |
카카오페이를 이용한 간편결제에 대해 araboza (6) | 2024.10.05 |