본문 바로가기
AWS

AWS - 2 기초 용어 정리

by YUNZEE 2025. 1. 19.
728x90
AWS 소개

클라우드 컴퓨팅이란 무엇인가요?(면접 질문받을 수도 있음)

- IP리소스를 사용자가 소유하지 않아도 CSP( Cloud Service Provider )로부터 서비스를 제공받음

CSP( Cloud Service Provider ) : AWS(Amazon Web Services), Microsoft Azure, Google Cloud Platform(GCP)

- 온디맨드로 서비스 액세스

- 필요에 따라 컴퓨팅 리소스 프로비저닝

- 사용한 만큼만 요금을 지불(온디맨드)

- CapEx: 장기적인 자산을 구매하거나 개선하는 데 사용하는 비용을 의미함, 일반적으로 한 번 지출되면 장기간 사용되는 자산에 대한 투자임

- IT리소스를 사전 준비하고 배포하는 과정을 의미함

- 서버, 네트워크, 스토리지, 소프트웨어, 데이터베이스 등을 필요한 시점에 적절하게 구성 및 제공하는 작업

 

주요 이점

(면접 질문받을 수도 있음)

SaaS(Software as a Service): 인터넷을 통해 소프트웨어를 제공하는 서비스 모델/ 사용자는 별도의 설치 없이 웹 브라우저를 통해 소프트웨어를 사용하며, 개발사가 모든 관리를 담당함 ex) Google Workspace (Gmail, Google Drive, Google Docs), 데이터베이스의 관리를 구글이 함

PaaS(Platform as a Service): 개발자가 애플리케이션을 개발하고 배포할 수 있도록 플랫폼을 제공하는 서비스 모델. 소프트웨어 개발에 필요한 OS, DB, 개발 프레임워크, 런타임 환경을 제공하여 개발자가 인프라 설정 없이 개발에  집중할 수 있

음 ex) RDS: 내가 관리를 다함, 비주얼스튜디오, 데이터베이스의 관리를 내가함

IaaS(Infrastructure as a Service): 가상 서버, 스토리지, 네트워크 등의 IT인프라를 제공하는 서비스 모델임/ 사용자는 직접 서버를 설정하고 운영하지만, 물리적 하드웨어를 구매할 필요 없이 클라우드에서 리소스를 사용할 수 있음 ex) AWS EC2

 

- 종량제: 사용한 만큼만 비용 지불  

- 거대한 규모로 구입했을 때, 경제적으로 얻게 되는 이점: 대량 구매 할인받음(AWS가 뭘 살 때 대량으로 사서 할인을 받음 그걸 고객에게 더 저렴하게 돌려줌)

- 용량 추정 불필요: 처음 시작할 때 얼마 큼의 용량이 필요하겠지라고 추측하고 사용함, 그리고 남으면 down 하고 부족하면 용량을 up 함

- 속도 및 민첩성 향상

- 비용 절감 목표 실현

- 몇 분 만에 전 세계에 배포

-> 데이터, 애플리케이션, 인프라 등을 한 환경에서 다른 환경으로 이동하는 과정

 

AWS Global Infrastructer

리전 선택

- 지연 시간

- 요금

- 서비스 가용성

- 데이터 규정 준수: 자국에서 발생하는 데이터 중에서 조금이라도 외부에 나가면 안 됨이라는 규정에 맞춰서 리전을 선택해야 됨

 

가용영역(AZ)

- 리전{(가용 영역) (가용 영역) (가용 영역)}

- 가용 영역: 하나 이상의 데이터 센터

- 한국은 가용 영역이 4개임

- 전쟁이 나서 서버가 셧다운 된다고 해도 근처 가용 영역에 데이터를 넘겨 서비스를 원활하게 함

- 싱크로 복제( Synchronous Replication )한다는 건 -> 데이터를 즉각적으로 복제(동기화)하여 동일한 데이터를 유지

 

에지 로케이션( Edge Location ) = CloudFront = 낮은 지연 시간

- 사용자의 위치와 가까운  곳에서 콘텐츠를 캐싱 및 제공하는 AWS의 글로벌 네트워크 인프라 서비스

