갬미의 성장일기
Day19 - 가상화 | AWS - Network ACL, SecurityGroup, EC2 본문
오늘 배운 내용
- 가상화
- AWS -네트워크 ACL, 보안그룹(sg)
- AWS - EC2 생성하기
가상화
가상화란 하나의 물리적 시스템을 논리적으로 분할해 자원을 효율적으로 사용하는 기술을 의미한다
가상화 기술 종류
- 서버 가상화 : 서버 효율성 증가
- 하이퍼바이저(Hypervisor)와가상 머신(Virtual Machine, VM)으로 구성
- 하이퍼바이저는 각각의 가상머신들을 관리할 가상머신모니터(VMM: Virtual Machine Monitor)와 같은 중간 관리자 역할을 하며 가상머신이 동작할 수 있는 환경을 제공
- 데스크탑 가상화 (Virtual Desktop Infrastructure, VDI)
- 애플리케이션 가상화 (Application Virtualization)
하이퍼바이저(Hypervisor)
서버 가상화를 구현하기 위한 기반이 되는 기술
가상머신(VM | Guest라고 함)과 HW(Host라고 함) 간의 입출력 명령을 해석하는 역할을 한다
Hypervisor 역
- OS들에게 자원을 나눠주며 조율한다.
- OS들의 커널을 번역해서 물리적 하드웨어에게 외쳐준다.
가상화 장점
- 기민한 탄력성(Rapid Elasticity)
- 탄력성은 필요에 따라 자원의 확장과 감소를 처리할 수 있는 능력을 말한다.
- 클라우드 컴퓨팅 서비스를 사용하는 사용자는 자원을 무한대로 확장 할 수 있거나 필요한 만큼의 수준으로 마음대로 줄일 수 있어야 한다.
- 이런 작업을 수행하는데 수일 이상 소요되는 것이 아니라 수분~수십분 이내로 작업을 할 수 있다.
- 측정 가능한 서비스(Measured Service)
- 자원의 사용량이 실시간으로 수집되고 모니터링 돼야 한다.
- 이 정보를 이용해 사용량에 따른 과금을 할 수 있으며, 자원의 부족에 따른 자원 추가 요청 등의 작업을 할 수 있따.
- 온디맨드 셀프 서비스(On-Demand Self-Service)
- 사용자는 클라우드 서비스의 관리자 등과 같은 사람의 개입없이 원하는 시점에 서비스를 바로 사용할 수있다.
- 유비쿼터스 네트워크 접근(Ubiquitous Network Access)
- 클라우드 서비스 제공자는 네트워크 기반으로 서비스에 접속 할 수 있게 해야한다.
- 다양한 클라이언트에 의해 접속 가능하다.
- 자원 풀(Resource Pooling)
- 물리적 자원이나 가상화된 자원은 풀로 관리되며, 사용자의 요청에 의해 사용자에게 할당되너나 다시 풀로 반환된다.
- 사용자는 자원의 물리적인 위치, 크기등에 대해서는 모르고 자원을 추상화시켜 제공한다.
- 지역간 무중단 이동이 가능(중요)
- 서로 다른 게스트OS사이에서 하나의 HOST 위에서 동작하고 있다면, APP의 중단없이 이동이 가능하다.
👇더욱 자세한 정보는
가상화 사례
- 각각 용도가 다른 3개의 서버인 메일, 웹, 내부 레거시 애플리케이션 실행 물리 서버가 있다고 했을 때, 보통 서버는 실행 용량의 일부만 사용 된다
- 가상화를 사용하면 메일 서버를 2개의 고유한 서버로 나누어 독립적인 태스크를 처리하도록 할 수 있기 때문에 Legacy Apps 서버를 메일 서버로 이전
- 빈 서버는 다른 태스크를 처리하거나 사용 중지하여 유지 관리 비용을 줄일 수 있어 하드웨어를 더 효율적으로 사용
가상네트워크
가상네트워크란 가상환경에서 사용할수있는 네트워크로 서브넷을 생각하면 이해가 쉽다
목적에 맞게 네트워크를 분할 -> VM에 맞게 각각 다른 네트워크에 연결시키는 방법이다
기존 broadcast -> 일단 이용 가능한 모든 대역폭을 소모 / Broadcast Domain에 참여하고 있는 모든 장치들의 CPU 프로세서 시간을 낭비
이 Broadcast를 제어하기 위해 VLAN을 사용함
👇더욱 자세한 정보는
OpenStack
오픈스택은 IaaS 형태의 클라우드 컴퓨팅 오픈 소스프로젝트로 2012년 창설된 비영리 단체인 OpenStack Foundation에서 유지, 관리하고 아파치 라이선스 2.0하에 배포되고 있다.
공식적으로 클라우드 운영체제(OS)라고 불리며, 클라우드 서비스를 사용하는 사용자(혹은 어플리케이션) 입장으로 보자면 하나의 커다란 서버 컴퓨터로 생각할 수 있고, 그러한 서버 컴퓨터를 동작시키기 위한 운영체제가 바로 오픈스택이다
여러 회사가 클라우드 운영 기술을 개발하고 6개월마다 업데이트한다
👇더욱 자세한 정보는
Network ACL, SecurityGroup
Network ACL
VPN을 도로라고 생각하면 Network ACL은 톨게이트라고 생각하면 된다 / 외부에서 들어올때 제어하는 것
= 서브넷으로 들어올때 방화벽
인바운드 규칙과, 아웃바운드 규칙이 있어 둘 다 만족해야만 통신이 가능하다
SecurityGroup
내부간 통신을 담당, 서버단위의 방화벽
= 서브넷 안에서의 방화벽
👇더욱 자세한 정보는
AWS EC2 생성하기
EC2 는 독립된 컴퓨터 한대를 임대해서 사용할 수 있게 해주는 서비스이다
원하는 스펙의 가상서버를 구축할 수 있고, 이를 사용한만큼만 비용을 지불한다
특징
- 사용하면 하드웨어에 선투자할 필요가 없어 더 빠르게 애플리케이션을 개발하고 배포 가능
- 원하는 만큼 가상 서버(=인스턴스 Instance)를 구축하고 보안, 네트워크 구성, 스토리지 관리 가능
- 요구 사항이나 갑작스러운 인기 증대 등 변동 사항에 따라 신속하게 규모를 확장하거나 축소할 수 있어 서버 트래픽 예측 필요성이 줄어듬
👇더욱 자세한 정보는
AWS - 3 tier 환경에 NetworkACL, 보안그룹 추가
실습 과제 VPC까지 모두 삭제한 상태에서 시작할것
web서버, api 서버, DB 서버 (3tier 구조)에 각각 1000, 500, 10개의 IP가 할당될 수 있도록 구성하고,
각 서버에 Network ACL을 생성하라 또한 각 서버에서 사용할 보안그룹도 생성하라
-> 어제와 동일하게
IP개수 계산하여 VPC 생성 (총 1510개를 수용할 수 있어야하기 때문에 4096개 생성함 10.0.0.0/20)
각 서버를 수용할만큼의 subnet 생성 (각각 2048, 1024, 254개 - 10.0.0.0/21, 10.0.8.0/22, 10.0.12.0/24)
web서버 인터넷 연결이 필요하므로 인터넷게이트웨이 생성하고 VPC연결, 라우트테이블 수정
Network ACL 기본 있는것에 3개 추가 생성하고 각각 Network ACL에 서버 하나씩 연결
보안그룹 기본있는거에 3개 추가 생성
삭제 순서
Network ACL에 서브넷 연결 해제 후 삭제
보안그룹 삭제
인터넷게이트웨이 vpc 해제후 삭제 라우트테이블에서 인터넷게이트웨이 해제, 삭제
VPC 삭제
AWS - EC2 생성 (어제 실습한 곳에서 시작)
VPC, 서브넷, 인터넷 게이트웨이, 라우터 설정까지 다 한 상태에서
EC2 들어가서 인스턴스 생성
AMI 선택
인스턴스 유형 선택
인스턴스 세부 정보구성
인스턴스 개수 - 1 (컴퓨터 1대만 빌릴거임)
네트워크 - 인터넷 연결할 서브넷 선택
보안그룹구성
새로운 보안그룹을 만든다 (아무 설정을 안해줬기때문에 효력은 없음)
검토및 시작 클릭
키페어가 없다면 다운받아서 생성해야 AWS를 이용할 수 있다
EC2 삭제하는 방법
인스턴스 실행중인것 종료 -> 네트워크 인터페이스 지우기(인스턴스 지워지면 같이 사라짐) -> 보안그룹 지우기
오늘의 회고
- 네트워크에 대해 공부를 해야겠다는 생각을 했다
- 수업이 끝나고 블로그 정리를 하면서 찾아보면 어느정도 이해가 가긴하는데 아는 내용에 구멍이 많이 나있어서 완전히 이해하기는 아직 어렵다
- 용어가 낯설기도하고 자꾸 까먹어서 제대로 한번 공부를 해야겠다!
- 오늘 EC2 생성하는데 강사님+수강생 계정에 문제가 있어 어제 했던 실습의 연장선을 더 진행했다
- 내일 다시 EC2를 하기로 했는데 다시 하면 더 잘 이해할 수 있을것같다
- 다음주 설 연휴 + 깃 특강을 듣는데 그동안 네트워크 공부를 좀 해야겠다 ㅜ !!
- 아자아자 화이자~
'Cloud > Cloud 공부일기' 카테고리의 다른 글
Day21 - git 특강 (0) | 2022.02.03 |
---|---|
Day20 - AWS 스토리지, 데이터베이스 (0) | 2022.01.28 |
Day18 - 네트워크 기초 | 3 tier 인프라 환경 구축하기 (0) | 2022.01.26 |
Day17 - 클라우드 기초 (0) | 2022.01.25 |
Day16 - Flask | 공공 API 사용하기 (0) | 2022.01.24 |