아이티센 Elk 구축01
AWS Basic
AWS 소개
클라우드 컴퓨팅이란?
인터텟을 통해 물리적 서버, 네트워크와 같은 IT 리소스와 데이터 분석과 같은 애플리케이션을 원할 때 언제든지 사용한 만큼만 요금을 내면 사용할 수 있게 해주는 서비스
클라우드 컴퓨팅의 6가지 이점
- 초기 선투자 비용 없음
- 운영 비용 절감
- 탄력적 운영 및 확장
- 속도 및 민첩성
- 비즈니스에만 집중 가능
- 글로벌 확장
AWS 주요 서비스 분야
- 컴퓨팅
- 스토리지
- 데이터베이스
- 네트워킹
- 보안
AWS 작동 방식
- AWS는 네트워크로 연결된 하드웨어를 소유하고 유지 관리
- 고객은 필요한 항목을 프로비저닝하고 사용
AWS와 상호작용하는 3가지 방법
- AWS Management Console
- 사용하기 쉬운 그래픽 인터페이스
- AWS 명령줄 인터페이스(AWS CLI)
- 개별 명령을 사용하여 서비스에 액세스
- 소프트웨어 개발 키트(SDK)
- 코드에서 서비스에 액세스
AWS 글로벌 인프라
리전
- AWS에서 Region은 각 도시별로 존재하며 두 개 이상의 가용영역(AZ)로 구성
- 각 Region은 리소스를 공유하지 않으며 높은 수준의 보안, 규정 준수 및 데이터 보호 기준을 충족한다.
가용 영역(AZ)
- AZ는 하나 이상의 개별 데이터 센터로 구성되며, 다중 AZ를 사용하면 단일 데이터 센터를 사용하는 것보다 더 높은 가용성, 내결합성 및 확장성을 갖춘 환경 운영 보장(정전, 낙뢰, 토네이도, 지진 등과 같은 문제로부터 안전하게 보호)
- AZ는 높은 대역폭, 지연 시간이 짧은 네트워킹, 완전한 중복성을 갖춘 전용 메트로 광 네트워크와 상호 연결
- AZ 간 동기 복제 기능을 충분히 수행할 수 있는 네트워크 성능을 보장하며, AZ간 모든 트래픽은 암호화 처리
- AZ는 다른 모든 AZ와 수 킬로미터에 상당하는 유의마한 거리를 두고 물리적으로 분리(다만 모든 AZ는 서로 100km(60마일) 이내의 거리에 위치)
AWS 핵심 서비스
네트워크
Amazon VPC(Virtual Private Cloud)
- 사용자가 정의한 논리적으로 격리된 가상 네트워크에서 AWS 리소스를 시작할 수 있도록 하는 서비스
- IP 주소 범위, 서브넷 생성, 라우팅 테이블 및 네트워크 게이트웨이 구성 등 가상 네트워킹 환경을 완벽하게 제어
- 리소스에 대한 사용자 지정, 액세스 제어 및 보안 설정 허용
- AWS 클라우드의 프라이빗 네트워크 공간
- 워크로드의 논리적 격리 제공
Subnet
- 서브넷은 VPC 하위의 IP 주소 범위이며, 서비넷을 지정하여 AWS 리소스를 시작할 수 있음
- 리소스 그룹을 격리할 수 있는 VPC IP 주소 범위의 세그먼트 또는 파티션
- 인터넷에 연결되는 리소스는 퍼블릿 서브넷, 인터넷에 연결되지 않는 리소스는 프라이빗 서브넷을 사용한다.
- 프라이빗 서브넷
- 인터넷 게이트웨이에 대한 라우팅 테이블 항목이 없음
- 퍼블릭 인터넷에서 직접 액세스 불가
네트워크 보안
ELB(Elastic Load Balancing(ELB))
수신되는 애플리케이션 트래픽을 여러 Amazon EC2 인스턴스, 컨테이너, IP 주소에 분산하는 관리형 로드 밸런싱 서비스
Amazon Route 53
- Route 53은 가용성과 확장성이 뛰어난 클라우드 DNS(Domain Name System) 서비스
- 도메인 이름을 구입하여 관리하고 DNS 설정을 자동으로 구성할 수 있음
- AWS에서 유연한 고성능, 고가용성 아키텍쳐를 위한 도구를 제공
- 멀티플 라우팅 옵션
컴퓨팅
EC2(Amazon Elastic Compute Cloud)
- 서버(애플리케이션, 웹, 데이터베이스, 게임, 메일, 미디어, 카탈로그, 파일… )
- 크기 조정 가능한 컴퓨터 용량
- 컴퓨팅 리소스 완전 제어
- 새로운 서버 인스턴스 확보 및 부팅 시간 단축
- AMI(Amazon Maching Image) 사용
- 필요에 따라 인스턴스를 추가 또는 종료
- 인스턴스 일시 중지 및 다시 시작 가능
EC2의 이점
- 탄력성
- 제어
- 유연성
- 통합
- 안정성
- 보안
- 저렴한 비용
- 용이성
Amazon EC2 인스턴스 패밀리 및 이름
인스턴스 패밀리 | 상품 이름 | 사용 사례 |
---|---|---|
범용 | A1, T3, T3a, T2, M6g, M5 | - 트래픽이 적은 웹사이트와 웹 어플리케이션 - 소형 데이터베이스 및 중형 데이터베이스 |
컴퓨팅 최적화 | C5, C5n, C4 | - 고성능 웹 서버 - 동영상 인코딩 |
메모리 최적화 | R5, R5n, X1e, X1, z1d | - 고성능 데이터베이스 - 분산 메모리 캐시 |
스토리지 최적화 | I3, I3en, D2, H1 | - 데이터 웨어하우징 - 로그 또는 데이터 처리 애플리케이션 |
액셀러레이티드 컴퓨팅 | P3, P2, Inf1, G4, G3, F1 | - 3D 시각화 - 기계 학습 |
Amazon EC2 요금
- 초당 결제(Amazon Linux 및 Ubuntu 전용)
- 시간당 결제(다른 모든 OS)
Amazon Elastic Kubernetes Service(Amazon EKS)
- 컨테이너의 실행을 조정합니다.
- 컨테이너를 실행하는 노드 플릿을 유지 관리하고 확장합니다.
- 인프라 구축의 복잡성을 제거합니다.
Lambda
- 서버리스 컴퓨팅: 서버를 관리하지 않고 애플리케이션과 서비스를 구축하고 실행
- 프로비저닝하거나 관리할 서버 없음
- 사용량에 따라 조정
- 유휴 상태에 대한 지불 없음
- 가용성 및 내결함성 내장
스토리지
Amazon S3(Simple Store Service)
- 클라우드 상의 확장 가능하고 내구성이 뛰어난 객체 스토리지
- 99.99% 내구성을 제공하도록 설계
- 이벤트 트리거 지원
- ex)
- 콘텐츠 저장 및 배포
- 백업 및 아카이빙
- 빅데이터 분석
- 재해 복구
- 정적 웹 사이트 호스팅
- 데이터를 저장 및 검색하도록 구축
- 속도, 내구성, 가용성이 뛰어난 객체 액세스
- 버킷에 저장할 수 있는 객체 수에 제한이 없음
- 웹 어디서나 언제든 데이터 저장 및 검색
Amazon S3 Glacier
- 장기 데이터 스토리지
- 아카이브 및 백업 용도
- 비용이 매우 저렴한 스토리지
- ex)
- 미디어 자산 워크플로
- 의료 정보 아카이빙
- 규제 및 규정 준수를 위한 아카이빙
- 과학적 데이터 스토리지
- 디지털 보존
- 마그네틱 테이프 대체
Amazon EBS
- 인스턴스용 영구 블록 스토리지
- 복제를 통해 보호
- 상이한 드라이브 유형
- 몇 분 만에 확장 또는 축소
- 프로비저닝한 만큼만 요금 지불
- 스냅샷 기능
- 암호화 사용 가능
Amazon EFS
- 서버에서 네트워크 IP로 볼륨을 마운트하는 NAS
- 여러 서버에서 하나의 storage를 공유할 수 있다.
데이터베이스
DB 종류
관계형 데이터베이스
- Amazon RDS
- Amazon Aurora
- Amazon Redshift
비관계형 키-값
- Amazon DynamoDB
비관계형 문서
- Amazon DocumentDB
비관계형 인 메모리
- Amazon ElsticCache
비관계형 그래프
- Amazon Neptune
비관계형 원장
- Amazon QLDB
DIY(설치형)와 AWS 데이터베이스 서비스 비교
- 데이터베이스 on EC2
- 운영 체제 액세스
- 특정 애플리케이션의 기능 필요
- AWS 관리형 데이터베이스 서비스
- 손쉬운 설정, 관리, 유지
- 즉각적인 고가용성 구현
- 성능에 초점
- 관리형 인프라
보안
공동 책임 모델
- 고객 책임
- 클라이언트 측 데이터 암호화 및 데이터 무결성 인증
- 서버 측 암호화(파일 시스템 및 데이터)
- 네트워크 트래픽 보호(암호화, 무결성, 자격 증명)
- 운영 체제, 네트워크, 방화벽 구성
- 플랫폼, 애플리케이션, 자격 증명 및 액세스 관리
- AWS 책임
- AWS 기초 서비스
- 컴퓨팅, 스토리지, 데이터베이스, 네트워킹
- AWS 글로벌 인프라
- 리전, 가용 영역, 엣지 로케이션
- AWS 기초 서비스
AWS IAM(Identity and Access Management)
- AWS 리소스에 대한 액세스를 안전하게 제어
- 사용자, 그룹 또는 역할에 세분화된 권한 할당
- AWS 계정에 대한 임시 액세스 공유
- 회사 네트워크의 사용자 연동 또는 인터넷 자격 증명 공급자와 연동
- IAM 구성 요소
- 사용자
- AWS와 상호 작용하는 사람 또는 애플리케이션
- 그룹
- 동일한 권한을 가진 사용자 모음
- 역할
- 엔티티가 맡을 수 있는 임시 권한
- 사용자
Amazon S3 액세스 제어: 일반
- 일부 서비스는 S3 버킷 정책과 같은 리소스 기반 정책을 지원
AWS CloudTrail
- AWS 계정의 사용자 활동 및 API 사용 추적
- 지속적으로 사용자 활동을 모니터링하고 API 호출을 기록
- 규정 준수 감사, 보안 분석, 문제 해결에 유용
- 로그 파일은 Amazon S3 버킷으로 전송됨.
AWS Trusted Advisor
- 비용 절감, 성능 개선, 보안 강화에 도움이 되는 지침을 제공하는 서비스
- 비용 최적화, 성능, 보안, 내결함성, 서비스 한도 등등…
Hands-on
Tag 기준
- 리소스 관리를 위해 Key-Value 형식의 Tag 부여
- AWS는 모든 리소스에 대해 Tag를 부여 가능(리소스 Name의 경우에도 Tag의 한 종류)
- 소유자, 작업자, 프로젝트 등 관리하고자 하는 분류 기준으로 Tag 부여
- 리소스 생성 시 입력하거나, 리소스 생성 후 변경
- 태그의 Key, Value를 기준으로 자동화 정책을 생성할 수 있으므로, 관리 관점에서 매우 유용
IAM
- 정책과 권한 그룹을 통해 RBAC 기반의 액세스 제어
- AWS 제공 정책 또는 사용자 정의 정책을 IAM Group에 할당
- IAM User(또는 역할)에 권한 정책을 직접 적용하지 않고, IAM User(또는 역할)를 IAM Group에 매핑하여 권한 관리
- AWS 공식 가이드: https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/introduction.html
프라이빗/퍼블릭 IP 이해
공인 IP와 사설 IP
구분 | 공인 IP(Public) | 사설 IP(Private) |
---|---|---|
할당 주체 | ISP(인터넷 서비스 공급자) | 라우터(공유기) |
할당 대상 | 개인 또는 회사의 서버(라우터) | 개인 또는 회사의 기기 |
고유성 | 인터넷 상에서 유일한 주소 | 하나의 네트워크 안에서 유일 |
공개 여부 | 내/외부 접근 가능 | 외부 접근 불가능 |