따라하며 배우는 AWS 네트워크 입문으로 공부한 내용입니다.
인터넷을 통해서 언제 어디서든지 원하는 때 원하는 만큼의 IT 리소스를 손쉽게 사용할 수 있게 하는 서비스
IaaS (Infrastructure as a Service)
서버 네트워크 스토리지, 운영체제 일부분은 클라우드 사업자
운영체제 일부분, 미들웨어 & 런타임, 애플리케이션은 사용자
가장 기본적인 IT 자원인 '서버, 네트워크, 스토리지' 클라우드 사업자가 제공 운영관리. 사용자는 가상 서버에 필요한 프로그램 설치하여 사용 및 운영 관리를 함
ex) EC2 (컴퓨팅), VPC(네트워크), EBS (스토리지)
PaaS (Platform as a Service)
서버 네트워크 스토리지, 운영체제, 미들웨어 & 런타임 클라우드 사업자
애플리케이션 사용자
ex) AWS Elastic Beanstalk (애플리케이션 배포)
Serverless
서버 네트워크 스토리지, 운영체제, 미들웨어 & 런타임, 백엔드는 클라우드 사용자, App client 사용자
ex) Lambda (컴퓨팅), API Gateway (API 프록시)
SaaS (Software as a Service)
모든 것은 클라우드 사업자와 SaaS 서비스 제공사가 관리
(1) 퍼블릭 클라우드 : 클라우드 서비스 제공 업체가 관리, 사용자는 해당 클라우드의 리소스를 사용하는 것
(2) 프라이빗 클라우드 : 사용자가 자신의 온프레미스 내에 클라우드 플랫폼 구축하여 직접 사용하는 것
(3) 하이브리드 클라우드 : 퍼블릭 클라우드 + 온프레미스
물리 영역 - 건물을 운영하는 설비와 시스템
IT 인프라 영역 - 서버, 네트워크, 스토리지, 로드 밸런서, 라우터 등의 일반적인 IT 인프라
운영 영역 - 데이터센터 운영 및 유지 관리
가용 영역이란?
한 개 이상의 데이터 센터들의 모음.
각 데이터 센터는 분산되어 있으며 초고속 광통신 전용망으로 이루어짐
해당 지리적인 영역 내에서 격리되고 물리적으로 분리된 여러 개의 가용 영역의 모음. 최소 2개의 가용 영역으로 구성, 최대 6개의 가용 영역으로 구성된 리전도 있음. 재난이나 재해를 대비하기 위해 분산하여 구성하는 것을 권장함.
외부 인터넷과 AWS 글로벌 네트워크망과 연결하는 별도의 센터.
엣지 로케이션과 리전별 엣지 캐시로 구성, CDN 서비스의 데이터 캐시 기능을 제공
백본 네트워크는 AWS 글로벌 네트워크망과 연결, 중국 지역을 제외한모든 AWS 리전과 연결.
EC2 (Elastic Compute Cloud)
물리 환경의 서버 컴퓨터와 유사하게 컴퓨팅 리소스를 제공
가상 머신으로 제공 인스턴스라고 부름
오토 스케일링
EC2 인스턴스 조건에 따라 자동으로 서버를 추가 혹은 제거
람다 - 서버리스 컴퓨팅
람다는 프로그램을 실행하는 컴퓨팅 엔진. AWS가 컴퓨팅 엔진 전반을 관리하기 때문에 사용자는 코드만으로 서비스를 실행할 수 있음
Amazon RDS
관계형 데이터베이스
Amazon DynamoDB
키-값 및 NoSQL 데이터베이스 서비스
대규모 데이터 저장 및 처리, 서버리스로서 사용자는 서버에 대한 관리가 필요하지 않음
AWS CloudFormation
프로그래밍 언어나 텍스트 파일을 사용해서 AWS 리소스 자동 배포
AWS CloudWatch
AWS 리소스 및 온프레미스의 자원 모니터링 할 수 있는 서비스
데이터 수집 -> 로그 저장 가능, 특정 조건 만족시 알람 제공
VPC : Virtual Private Cloud, AWS 클라우드 내 논리적으로 독립된 섹션을 제공하여 사용자가 정의한 가상 네트워크상에서 다양한 AWS 리소스를 실행할 수 있게 지원
VPN : Virtual Private Network, 공용 인터넷을 통해 가상의 사설 네트워크를 구성하여 프라이빗 통신 제공. 데이터 암호화, 전용 연결 등 여러 보안 요구사항을 충족할 수 있음
ELB : Elastic Load Balancing, 서비스 대상 시스템에 데이터를 분산하여 전달하는 역할 수행
퍼블릭 인터넷에 데이터가 노출되지 않도록 하고 내부 네트워크를 통해 AWS 서비스와 온프레미스 간에 안전한 비공개 연결 제공
관리형 DNS 서비스. 도메인 이름 구매 대행, 구매한 도메인 주소에 대한 호스팅 영역 설정을 통해서 도메인 질의에 대한 응답 처리할 수 있음
VPC나 온프레미스 등의 네트워크를 단일 지점으로 연결할 수 있는 라우팅 서비스
데이터 센터, 본사 사무실 또는 Co-location 과 같은 장소에서 전용 네트워크를 연결을 제공하는 전용선 서비스
콘텐츠 전송 / 캐시
로컬 또는 글로벌 사용자를 대상으로 애플리케이션의 가용성과 성능 개선. AWS의 글로벌 네트워크를 통해 사용자에게 애플리케이션으로 이어진 경로를 최적화하여 트래픽의 성능 개선
AWS EC2 인스턴스를 접근하기 위해서는 SSH 키페어가 필요
SSH : 네트워크를 통해 원격 시스템에 접근할 수 있는 프로토콜 및 프로그램. 서버와 클라이언트로 구성되며 인증 방식은 크게 '유저-암호' 입력 방식과 '키 페어 파일'을 이용한 방식이 있음
ec2 인스턴스 열기 - 인스턴스 네트워크 설정 ( 네트워크와 서브넷 기본값, 퍼블릭 IP 자동 할당 활성화 ) - 스토리지 추가 - 내 IP에 대한 SSH 설정 - 웹 접근을 위한 HTTP 설정
인스턴스에 접근하기 위해서는 (1) 터미널에서 SSH로 (2) 웹브라우저에 퍼블릭 IP 입력
AWS 인프라에 대해 코드로 개략적인 선언을 하는 방법 (IaC : Infrastructure as Code)
템플릿 : 생성할 AWS 인프라 자원을 코드로 정의한 파일. JSON/YAML 형태
스택 : 템플릿을 CloudFormation에 업로드하여 스택 생성 가능. 스택을 생성하면 템플릿에 정의된 AWS 인프라 자원에 대해 순서대로 자동 생성
CloudFormation을 설정해서 스택을 생성하면 자동으로 EC2 인스턴스가 생긴다. 마찬가지로 삭제하면 같이 삭제된다. 이것도 터미널에서 SSH로, 혹은 웹브라우저에서 퍼블릭 IP를 입력하면 접근할 수 있다.