728x90
클라우드 서비스 복습
네트워킹 서비스
가용 영역(Availability Zone) | 리전(Region) |
- 데이터 센터는 수만개의 서버를 운영 중이고 모든 데이터 센터는 온라인으로 연결 - 각 가용 영역은 하나 이상의 데이터 센터로 구성되며 내결함성을 갖도록 설계됨 - 전용선을 통해 다른 가용 영역과 상호 연결 |
- 리전은 두 개 이상의 가용 영역으로 구성 - AWS는 전 세계에 다수의 리전과 가용 영역을 보유하고 있으며 계속 확장 중임 - 리전 간 데이터 복제를 활성화하고 제어가능 |
엣지 로케이션(PoP, Point of Presence)
- 최종 사용자에게 가까운 위치에서 더 짧은 지연 시간으로 콘텐츠를 전송하기 위해 600개 이상의 엣지 로케이션을 구축
- CDN(Content Delivery Network): 컨텐츠캐싱 서비스, DNS(Domain Name System): 도메인 네임을 IP로 변환해주는 서비스
VPC(Virtual Private Cloud)
- 클라우드의 가상 프라이빗 네트워크 공간
Amazon VPC 특징
- VPC는 클라우드 내 다른 가상 네트워크와 논리적으로 분리되어 있음
- 리소스에 사용할 IP 주소 범위를 지정할 수 있고 IPv4, IPv6 지원
- 인바운드 및 아웃바운드 트래픽에 대한 액세스 정책 설정 지원
VPC 생성
- 리전(Region) 지정
- 사용할 IP 주소 범위 지정
- 지정한 리전에 속한 가용 영역(AZ) 선택
- 원하는 개수의 서브넷 구성
- 리전당/계정당 VPC 최대 5개 생성
단일 VPC 사용 혹은 다중 VPC 사용
CIDR(Classless Inter-Domain Routing)
- 클래스 없는 도메인 간 라우팅 기법으로 가장 일반적으로 활용되고 있는 IP 주소 할당 및 표기 방법
서브넷
- 리소스 그룹을 격리할 수 있는 VPC IP 주소 범위의 하위 집합으로 서브넷 생성 시 VPC CIDR 블록의 하위 집합에 속하는 CIDR 블록을 지정
- 서브넷 단위로 네트워크 트래픽을 제어할 수 있고 인터넷 접근성도 제어할 수 있음
서브넷 생성
- VPC 주소 범위 내에서 가용영역을 선택하여 생성해야하고
- 서브넷 간 CIDR블록은 중첩되면 안됨
- 서브넷별로 5개의 예약된 IP주소가 있으므로 해당 IP주소를 제외하고 생성해야함
- 기 설정된 서브넷 IP범위는변경이 불가함
라우팅 테이블
- 네트워크 트래픽이 향하는 방향을 결정하는 데 사용되는 경로
인터넷 게이트웨이
- VPC와 인터넷 간에 통신을 위한 리소스로 VPC 내부 리소스가 인터넷에 연결하거나 혹은 외부에서 서브넷의 리소스에 접근하고자 할 경우 활용
- 인터넷 게이트 웨이는 IPv4, IPv6 지원
- 사용자가 콘솔상에서 인터넷 게이트웨이 생성 후 대상 VPC와 직접 연결
- HA구성, 수평적 확장을 통해 네트워크 트래픽에 가용성 위험이나 대역폭 제약이 발생하지 않음
탄력적 IP(Elastic IP, EIP) 주소
- 동적 클라우드 컴퓨팅을위해 설계된 고정 퍼블릭 IPv4
- AWS 계정에 할당되며 리전당 5개로 제한
- 실행 중인 인스턴스에 연된 EIP 한개는 무료 사용
- EIP가 실행 중인 인스턴스와 연결되어 있지 않거나, 중지된 인스턴스에연결되어 있는 경우 소액의 시간당 요금이 부과됨
- EIP는 연결 해제 후 바로 릴리즈를 통해 제거해야 추가 비용 발생X
탄력적 네트워크 인터페이스(ENI, Elastic Network Interface)
- VPC에서 인스턴스에 연결할 수 있는 가상네트워크 인터페이스
NAT 게이트웨이(NAT, Network Address Translation)
- Private IP만을 보유한 인스턴스들이 아웃바운드트래픽을 인터넷 등 VPC 외부로 전송할 수 있도록 Public IP로 바꿔주는 역할을 하는 리소스
서브넷 구성 시 고려사항
- 가용 영역 내에 서브넷을 몇 개 만들어야 하는가?
- 퍼블릭, 프라이빗을 설정해야해서 최소 2개, 필요에 따라 +
- NAT Gateway는 리전내 특정 가용영역에 한 개만 생성하면되는가?
- 기존 AZ에 생성한 NAT에 연결해도 되지만장애 발생 등을 고려해 고가용성을 고려한다면 가용영역(AZ)마다 만들어주는게 좋음
- 웹 티어 인스턴스는 어떤 서브넷에 배치해야 하는가?
- 기본적으로는 퍼블릭에 배치하지만 예외적으로 로드밸런서를 쓸 때는 프라이빗에 배치할 수 있음
방화벽(Firewall)
- 미리 정의된 보안 규칙에 기반하여 네트워크 트래픽을 모니터링하고 제어하는 네트워크 보안 시스템으로, 내부 네트워크와 외부와의통신을 제어하고 내부 네트워크의 안전을 유지하기 위한 기술
- 정의된 규칙에 기반하여 수신 트래픽을 허용하거나 차단하는데 이러한 규칙은 대개 IP 주소, 포트, 프로토콜 등을 기반으로 설정
가상 방화벽 서비스
- 네트워크 ACL, 보안 그룹
네트워크 ACL
- 서브넷 경계에서 송신 및 수신되는 트래픽을 제어하기 위한 방화벽 역할을 수행
보안그룹(Security Group)
- AWS 리소스로 전송되는 인바운드 및 아웃바운드 트래픽을 제어하는 방화벽 역할 수행
네트워크 ACL | 보안그룹(Security Group) |
서브넷 기준 적용(선택적 2차 보안 계층) | 각 리소스별로 적용(1차 보안 계층) |
룰에 대한 허용 및 거부 규칙 지원 | 룰에 대한 허용 규칙만 지원 |
등록된 규칙의 번호순으로 트래픽 허용 및 거부 | 등록된 모든 규칙을 평가하여 트래픽 허용 |
아웃바운드 요청에 대한 응답 규칙 정의 필요 | 아웃바운드 요청에 대한 응답 자동 허용 |
네트워크간 연결
- VPC피어링, Site-to-Site VPN, Direct Connect
VPC피어링
- 비공개적으로 VPC간에 트래픽을 라우팅할 수 있도록 하기 위한 VPC사이의 네트워킹 연결을 의미함
- 격리된 2개의 VPC 내 리소스 간에 Private IP를 이용한통신이 필요할 때 활용
- 동일 리전 내 VPC 간, 다른 리전에 있는 VPC, 다른 계정의 VPC와도 피어링 연결생성 가능
Site-to-Site VPN
- 인터넷망을 활용하여 VPC와온프레미스 네트워크를 안전하게 연결하는 방식
- 인터넷 프로토콜 보안(IPsec) VPN 연결을 지원
- 빠른 연결 설정이 가능하고 많은 비용이 들지 않는 장점
Direct Connect
- 인터넷망을 거치지 않고 AWS전용 네트워크를 통해 VPC와 온프레미스 네트워크를 연결하는 방식
- 전용선을 이용하기 때문에 대용량의 데이터를 빠르게 전송할 수 있는 하이브리드 네트워크 환경을 제공
컴퓨팅 서비스
AWS의 EC2(Elastic Compute Cloud)
- 클라우드에서 컴퓨팅 작업을 담당하는 가상머신으로 온프레미스에서 서버가 수행할 수 있는 모든 워크로드를 지원
EC2 특징
- 글로벌 인프라를 활용하여 고객이 원하는 다양한 위치에 배포 가능
- 고객의 워크로드 요구사항에 부합하도록 최신의 다양한 인스턴스 유형을 제공함
- 빠른 실행(보통 분단위) 및 변경 관리, 용량 조정 및 확장지원
- SLA를 통해 각 리전에 대해 99.9%의 가용성을 보장
- 비용 최적화 실현
EC2의 인스턴스 유형
- 인스턴스 패밀리: 인스턴스의 용도 설명
- 인스턴스 세대: 세대가 높으면 비용대비 성능이 과거보다 좋음
- 인스턴스 크기: 가상의 CPU인 VCPU와 메모리를 표현하는 것
- 추가역량: 인스턴스가 가지는 특별한 특징, 능력
EC2 Key Pair
- 서비스 운영 중 로그확인, 상태확인, 서비스 설치 등을 위해 특정인스턴스에 직접 접속하려면 key pair가 필요한데 이건 사용자가 인스턴스에 SSH접속을 위해 필요한 Private Key
EC2 데이터 저장
- 용도에 따라 세가지 옵션 중 선택하여 사용
머신이미지(AMI, Amazon Machine Image)
- AMI는 인스턴스를 시작하는 데 필요한 정보를 제공하며 인스턴스를 생성 시 소스 AMI를 지정해야 함
- 용도별 AMI를 이용하여 다양한 용도의 인스턴스를 생성 할 수 있음(ex. 웹 서버용 AMI, 애플리케이션 서버용 AMI 등)
- 사전에 구축된 AMI 사용 가능
- 인스턴스에 연결된 루트 볼륨의 스냅샷 생성 후 이를 사용자 AMI로 등록하여 활용
- 스냅샷(Snapshot): 사진을 찍듯이 현재 디스크 내역(상태정보)을 포착해 백업 및 복원 목적으로 보관하는 기술
AMI 활용 시 이점
사용자 데이터와 메타 데이터
사용자 데이터(User Data)
- 쉘 스크립트를 작성하여 일반적인 구성 작업을 자동화하는데 사용할 수 있음
- Shell(쉘): 운영체제(OS)상에서 사용자가 입력하는 명령을 읽고 해석하여 대신 실행해주는 프로그램
- Shell Script(쉘 스크립트): 쉘에서 사용할수있는 명령어들을 조합하여 만든 파일로 한줄씩 순차적으로 읽으면서 명령어들을 실행
메타 데이터(Meta Data)
- 인스턴스를 구성 또는 관리하는 데 사용될 수 있는 인스턴스 관련 데이터
- Key-Value 형태로 저장
인스턴스 생명주기
- AMI를 기반으로 인스턴스를 Launch
- Pedding단계에서 어떤 호스트에 띄울지, 어떤 퍼블릭 IP를 줄 건지 결정
- Running단계에서 필요에 따라 중지 시킬 수 있음
- 다시 시작하려면 다시 Pedding단계를 거쳐야하므로 퍼블릭 IP가 바뀌게 딤
- Terminate단계에서 삭제
전용 옵션
전용 인스턴스(Dedicated Instance) | 전용 호스트(Dedicated Host) |
다른 인스턴스와 호스트 하드웨어 수준에서 물리적으로 격리됨 (불특정 하드웨어에서 실행) |
고객 전용 물리적 EC2 서버를 예약 |
인스턴스 단위의 결제 (시간당) | 호스트 단위의 결제 |
지정된 동일한 물리적 서버에 배포 X | 지정된 동일한 물리적 서버에 배포 O (특정 서버에 한정된 라이선스 활용) |
- 라이선스, 정책 및 규제 등의 이유로 인스턴스 배치를 제어하고자 할 경우 활용
AWS 실습 내용
VPC 네트워크구성
- Amazone VPC 생성
- 퍼블릭 서브넷 및 프라이빗 서브넷 생성
- 인터넷 게이트웨이 생성
- 라우팅 테이블 구성
가상머신 구성
- 웹서버 구축
- 프라이빗 서브넷에 인스턴스 생성
- NAT Gateway 생성
- 라우팅 테이블 편집
- Cloud9 환경 구성및 작동 테스트
728x90