AWSome Day는 AWS에서 진행하는 온라인 컨퍼런스로 하루 동안 총 5개의 파트로 진행된다.
AWS 테크니컬 트레이너에게 실시간으로 질문도 가능하며, 클라우드에 대한 배경지식이 많지 않아도 누구나 가볍게 AWS 서비스를 살펴보기 좋은 컨퍼러스이다. 아래 내용은 AWSome Day를 들으며 정리한 내용들이다.
1. AWS 클라우드 소개
온프레미스: 조직 내부에서 직접 관리하고 유지보수하는 IT 인프라를 의미한다. 서버, 스토리지, 데이터베이스, 애플리케이션 등이 회사 내에 물리적으로 위치하며, 회사 네트워크를 통해 사용자가 접근할 수 있다.
클라우드 서비스: 클라우드 공급자가 제공하는 IT 인프라로, 서버, 스토리지, 데이터베이스, 애플리케이션 등을 클라우드에서 호스팅한다. 사용자는 인터넷을 통해 이러한 IT리소스에 대해사용한만큼만 지불할 수 있다.
클라우드 컴퓨팅의 장점
1. 선행 비용을 가변 비용으로 대체
: 전통적인 온프레미스 시스템에서는 초기 설치와 하드웨어 구입 등 많은 비용이 발생하지만, 클라우드 컴퓨팅은 이런 선행 비용을 사용한 만큼만 지불하는 가변 비용으로 대체한다.
2. 속도 및 민첩성 향상
: 클라우드 서비스는 빠른 배포가 가능해, 필요한 자원을 신속하게 확보할 수 있다.
3. 규모의 경제로 얻게 되는 이점
: 클라우드 제공자는 대규모 데이터 센터를 운영하며, 이를 통해 개별 기업보다 더 저렴한 비용으로 인프라를 제공한다. 사용자는 이러한 규모의 경제를 통해 개별 인프라 소유 비용이 들지 않아 비용 절감 효과를 누릴 수 있다.
4. 데이터 센터 운영 및 유지 관리에 비용 투자 불필요
: 클라우드 컴퓨팅을 사용하면 자체 데이터 센터를 운영하고 유지 보수하는 데 드는 비용과 노력을 절감할 수 있다.
5. 용량 추정 불필요
: 클라우드 컴퓨팅은 탄력적으로 자원을 사용할 수 있어, 정확한 용량을 사전에 예측할 필요가 없다. 필요에 따라 자원을 증설, 축소할 수 있다.
6. 몇 분 만에 전 세계에 배포
: 클라우드 서비스는 전 세계 여러 지역에 데이터 센터를 보유하고 있어, 몇 분 만에 애플리케이션을 전 세계 사용자에게 배포할 수 있다.
AWS 글로벌 인프라: 현재 리전, 엣지 인프라
현재 약 30여개의 리전이 존재하며, 데이터 거버넌스, 지연시간, 비용 등을 고려해 리전을 선택할 수 있다.
엣지 인프라(Edge Infrastructure): 데이터 처리 및 저장을 중앙 데이터 센터가 아닌 데이터 생성에 가까운 곳에서 수행하는 컴퓨팅 인프라
AWS Outposts
: 온프레미스에서 AWS 인프라 및 서비스를 제공하는 솔루션. 고객의 데이터 센터에 AWS의 하드웨어와 소프트웨어를 설치하여 AWS 클라우드와 동일한 인터페이스를 제공한다.
AWS Local Zones
: 대규모 메트로 센터 내에서 AWS 인프라 및 서비스를 제공하는 솔루션. 주요 대도시와 가까운 곳에 위치하여 지연 시간을 줄인다.
AWS Wavelength
: 상용 서비스 공급자(CSP)의 5G 네트워크 내에서 AWS 인프라 및 서비스를 제공하는 솔루션. 5G 네트워크의 장점을 활용하여 매우 낮은 지연 시간을 제공한다.
2. 컴퓨팅, 스토리지
2-1. 컴퓨팅
Amazon Elastic Compute Cloud(Amazon EC2)
- 크기 조정 가능한 컴퓨팅 용량
- 컴퓨팅 리소스 완전 제어
- 새로운 서버 인스턴스 확보 및 부팅 시간 단축
Amazon EC2 인스턴스 패밀리 및 이름
Amazon EC2 요금
온디맨드 인스턴스 (On-Demand Instances)
: 필요할 때마다 인스턴스를 생성하고, 사용한 만큼만 비용을 지불하는 모델. 초기 비용이 없으며, 장기 계약이나 사전 결제가 필요 없다.
- 장점: 유연성이 높고, 특정 시간에만 필요한 작업에 적합하다. 갑작스러운 수요 증가에 대응할 수 있다.
- 사용 사례: 예측하기 어려운 작업량, 개발 및 테스트 환경, 일시적인 애플리케이션.
예약형 인스턴스 (Reserved Instances)
: 1년 또는 3년 동안 인스턴스를 예약해 저렴한 요금으로 사용할 수 있는 모델. 선불 비용이 있으며, 고정된 월별 비용을 통해 낮은 요금을 제공한다.
- 장점: 장기적으로 사용할 인스턴스에 대해 비용 절감이 가능하다. 사용량이 예측 가능한 경우에 유리하다.
- 사용 사례: 지속적인 작업 부하, 안정적인 애플리케이션 운영, 장기 프로젝트.
세이빙 플랜 (Savings Plans)
: 특정 시간 동안(1년 또는 3년) 사용한 컴퓨팅 자원에 대해 할인을 제공하는 요금 모델. 예약형 인스턴스보다 더 유연하며, 다양한 EC2 인스턴스 유형과 리전에서 사용할 수 있다.
- 장점: 더 많은 유연성을 제공하면서도 비용 절감 효과를 얻을 수 있다. 사용량의 변동이 있더라도 혜택을 받을 수 있다.
- 사용 사례: 다양한 인스턴스 유형을 사용하는 경우, 리전 간에 이동할 가능성이 있는 경우.
스팟 인스턴스 (Spot Instances)
: AWS의 미사용 컴퓨팅 용량을 매우 저렴한 가격에 사용할 수 있는 모델. 단, AWS가 해당 용량이 필요해지면 인스턴스가 종료될 수 있다.
- 장점: 최대 90%까지 저렴한 비용으로 인스턴스를 사용할 수 있다.(비용절감 극대화)
- 사용 사례: 중단 가능성이 있는 작업, 대규모 데이터 처리, 배치 작업, 고성능 컴퓨팅 작업.
서버리스 컴퓨팅(Serveless Computing)
:서버를 관리하지 않고, 애플리케이션과 서비스를 구축하고 실행
AWS Lambda
- 완전 관리형 컴퓨팅 서비스(사용자가 컨테이너 관리 x)
- stateless 코드 실행
- 여러 언어 지원(유연성)
- 일정에 따라, 또는 이벤트에 대응해 코드 실행(ex. Amazon S3 버킷 또는 Amazon DynamoDB 테이블의 데이터 변경)
Amazon Elastic Container Service(Amazon ECS)
- 컨테이너 실행 오케스트레이션(애플리케이션이 어떤 환경에서든 동일하게 실행될 수 있으며, 호환성 문제가 발생하지 않아, 예측 가능한 방식으로 동작한다.)
- 컨테이너를 실행하는 여러 노드 유지 관리 및 확장
- 인프라 구축의 복잡성 해소
2-2. 스토리지
AWS의 스토리지 옵션은 Block 스토리지, File 스토리지, Object 스토리지로 나뉜다.
Block 스토리지(Block Storage)
Amazon EBS (Elastic Block Store)
- 고성능, 저지연 스토리지를 제공하며, 데이터베이스, 파일 시스템, 기타 블록 수준 저장소가 필요한 애플리케이션에 사용된다. EC2 인스턴스에 영구적 블록 스토리지를 사용하며, 스냅샷 기능을 통해 데이터 백업과 복원이 가능하다.
File 스토리지(File Storage)
Amazon EFS (Elastic File System)
- Linux 기반의 서버리스 파일 스토리지로, NFS(네트워크 파일 시스템) 프로토콜을 사용하여 다수의 EC2 인스턴스에서 동시에 액세스할 수 있다. 자동 확장 기능을 통해 파일 시스템의 크기를 자동으로 조정하며, 파일 스토리지를 필요로 하는 애플리케이션에 적합하다.
Amazon FSx
- Amazon FSx for Windows File Server와 Amazon FSx for Lustre가 있다. 각각 Windows 기반 애플리케이션 및 고성능 컴퓨팅 워크로드를 위한 고성능 파일 스토리지 솔루션을 제공한다.
Object 스토리지(Object Storage)
Amazon S3 (Simple Storage Service)
- 대규모 데이터 저장에 최적화되어 있으며, 데이터를 객체 단위로 저장하고 관리한다. 99.9%에 이르는 높은 내구성과 가용성을 제공하며, 정적 웹사이트 호스팅, 백업 및 복원, 데이터 아카이빙 등에 사용된다.
Amazon S3 Glacier
: 장기 보관용 데이터 아카이빙에 적합하며, 매우 낮은 비용으로 데이터를 저장할 수 있다. 액세스 시간이 수 분에서 수 시간까지 걸릴 수 있지만, 비용 절감 측면에서 매우 효율적이다.
3. 데이터 베이스
DIY(비관리형 서비스)와 데이터베이스 서비스(관리형 서비스) 비교
목적별 데이터베이스
Amazon RDS
몇 번만 클릭하여 클라우드에서 관계형 데이터 베이스 설정, 운영 및 크기 조정 가능
Amazon Aurora
클라우드용으로 만든 관계형 데이터베이스로 MySQL, PostgreSQL와 호환 가능
Amazon DynamoDB
모든 규모에 사용 가능한 빠르고 유연한 NoSQL 데이터베이스 서비스
4. 네트워킹, 보안
4-1. 네트워킹
Amazon Virtual Private Cloud(Amazon VPC)
: AWS 리소스를 시작하기 위해서 사용자가 정의한 논리적으로 격리된 가상 네트워크이다.
리전 범위의 서비스로, 선택한 리전의 가용영역(Ability Zone, AZ)에 걸쳐서 생성된다.
IP 주소의 범위 선택, 서브넷 생성, 라우팅 테이블, 인터넷 게이트웨이 구성 등 가상 네트워킹 환경을 사용자가 직접 제어할 수 있다.
Amazon EC2 인스턴스와 같은 서비스를 배치하기 위해서는 서브넷을 생성해야 한다.
- 서브넷: VPC 내에서 IP 주소 범위를 나누어 리소스를 그룹화하는 논리적인 단위이다. 하나의 VPC는 여러 개의 서브넷으로 나뉠 수 있으며, 각 서브넷은 특정 가용 영역(AZ)에 속하게 된다. 쉽게 말해, VPC, IP 주소 범위 내의 세그먼트 또는 파티션으로 볼 수 있다. 서브넷을 생성하여 각각의 워크로드를 격리할 수 있다.
- 퍼블릭 서브넷: 인터넷 게이트웨이(AWS에서 제공하는 VPC(Virtual Private Cloud)와 인터넷 간의 통신을 가능하게 하는 가상 라우터)와 연결되어, 공용 인터넷에서 직접 액세스 가능한 서브넷이다. 웹 서버나 프록시 서버와 같은 리소스를 배치할 수 있다.
- 프라이빗 서브넷: 인터넷 게이트웨이와 연결되지 않은 서브넷으로, 외부에서 직접 액세스할 수 없는 서브넷이다. 데이터베이스 서버나 내부 애플리케이션 서버를 배치할 수 있다.
고가용성 구조를 만들기 위해, 여러 가용영역에 서브넷을 생성하고 Amazon EC2 인스턴스 및 데이터베이스 서비스를 구축할 수 있다.
이 때, AWS Elastic Load Balancing(ELB)를 이용하면 트래픽을 분산 처리할 수 있다. ELB는 들어오는 애플리케이션 트래픽을 여러 Amazon EC2 인스턴스, 컨테이너, IP 주소 및 Lambda 함수로 자동으로 분산하여 애플리케이션의 가용성과 확장성을 높인다.
단일 가용 영역뿐만 아니라 여러 가용 영역에 부하를 분산할 수 있다.
인프라 보안
라우팅 테이블, 네트워크 액세스 제어 목록(네트워크 ACL), 보안 그룹을 포함한 여러 보안 계층을 사용해 각 서브넷에서 Amazon EC2 인스턴스에 대한 액세스를 제어할 수 있다.
- 라우팅 테이블
- 네트워크 트래픽이 전달되는 위치를 결정하는데 사용되는 경로라는 규칙 집합 포함
- 라우팅 테이블은 VPC, 게이트웨이 및 서브넷과 연결 가능
- 네트워크 액세스 제어 목록(네트워크 ACL) <- 서브넷 수준
- 서브넷 범위의 인바운드와 아웃 바운드 트래픽을 제어(허용 또는 거부)하는 방화벽 역할(2차 방어 계층)
- 규칙을 이용해 SSH 접속과 같은 유형, 프로토콜, 포트 범위, Source 대상을 지정하여 이를 허용할지, 거부할지 설정할 수 있다.
- 보안 그룹 <- 인스턴스 수준
- 인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어하는 가상 강화벽
- 서브넷 범위가 아니라 인스턴스를 보호하기 때문에 하나의 서브넷 안에 여러 인스턴스를 각각 다른 보안그룹으로 지정할 수 있따.
- 허용하고자 하는 규칙을 지정하여 트래픽을 제어한다.
- 일반적으로 애플리케이션 개발자가 관리한다.
인프라와 연결
온프레미스 데이터 센터를 보유한 경우, AWS의 VPC와 데이터 센터를 연결하는 하이브리드 클라우드 아키텍처를 구축할 수 있다.
1. Virtual Private Network (= VPN) 연결
*공용 네트워크(예: 인터넷)를 통해 사설 네트워크를 안전하게 연결하는 기술. VPN은 원격 위치에 있는 사용자나 장치가 마치 사설 네트워크 내부에 있는 것처럼 안전하게 데이터를 주고받을 수 있도록 한다.
- AWS Client VPN: 원격 사용자들이 AWS 리소스와 온프레미스 네트워크의 리소스에 안전하게 액세스하는데 사용할 수 있는 관리형 클라이언트 기반 VPN 서비스
- AWS Site-to-Site VPN:온프레미스 네트워크와 사용자의 VPC간의 안전한 연결을 제공하는 서비스다. 이때, IPsec VPN 터널을 통해 데이터 암호화 및 무결성을 보장한다. VPC와 데이터 센터 간에 전송되는 데이터는 암호화된 VPN 연결을 통해 라우팅되므로 전송 데이터의 기밀성과 무결성이 유지된다.
2. Direct Connect
AWS와 온프레미스 데이터 센터 또는 콜로케이션 환경 간의 전용 네트워크 연결을 제공하는 서비스다. 이를 통해 공용 인터넷을 거치지 않고 안정적이고 일관된 네트워크 성능을 제공하며, 높은 대역폭과 낮은 지연 시간으로 AWS 서비스를 사용할 수 있다. 데이터 센터와 AWS 간 연결 손실로 인한 위험을 최소화하고 싶을 때 사용할 수 있다.
4-2. 보안
보안 프로세스를 자동화하고, 모든 AWS 리소스의 규정 준수 태세를 지속적으로 감독하며 증거를 자동으로 수집하여 지속적인 실시간 내부 보고 및 모니터링을 지원할 수 있다. 수천 가지의 글로벌 규정 준수 요구사항에 대해 타사 검증을 정기적으로 진행하여 AWS를 사용해 서비스를 구축하는 고객이 규정을 준수할 수 있도록 지원한다.
공동 책임 모델
보안과 규정준수는 AWS와 고객의 공동 책임이다.(=공동 책임 모델)
'클라우드의 보안'과 '클라우드에서의 보안'
- 클라우드 보안: AWS의 책임으로, AWS는 모든 서비스를 실행하는 인프라를 보호할 책임이 있다. 단순한 하드웨어 뿐만 아니라 인프라는 AWS 서비스를 실행하는 소프트웨어, 네트워킹 및 시설을 포함한다.
- 클라우드에서의 보안: 고객이 책임지는 영역으로, 클라우드에서의 보안을 확보하기 위해서는 사용하고자 하는 서비스의 종류에 따라 고객이 보안을 책임지는데 필요한 작업이 달라진다.
AWS Identity and Access Management(IAM)
AWS 리소스에 대한 액세스를 안전하게 제어하기 위한 서비스이다.
누가 AWS 리소스를 사용할 수 있는가에 대한 '인증', 무엇을 할 수 있는가에 대한 '인가'를 제어하는 서비스
- 사용자, 그룹, 역할에 세분화된 권한 할당
- AWS 계정에 대한 임시 액세스 공유
- 회사 네트워크의 사용자 연동 또는 인터넷 자격 증명 공급자와 연동
IAM 구성 요소
'Cloud > AWS' 카테고리의 다른 글
Amazon EMR architecture Overview (0) | 2024.09.09 |
---|---|
Amazon EMR Overview (0) | 2024.09.09 |
AWS VPC (0) | 2024.06.09 |
AWS EC2 기초 (0) | 2024.06.01 |
AWS IAM(Identity and Access Mangement) (0) | 2024.05.31 |