- 자주 요청되는 데이터를 엣지 로케이션에 저장하여 반복적인 요청에 대한 응답 속도를 향상

- 임시로 데이터를 자주 요청되는 로케이션에 임시로 둠 -> 원본 서버까지 요청이 가지 않도록 하여 네트워크 비용 절감

 

- POP이란? 네트워크 서비스 제공자가 인터넷에 연결할 수 있도록 배치한 물리적 위치를 의미함

-> 사용자와 가까운 네트워크 접점 역할을 하며, 데이터 전송 속도를 최적화함

-> 엣지 로케이션과 비슷한 개념이지만 더 광범위한 의미를 가짐

 

AWS 서비스 관리

- AWS 관리 콘솔(Management Console)

- AWS 명령줄 인터페이스(AWS CLI)

- AWS 소프트웨어 개발 키트(AWS SDK)

 

AWS 공동 책임 모델

 

AWS Identity and Access Management(IAM)

- A가 있다. 그는 개발자다 그럼 개발자의 권한만 줘야 됨

- IAM: 주체, 액세스 관리, 대상

- 전 세계에서 사용 가능

- AWS 서비스와 통합됨

- AWS 계정에 대한 공유 액세스

- Multi-Factor Authentication(MFA): 두 개 이상의 인증 요소를 요구하는 보안 방식(아이디+ 비번 +??)

- 자격 증명 연동

- 무료로 사용

 

AWS 루트 사용자

- AWS 계정을 생성할 때 자동으로 생성되는 최고 관리자 권한을 가진 사용자

 

IAM 사용자

- 멀티 팩터 인증 (MFA) 요구 왜냐하면 님 계정 털려서 님 계정으로 채굴할 수도 있음 다음날 아침 비용이 2억이 될 수도 있음

 

IAM 정책

- json형태로 구성됨

- AWS 서비스 및 리소스에 대한 권한을 부여하거나 거부하는 문서


IAM 그룹

- 그룹: 그룹에 할당된 정책을 상속하는 IAM사용자 모음

- 그룹 내에 그룹은 불가능/ 그룹 내에 사용자만 가능

- 역할: 다른 AWS 리소스나 서비스로 임시로 액세스 하기 위해 특정 사용자나 서비스가 수임할 수 있는 자격 증명

- 내가 개발자인데 가끔 데이터분석도 해 -> 디폴트 개발자 자격 -> 거기에 + 데이터분석 자격 -> 단, 데이터 분석 업무를 할 때는 개발자 업무를 못 봄. 반대도 마찬가지

- AWS 액세스 인증이 아니라 역할을 주면 임시로 자격을 받을 수 있음

 

AWS 컴퓨팅

AWS의 컴퓨팅 서비스 

- AWS는 컴퓨팅 서비스를 통해 물리적 인프라를 관리함

 

인스턴스

- 물리적으로 빵빵한 곳에 가상서버를 몇 개 올린다. 왜 그럴까? 운영체제를 따로 운영하고 싶어서 그럼, 정확하게는 애플리케이션을 따로 올리고 싶어서 그럼 이것을 인스턴스라고 한다.

- 왜 가상 서버가 아니라 인스턴스라고 할까? 

그 이유는 서버는 서비스를 제공하는 것이라 생각하기 때문에 항상 잘 운영되어야 됨

근데 인스턴스는 필요할 때 사용하고 안 쓸 때는 바로 지워버림 이런 것처럼 간단하고 쉽고 간편한 느낌? 서버도 물론 가능함 근데 생각해 보세요 1억짜리 서버를 사고 사용하고 필요 없으면 버려 이런 개념이라고 생각하면 너무 아까움 그러니까 인스턴스라고 하고 쓰고 버리기를 쉽게 함(가상화된 자원이라고 생각해도 됨)

 

컨테이너

- 서버를 개발자가 관리할 필요가 없음

- 애플리케이션과 그 실행에 필요한 모든 라이브러리, 설정 파일, 의존성 등을 하나의 패키지로 묶은 가변화 환경

 

