Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- aws #아키텍트 #과정 #vpc #인프라 구축 #sqs #trigger #python3.9 #패키지 #
- aws #아키텍트 #과정 #vpc #인프라 구축 #rds #replica #복제본 #aurora #database #고가용성
- aws #아키텍트 #과정 #vpc #인프라 구축 #amazon sns #server #less #architecture
- aws #아키텍트 #과정 #vpc #인프라 구축 #php #alb #application #load #balancer #security #group #igw #ec2 #vpc #virtual #private #cloud
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #딥러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #DBMS #Oracle #MongoDB #아키텍쳐 #DB
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #딥러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스
- aws #아키텍트 #과정 #vpc #인프라 구축 #haproxy #고가용성 #테스트 #alb #application #load balancer #application
- aws #아키텍트 #과정 #vpc #인프라 구축 #t.g #target group #alb #application #load #balancer #web #server
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스
- aws #아키텍트 #과정 #vpc #인프라 구축 #s3 #bucket #객체 스토리지 #objects storage #events #upload #알림
- 쓰레드 #쓰레드풀 #프로세스
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #OSI #ISO #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #DBMS #Oracle #MongoDB #아키텍쳐 #DB
- aws #아키텍트 #과정 #vpc #인프라 구축 #db #장애조치 #reand only #replica #events
- aws #아키텍트 #과정 #vpc #인프라 구축 #ec2 #instance #launch #template #생성 #ami #amazone #machine #image
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #KDT #기본문법 #데이터베이스 #Computer #Science #CPU #메모리
- aws #아키텍트 #과정 #vpc #인프라 구축 #rds #endpoint #cloudwatch #monitoring
- aws #아키텍트 #과정 #vpc #인프라 구축 #sqs #message #queue #sns구독
- 프로세스 #CPU #시공유 #커널
- 비트 #바이트 #이진수
- aws #아키텍트 #과정 #vpc #인프라 구축 #auto scailling #lauch template #ec2 instace #private #subnet
- 공간복잡도 #공간자원 #캐시메모리 #SRAM #DRAM #시간복잡도
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #웹개발
- aws #아키텍트 #과정 #vpc #인프라 구축
- aws #아키텍트 #과정 #vpc #인프라 구축 #aurora #database #rds #rdbs #load #balancer #web #page #haproxy
- aws #아키텍트 #과정 #vpc #인프라 구축 #second nat #gateway #routing table #route53 #고가용성 #private subnet #
- 썸네일 #이미지
- aws #아키텍트 #과정 #vpc #인프라 구축 #alb #load balancer #t.g #target #group #haproxy #high ability #db #replica #region
- aws #아키텍트 #과정 #vpc #인프라 구축 #haproxy #round robin #process #high ability #auto scailling #app server #launch template
- aws #아키텍트 #과정 #vpc #인프라 구축 #s3 #bucket #객체 #스토리지 #isci #이미지 #업로드
- 업로드 #lambda #함수 #모바일 이미지 #썸네일 이미지
Archives
- Today
- Total
요리사에서 IT개발자로
가상화 기술과 하이퍼바이저의 개념 정리 본문
가상화는 물리적인 서버 자원을 가상화하여 효율적으로 사용하는 기술
여러 개의 가상 머신을 하나의 물리적 서버에서 실행할 수 있게 해주어,
서버 자원의 활용도를 높이고 비용 절감 효과를 줍니다.
이러한 가상화를 가능하게 하는 소프트웨어가
하이퍼바이저(Hypervisor)
최근에는
컨테이너(Container) 기술이
가상화보다 더 가볍고 효율적인 대안으로 주목받고 있다.
1. 가상화의 종류
1.1 전가상화(Full Virtualization)
- 설명: 하이퍼바이저가 물리적 하드웨어를 완전히 에뮬레이션하여 가상 머신이 실제 하드웨어에서 실행되는 것처럼 처리하는 방식.
- Binary Translation: CPU 명령어를 변환해 실행하는 과정. 성능에 오버헤드(성능 저하)가 발생할 수 있음.
- 장점: 운영체제 수정 없이 다양한 OS를 실행할 수 있음.
- 단점: Binary Translation으로 인해 성능이 저하될 수 있음.
1.2 반가상화(Paravirtualization)
- 설명: 가상 머신이 하이퍼바이저와 직접 협력하여 하드웨어에 접근하는 방식. 커널을 수정해 Binary Translation을 제거.
- 장점: 오버헤드가 없으며 성능이 전가상화보다 뛰어남.
- 단점: 운영체제 커널을 수정해야 하므로 구현이 복잡함.
1.3 하드웨어 지원 가상화(Hardware-assisted Virtualization)
- 설명: CPU 자체가 가상화를 지원하는 방식. 인텔의 VT-x와 AMD의 AMD-V가 대표적.
- 장점: CPU가 가상화 명령어를 처리하므로 성능 저하 없이 가상화를 구현.
- 단점: 특정 하드웨어에서만 지원되며, 구형 CPU는 지원하지 않을 수 있음.
2. 하이퍼바이저의 종류
2.1 타입 1 하이퍼바이저 (Bare-metal 하이퍼바이저)
- 설명: 물리적 하드웨어 위에 직접 설치되어 실행됨. 운영체제가 아닌 하이퍼바이저가 하드웨어 자원을 직접 관리.
- 장점: 하드웨어에 직접 설치되므로 성능이 뛰어남.
- 단점: 설치와 관리가 상대적으로 복잡.
- 주요 예시:
- Citrix Hypervisor (AWS에서 사용)
- vSphere Hypervisor (OpenStack)
- KVM (AWS, GCP에서 사용)
2.2 타입 2 하이퍼바이저 (Hosted 하이퍼바이저)
- 설명: 기존 운영체제 위에서 실행되는 하이퍼바이저. 운영체제 위에 설치되므로, 성능은 타입 1보다 떨어짐.
- 장점: 기존 운영체제에서 쉽게 설치 및 사용할 수 있음.
- 단점: 운영체제 위에서 동작하기 때문에 성능이 낮음.
- 주요 예시:
- VMware Workstation (개발용으로 많이 사용)
- VirtualBox (개인용 가상화 도구)
- QEMU (리눅스에서 오픈소스로 사용)
3. 컨테이너(Container) 기술
컨테이너는 가상 머신과 달리 가볍고, 운영체제(OS)를 포함하지 않는 방식으로 실행되는 애플리케이션 격리 기술입니다. VM과 비교했을 때 훨씬 더 효율적인 리소스 사용이 가능합니다.
3.1 컨테이너 vs 가상 머신(VM)
- 가상 머신(VM): 가상화된 하드웨어 위에서 각각의 운영체제를 실행. VM마다 개별 운영체제가 필요하므로 무겁고, 자원을 많이 사용함.
- 컨테이너: 호스트 운영체제의 커널을 공유하고, 애플리케이션과 그에 필요한 라이브러리만을 격리된 환경에서 실행. VM보다 가볍고 빠름.
3.2 컨테이너의 장점
- 효율성: 컨테이너는 운영체제를 공유하므로 VM보다 메모리와 CPU를 덜 사용함.
- 신속한 배포: 가상화된 시스템보다 애플리케이션을 배포하고 구동하는 속도가 훨씬 빠름.
- 이식성: 동일한 환경을 컨테이너로 패키징하여 어디서든 동일하게 실행 가능. (개발 환경과 운영 환경의 일관성 보장)
3.3 도커(Docker)
Docker는 컨테이너 기술의 대표적인 플랫폼으로, 애플리케이션을 컨테이너화하여 간편하게 배포하고 관리할 수 있게 해줍니다.
- VMware처럼 가상 머신을 쪼개는 것을 컨테이너는 더 작은 단위로 쪼갭니다. 이 작은 단위는 애플리케이션의 실행 환경을 격리시키지만, OS가 없기 때문에 가볍고 빠릅니다.
- Docker의 특징:
- 독립된 환경에서 애플리케이션을 실행
- OS 레벨에서 자원을 공유하므로 VM보다 훨씬 효율적
4. 타입 1 vs 타입 2 vs 컨테이너 비교
구분 | 타입1 하이퍼바이저 | 타입 2 하이퍼바이저 | 컨테이너 |
설치 위치 | 하드웨어 위에 직접 설치 | 운영체제 위에 설치 | 호스트 OS 위에서 실행 |
성능 | 뛰어남 (하드웨어 직접 관리) | 낮음 (운영체제 위에서 동작) | 매우 뛰어남 (OS 공유로 빠름) |
자원 사용량 | 많음 | 중간 | 적음 |
사용 목적 | 대규모 서버 환경 | 개인용 또는 개발 테스트 환경 | 애플리케이션 격리 및 배포에 적합 |
예시 | Citrix, vSphere, KVM | VMware Workstation, VirtualBox | Docker |
5. 결론
- 가상 머신(VM)은 운영체제까지 가상화하여 강력한 격리 환경을 제공하지만, 자원이 많이 소모됩니다.
- 컨테이너(Container)는 운영체제를 공유하여 애플리케이션 실행 환경만 격리하는 방식으로, 가볍고 빠르게 동작합니다. 도커(Docker)가 이를 대표하는 플랫폼입니다.
- 타입 1 하이퍼바이저는 대규모 서버 환경에서 높은 성능을 요구할 때 유리하고, 타입 2 하이퍼바이저는 개인 개발 환경에서 간편하게 사용할 수 있습니다.
- 컨테이너는 클라우드 환경과 DevOps에서 매우 효율적인 배포 및 관리 방식으로 자리 잡고 있습니다.
반응형
'AWS' 카테고리의 다른 글
리눅스에서 tar와 systemctl을 이용한 웹사이트 배포 및 서버 관리 (0) | 2024.10.10 |
---|---|
VMbox에서의 네트워크 설정 및 SSH 키 페어 인증 설정 가이드 (0) | 2024.10.08 |
SELinux 관리: setenforce, getenforce, 및 /etc/sysconfig/selinux, /etc/login.defs 설정 가이드 (0) | 2024.09.27 |
리눅스 계정 및 그룹 관리 가이드: /etc/shadow, /etc/group, /etc/default/useradd 파일 분석 (1) | 2024.09.27 |
Linux 사용자 계정 옵션 정리 (0) | 2024.09.26 |