KT 에이블스쿨 : 클라우드 서비스 2일차 정리
클라우드 서비스
6일 과정 : 24.05.14 (화) ~ 22 (수)
2일차 240516(목) 교육 정리
2일차 이론
네트워킹 서비스 (Amazon VPC)
가용 영역 (Availability Zone, AZ)
각 가용영역은 하나 이상의 데이터센터로 구성
전용선을 통해 다른 가용 영역과 상호 연결
인터넷망을 쓰면 느리고, 해킹위험(보안), public ip 문제로 전용선을 씀
리전 (Region)
- 2개 이상의 가용영역(AZ)로 구성됨
- 서울리전(AP northeast 2) - 4개의 AZ (2의 a, b, c, d)
엣지 로케이션 (Point of Presence, PoP)
- Amazon의 CDN 서비스인 CloudFront를 위한 캐시 서버(Cache Server)들의 모음
- 최종 사용자에게 가까운 위치에서 더 짧은 지연시간으로 콘텐츠를 전송하기 위해 600개 이상의 PoP를 구축
- PoP 기반으로 CDN (content delivery network) : 콘텐츠 전송, DNS 서비스 제공중
참고 : https://blog.naver.com/python_lover/223034424120
VPC (Virtual Private Cloud)
- 클라우드의 가상 프라이빗 네트워크(private ip) 공간
- 다른 가상 네트워크와 논리적으로 분리(격리)
- 방화벽 기능을 하는 인바운드, 아웃바운드 트래픽 제어 정책 설정 지원
- VPC 생성방법 : ① 리전 택 ② IP 범위 지정 ③ 가용영역 선택해 서브넷 구성
인터넷 게이트웨이
- VPC(private, 로컬 네트워크)와 인터넷(public) 사이의 통신을 가능하게 해주는 장치
- VPC(private, 로컬 네트워크)와 인터넷(public) 사이의 통신을 가능하게 해주는 장치
라우팅 테이블 : 네트워크 트래픽을 목적지까지 안내하는 경로 정보를 담고 있는 표
- (용도) VPC 리소스 간에 트래픽을 전송하는데 필요
- (용도) VPC 리소스 간에 트래픽을 전송하는데 필요
서브넷 (subnet)
네트워크 내에서 더 작은 네트워크로 나누는 것
(용도) 서브넷을 사용하여 가상 프라이빗 클라우드(VPC) 내에서 다양한 애플리케이션과 서비스를 격리 가능함.
이를 통해 각 서비스의 보안 요구사항을 충족시키고, 네트워크 트래픽을 효율적으로 관리할 수 있음
- 프라이빗 서브넷
- public 과 접근할 수 없음 - 보안높음 - DB/WAS 서버
- 인터넷 게이트웨이(public)과 연결 X - 프라이빗 라우팅 테이블과 연결되어있음
- 프라이빗 서브넷의 인스턴스는 모두 private ip를 가짐
- 퍼블릭 서브넷
- 인터넷 게이트웨이를 거쳐 public (인터넷)과 통신
- 인터넷 게이트웨이랑 public 라우팅 테이블, 둘다 연결되어야함
탄력적 IP 주소
원래, 클라우드 인스턴스를 재시작, 신규생성하면 새로운 public ip가 변함
동적 클라우드 컴퓨팅을 위해 설계된 고정 퍼블릭 ip주소 = 탄력적 ip (elastic ip)
웹 서버나 데이터베이스 서버의 경우, 고정된 IP 주소로 서비스를 운영해야함
탄력적 네트워크 인터페이스 (ENI)
ENI를 통해 인스턴스(EC2)와 Subnet을 연결함
ENI를 생성해 특정 인스턴스로 추가 연결 or 인스턴스에서 분리해 다른 인스턴스로 연결도 가능
처음에 배울 때 서브넷 안에 EC2를 둔다고 우리가 이미지해서 배우지만,사실은 서브넷안에 EC2를 두는 것이 아니라 서브넷 안에 ENI를 두고 EC2와 연결시킨다.
EC2는 단지 같은 Availibility Zone 안에 있다.
참고 : https://jibinary.tistory.com/133 (대표적 용도) 관리 네트워크 생성
web VM이 있을때 일반 사용자가 접속하는 public ip로 서버관리(private)까지하기에는 보안적으로 위험
인터넷 게이트웨이로 들어오는 통신을 받는 인스턴스의 기본 네트워크 인터페이스에서 퍼블릭 트래픽 처리,
보조 네트워크 인터페이스를 생성해 관리자만 접근 가능해 서버 관리할 수 있도록 트래픽 처리 가능
NAT 게이트웨이
프라이빗 서브넷의 인스턴스가 VPC 외부(인터넷)로 아웃바운드 트래픽을 내보낼 때 사용 (ex, 업뎃 및 패치)
NAT (network address translation, 네트워크 주소 변환) : 사설IP → 공인IP 변환
프라이빗 서브넷 인스턴스의 private IP → NAT 게이트웨이 → public IP → 인터넷에 연결됨
- 응답 트래픽을 전송할땐, NAT 게이트웨이는 주소를 원래 private ip로 다시 변환
프라이빗 서브넷 인스턴스가 VPC 외부 서비스로 연결은 가능하나,
외부 서비스(인터넷)에서 프라이빗 서브넷 인스턴스로 연결은 불가능 (private ip를 몰라서)
그래서 보안상 적절
서브넷 구성
인터넷 게이트웨이
Public 서브넷
- 외부랑 통신가능 (web 서버)
- NAT
vpc내에 nat가 하나만 있어도, 어떤 private 인스턴스도 통신가능
but, 하나만 있을때 하나 고장나면 private 인스턴스 접근불가능
⇒ nat는 vpc 내에 여러개 있어야함 (최소 2개)
Private 서브넷
- WAS, DB
가용영역 내에 서브넷 개수 : 3tier 면 3개씩
로드밸런서 추가시,
로드밸런서가 public ip를 받아서 웹서버로 부하분산하는거니까
웹서버는 내부에서 private 서브넷으로 가도됌
방화벽
네트워크 ACL : 서브넷 단위로 방화벽 적용 (옵션)
NACL (네트워크 acl)은 서브넷 전체를 들어오게하거나 / 전체를 못들어오게함
그래서, 계층적 보안할때는 보안그룹의 인바운드 방식을 쓰는게 더 효율적
규칙번호가 낮을수록, 우선순위 높음 / 규칙번호 * 이면, 접근 거부
상태 비저장(stateless) 특성을 가져서, 인바운드랑 아웃바운드 둘다 작성해야함
보안그룹 : 개별 리소스 단위로 방화벽 규칙을 적용하는 것 (이게 더 유연)
- 상태 저장(stateful) 특성을 가져서, 아웃바운드 작성 안하고, 인바운드만 작성해도 됨
- 상태 저장(stateful) 특성을 가져서, 아웃바운드 작성 안하고, 인바운드만 작성해도 됨
VPC 간 네트워크 연결 방법
- VPC 피어링
격리된 2개의 VPC 내 리소스 간에 Private IP를 이용한 통신이 필요할 때 활용
동일 리전 내 VPC 간, 다른 리전에 있는 VPC, 다른 계정의 VPC와도 피어링 연결 가능
- VPC 피어링
AWS VPC ↔ 온프레미스 네트워크 연결 방법
Site-to-Site VPN
- 빠른 연결 설정이 가능, 많은 비용이 들지않지만, 한번에 전송할 수 있는 양이 정해져있음
VGW(가상 프라이빗 게이트웨이) : private ip 패킷을 전달해야하는데, 인터넷망을 사용하기에 public ip로 캡슐화, 암호화해서 전달함
VPN : 인터넷 구간 내 트래픽을 전달하는 터널을 만들어 통신함 (터널링) ,
보안을 위해서 public ip로 캡슐화된걸 ip sec 해야함
고객 게이트웨이 : 복호화하면 private ip가 나옴
전용선 (Direct Connect)
인터넷망을 거치지 않고 AWS 전용 프라이빗 네트워크
대용량 전송 가능, ipsec 보안 기능 필요없음, 빠른 전송
컴퓨팅 서비스
EC2 : 클라우드에서 컴퓨팅 작업을 담당하는 VM / 온프레미스에서 서버가 수행할 수 있는 모든 워크로드를 지원
태그 활용 : key-value 형태
AMI (amazon machine image) : 인스턴스를 시작하는데 필요한 정보
용도별 AMI를 이용해 다양한 용도의 인스턴스를 동일하게 여러개 생성 가능
(웹서버용 AMI, 앱 서버용 AMI 등)
반복성, 재사용성, 백업&장애복구 용이
AWS 사전 구축된 AMI :
Amazon Linux 2 AMI (HVM) - Kernel 5.10
인스턴스에 연결된 루트 볼륨의 스냅샷 생성 후 이를 사용자 AMI로 등록하여 활용
- 스냅샷(Snapshot)이란, 사진을 찍듯이 현재 디스크 내역(상태정보)을 포착해 백업 및 복원 목적으로 보관하는 기술
EC2 인스턴스 유형
앱 요구사항에 따라 인스턴스 패밀리, 세대, 추가역량, 크기를 결정
- ex) M6g.xlarge
- ex) M6g.xlarge
EC2 키 페어
서비스 운영 중 로그/상태 확인, 설치를 위해 특정 인스턴스에 직접 접속할때 key pair 필요
사용자 데이터
EC2 인스턴스 생성시, 사용자 데이터에 쉘 스크립트 작성하면 일반적인 구성 작업을 자동화함
- ex) 인스턴스 AMI를 패치, 업데이트하거나 뭐 설치할때 활용
- ex) 인스턴스 AMI를 패치, 업데이트하거나 뭐 설치할때 활용
인스턴스 생명주기
- 인스턴스 요금은 running(실행)될때만 청구됨.
- 정지, 종료상태에서는 과금 안됨
전용 옵션(테넌시)
- 전용 인스턴스
- 전용 호스트
요금 옵션
- (기본) 온디맨스 인스턴스 (on demand)
- (약정) 절감형 플랜
- 스팟 인스턴스
compute optimizer
vm, memory - 부족/낭비되고 있다 등, 인프라 관리를 해줌
for 비용절감, 성능개선
댓글
댓글 쓰기