Amazon Elastic Compute Cloud

Amazon EC2

- 안전하고 크기 조정이 가능한 컴퓨팅 용량

- 몇 분 내에 프로비저닝 및 시작 가능

- 시간/초 단위로 용량 사용량에 해당하는 비용 지불

- EC2는 서비스/ 인스턴스는 리소스

 

EC2 인스턴스 유형

- 범용: M5 인스턴스, M은 범용을 의미함

- 컴퓨팅 최적화: C5 인스턴스, C은 컴퓨터를 의미함

- 메모리 최적화: R6g 인스턴스

- 가속 컴퓨팅: P4 인스턴스

- 스토리지 최적: D2 인스턴스

 

Amazon EC2 인스턴스 수명 주기

 

EC2 요금

- AWS 프로 티어

- Saving Plans (권장)

- 전용 호스트

- 온디맨드 인스턴스

- 예약 인스턴스

- 스팟 인스턴스( 가장 저렴함 )

 

가상 머신과 컨테이너 비교

쿠버네틱스

- 컨테이너화된 애플리케이션을 자동으로 배포, 관리, 확장, 운영하는 오픈 소스 플랫폼

- 구글에서 개발함

- 현재는 CNCF (Cloud Native Computing Foundation)에서 관리하고 있음

 

컨테이너 오케스트레이션 서비스

- Amazon Elastic Container Service(Amazon ECS)

-> 컨테이너식 애플리케이션 실행 및 크기 조정

-> API 호출을 사용하여 Docker지원 애플리케이션 제어

 

- Amazon Elastic Kubernates Service(Amazon EKS)

->  Kubernates 애플리케이션 실행 및 크기 조정

-> 패치, 노드 프로비저닝, 업데이트 자동화

-> 컨테이너 환경에 오케스트레이션 서비스다

 

서버리스 컴퓨팅

- 서버를 프로비저닝 또는 관리할 필요가 없음

- 언제나 네가 필요할 때 사용할 수 있게 해 줄게: 고가용성

- 사용량에 따른 크기 조정

- 사용한 리소스만큼 비용만 지불

- 가용성 및 내결함성 기본 제공

-> 내결함성: 부분적인 실패를 겪더라도 전체 시스템이 멈추지 않고 계속 작동하는 것

-> 고가용성: 짧은 시간 내에 중단 없이 서비스를 제공할 수 있는 능력임/ 서비스 중단 시간을 최소화하고, 시스템이 계속해서 실행될  수 있도록 설계

 

AWS Lambda

 

- AWS Lambda는 서버를 프로비저닝 하거나 관리하지 않고도 코드를 실행할 수 있는 컴퓨팅 서비스임

- 서버 없이 코드만 실행할 수 있는 서비스임

- 즉, 서버를 직접 관리하지 않고도 이벤트가 발생하면 자동으로 코드가 실행됨

AWS 네트워크

(OSI 7 layer 설명 면접 단골)

 

Amazon Virtual Private Cloud(Amazon VPC)

- AWS에서 사용자가 직접 설정하는 가상 네트워크

- 클라우드 내에서 내가 원하는 방식으로 네트워크를 구성할 수 있음

- 내부망(프라이빗 네트워크)처럼 보안이 강화된 네트워크 환경 제공

- 서브넷 vpc 내에서 더 작은 네트워크 그룹(퍼블릭/ 프라이빗 서브넷)

 

AWS Direct Connect

- AWS와 온프레미스(회사 내부 자체 데이터센터)를 전용 회선으로 직접 연결하는 서비스

- 인터넷을 거치지 않고 전용 네트워크를 사용하므로 빠르고 안정적

- 데이터 전송 비용 절감 가능/ 보안 강화/ 하이브리드 클라우드 지원

 

라우팅 테이블

- 퍼블릭 서브넷은 인터넷 게이트웨이에 던지고

- 프라이빗 서브넷은 NAT 게이트웨이에 던짐

 

Network ACL = NACL ( 네트워크 액세스 제어 목록 )

- NACL( Network ACL )이란?

- AWS VPC에서 서브넷 단위로 적용되는 방화벽 역할을 하는 보안 기능

- AWS VPC에서 서브넷 단위로 트래픽을 제어하는 보안 규칙

- VPC 안의 서브넷들이 주고받는 네트워크 트래픽을 허용 또는 차단

(다 같은 말)

- 방어벽 역할을 하며, 보안 그룹과 함께 사용

- 위의 표를 설명하자면

규칙 번호 100 모든 IP ALLOW

나머지 DENY

- 보안 그룹이랑 같이 사용하면 보안 up

 

 

보안 그룹

- 선택적이냐 필수적인가? 보안그룹은 필수적

- state less(NACL): 이전 상태를 저장하지 않음

- state full(보안 그룹): 이전 상태를 유지 

 

모든 계층의 보안

- 보안 모범 사례

-> 여러 가용 영역 사용

-> 네트워크 ACL 및 보안 그룹 사용

-> IAM 정책을 사용하여 액세스 제어

-> 흐름 로그를 사용하여 Amazon VPC 트래픽 캡처

 

모니터링, 로드밸런싱 및 크기 조정

데이터베이스

AWS 스토리지

스토리지 유형

- 블록 스토리지(EBS)

-> 데이터를 고정 크기의 블록 단위로 나누어 저장

-> 고유한 주소를 가지고 있어 빠르게 액세스 가능

-> 물리적인 서버의 스토리지를 쓰는 게 인스턴스 스토어임(휘발성임)

-> 스냅샷 지원

-> 일부 데이터만 수정 가능

-> 아이옵스: in put/ out put을 초당 몇 번 할 수 있겠냐? 초당 아이옵스 횟수가 많다는 게 엄청 빠르다는 것

->  처리량: 얼마나 많은 양을 처리할 수 있느냐에 포커스를 둠 

-> 속도 빠름 (SSD, HDD 선택 가능)

 

-> 솔리드 스테이트 드라이브(SSD)

-- 간소한 또는 미드레인지 랜덤 워크로드

-- 고성능 스토리지 영역 네트워크(SAN) 교체

 

-> 하드 디스크 드라이브(HDD)

-- 매우 단순한 워크로드

-- 처리량이 높은 스트리밍 스타일 워크로드

-- 부트 디스크로는 사용 불가

 

파일 스토리지 (EFS)

-> 파일 단위로 저장하며, 폴더 구조로 관리

-> 네트워크를 통해 여러 서버에서 공유 가능

-> EFS = 공유

-> FSx: 완전 관리형 파일 스토리지 서비스/ 고성능 및 저지연을 제공하는 서비스

 

- 객체 스토리지(S3)(심플, 스토리지, 서비스 = s가 3)

-> 객체를 주로 저장하는 스토리지로 디렉터리 구조는 없음

-> 대용량 데이터 저장 및 클라우드 네이티브 환경에 적합 

-> 웹브라우저를 이용해서 접근할 수 있음

-> 스토리지 클래스

S3 Standard: 활성 데이터

S3 Standard-Infrequent Access: 자주 액세스하지 않은 데이터

S3 One Zone-Infrequent Access: 자주 액세스하지 않은 데이터  

S3 Glacier: 아카이브 된 데이터/ 자주 사용하지 않은 데이터

S3 Intelligent-Tiering(유료): 액세스 패턴에 따라 객체를 계층 간에 자동으로 이동함

보통은 하나의 데이터가 아니라 복제된 상태로 여기저기에 있음 like 가용영역이라고 볼 수 있음

 

S3버전 관리

- 객체를 업로드할 때마다 객체의 새 버전 생성

- 버킷 수준에서 사용하도록 설정됨

- 기본적으로는 사용 중지된 상태임

- 오버라이트와 실수로 완전히 삭제된 정보들을 다시 살릴 수 있도록 구현한 S3버전 관리

-> 같은 데이터를 여러 곳에 두어 비용이 많이 들어서 기본적으로는 안된 상태임 원하면 설정해야 됨

데이터베이스

 

 AWS에서 제공되는 데이터베이스의 이점

- 목적별

- 규모에 따른 성능

- 완전관리형

- 보안 및 고가용 

 

관계형 데이터베이스

- 옛날에는 데이터 저장하는 공간이 무척 적었음

- 중복성을 제거하고, 데이터를 효율적으로 저장하자

- 이점: SQL, 중복성 감소, 널리 알려진 형식, ACID 원칙

엄청 복잡한 데이터베이스 서비스를 완화하기 위해 나온 게 관리형 데이터베이스 서비스

 

Amazon RDS

- AWS 클라우드에서 관계형 데이터베이스 운영 및 크기 조정

- 시간이 많이 걸리는 관리 작업 자동화

- 안전하게 데이터 저장 및 전송

 

DB 인스턴스 스토리지

- 범용 SSD(잘 모르겠으면 범용 사용): 볼륨은 광범위한 위크로드에 사용할 수 있는 비용 효율적인 스토리지임

- 프로비저닝 된 IOPS: 스토리지는 I/O지연 시간이 짧고 처리량이 낮아야 하는 I/O집약적 데이터베이스 워크로드에 사용됨

- 마그네틱: 오랫동안 안 쓸 데이터를 두는 곳

 

데이터베이스 보안

- Amazon RDS DB 인스턴스는  Amazon Virtual Private Cloud(Amazon VPC) 내의 프라이빗 서브넷에 생성함. 

- 웹 애플리케이션, 콘텐츠 관리 시스템

 

데이터베이스 백업

- 데이터 손실이나 장애 발생 시 복구할 수 있도록 DB의 데이터를 저장하는 과정임

- Amazon RDS (Relational Database Service)

-> 자동 백업 설정 가능

-> 수동 스냅샷도 지원

-> 백업에서 새로운 DB 인스턴스로 복구 가능

- Amazon S3

- 데이터베이스 덤프 파일을 S3에 저장하여 장기 보관

- 이중화를 위해 다른 가용 영역(AZ)에 데이터베이스의 보조 사본을 생성함

Amazon DynamoDB의 이점

- 완전관리형 키 값 데이터베이스임

- 확장성이 뛰어남

- 저장 중 암호화 기능이 제공됨

모니터링, 로드 밸런싱 및 크기 조정

모니터링의 이점

- 운영 문제에 미리 대응 가능

- 성능과 신뢰성 개선

- 보안 위협 및 이벤트 인지

- 데이터에 기반한 의사 결정

- 비용 효율적인 설루션 생성

 

Amazon CloudWatch

- 모니터링 및 관찰 웹 서비스

- AWS 및 온프레미스 인프라와 리소스를 실시간 모니터링

- 단일 위치에서 모든 지표에 액세스

- 경보 대응 자동화

 

Elastic Load Balancing 로드 밸런싱

- SPOF: 시스템에서 한 부분이 장애가 나면 전체 서비스가 중단되는 구조

 

ELB의 이점

- 고가용성 및 탄력성

- 보안

- 가능 적용 범위

- 강력한 모니터링을 통해 상태 파악

- 간편한 통합 및 전 세계 어디서나 사용 가능

 

ELB의 유형

- Application Load Balancer: 가장 많이 사용함

- Network Load Balancer : 4 계층에서 많이 사용함

- Gateway Load Balancer: 회사의 맞춤형으로 사용 가능

- Classic Load Balancer: 비추

 

크기 조정

- 수직적 크기 조정

- 수평적 크기 조정이 유리함

 

Amazon EC2 Auto Scaling

- EC2 인스턴스를 자동으로 추가 및 제어하여 애플리케이션 가용성은 높이고 인프라 비용은 줄일 수 있음

- 성능을 유지하면서도 비용을 최적화하는 데 도움을 줌

- 사람들이 몰릴 땐 서버를 up (Scale Out)

- 사람이 적어지면 서버 down (Scale In) (비용을 아끼는 기능)

- 스케일 업/다운(Scale Up/Down): 기존 서버의 성능을 업그레이드하거나 다운그레이드함

728x90

'AWS' 카테고리의 다른 글

AWS 클라우드 기초 개념  (2) 2024.12.14