본문 바로가기

AWS Architecture Basic/기본 개념 및 주요 서비스

4. AWS 핵심 서비스

1. Amazon VPC

 

1.1 개요

 

Amazon Virtual Private Cloud (VPC)를 사용하면 AWS 계정 전용으로 AWS 클라우드에 호스팅 되는 가상 네트워크를 프로비저닝 할 수 있음

 

VPC는 다른 가상 네트워크로부터 논리적으로 격리되어 있음.

Amazon EC2 인스턴스와 같은 많은 AWS 리소스가 VPC에서 시작

VPC의 주요 기능은

 ㅁ  IP범위

 ㅁ  라우팅

 ㅁ  네트워크 게이트 웨이

 ㅁ  보안 설정

 

1.2. VPC 위치

 

-  VPC는 하나의 리전 내에 유지, VPC 내에 있는 리소스는 해당 리전 외부에 존재할 수 없음

같은 리전 내 다른 가용 영역에 있는 리소스는 같은 VPC에 존재할 수 있음.

 

1.3. VPC는 두개 이상의 가용 영역에 있는 리소스를 포함 할 수 있음

 

-  같은 계정 및 리전과 여러 리전 또는 계정에 여러 개의 VPC를 둘 수 있음

 

2. Amazon EC2

 

2.1 Amazon EC2 개요

 

Amazon Elastic Compute cloud (EC2)는 마우스 클릭 몇 번 또는 코드 몇 줄로 시작하고 관리할 수 있는 가상 컴퓨팅 환경(인스턴스)를 제공

 

-  서버 운영 체제 대부분 지원: Windows, Red Hat, SUSE, Ubuntu, Amazon Linux 등 서버 운영 체제 대부분 지원

-  자체 서버 이미지를 생성, 저장 및 재사용 (Amazon Machine Image, AMI)

한번에 하나의 인스턴스 또는 여러 개의 인스턴스를 시작

-  필요 할 때 인스턴스를 추가하고, 필요 없을 때 종료

-  CPU, 메모리, 스토리지, 네트워킹, 그래픽 및 범용 유형이 제공

-  보안 그룹을 사용하여 인스턴스에 송수신되는 트래픽 제어

 

2.2 적합한 Amazon EC2 인스턴스 선택

 

AWS에서는 Intel Xeon 프로세서를 활용하여 제공 (https://aws.amazon.com/ko/intel/ )

인스턴스 선택 시 Core, Mem, 스토리지 크기 및 유형, 네트워크 성능, CPU 기술 고려

 

2.2.1. C5 인스턴스

 

I.  기본 구성

 

컴퓨팅 집약적 워크로드에 최적화된 인스턴스

Intel AVX-512(Advanced Vector Extension 512) 지침 세트가 포함된 3.0Ghz Intel Xeon Platinum Process

새로운 대형 인스턴스 크기, c5.18xlarge, 72 vCPU 144Gib 메모리 제공

- EBS 최적화가 기본

 

II. 사용 사례

 

고성능 웹 서버

- 과학적 모델링

배치 처리

분산 분석

고성능 컴퓨팅(HPC)

기계 학습/딥 러닝 추론

광고 게재

확장성이 뛰어난 멀티 플레이어 게임

동영상 인코딩

 

2.2.2. H1 인스턴스

 

I. 기본 구성

스토리지 최적화 인스턴스

낮은 비용, 높은 디스크 처리량 및 대량 데이터 세트에 대한 높은 순차 디스크 I/O 액세스를 필요로 하는 애플리케이션용으로 설계

 

II.   사용 사례

MapReduce 기반 워크로드, HDFS MapR-FS와 같은 분산 파일 시스템, 네트워크 파일 시스템, Apache Kafka와 같은 로그 또는 데이터 처리 애플리케이션, 빅데이터 워크로드 클러스터

 

2.2.3. F1 인스턴스

 

https://aws.amazon.com/ko/blogs/aws/developer-preview-ec2-instances-f1-with-programmable-hardware/

 

Developer Preview – EC2 Instances (F1) with Programmable Hardware | Amazon Web Services

Have you ever had to decide between a general purpose tool and one built for a very specific purpose? The general purpose tools can be used to solve many different problems, but may not be the best choice for any particular one. Purpose-built tools excel a

aws.amazon.com

클릭 몇 번으로 인스턴스에서 사용자 정의 FPGA(Field-Programmable Gate Arrant) 하드웨어에 직접 액세스

사용자 정의 하드웨어 가속을 신속하게 배포

예측 가능한 성능

FPGA의 경제성 변화

기존 FPGA 알고리즘 사용

 

2.2.4.   R4 인스턴스

 

메모리 집약적 애플리케이션 최적화

R3대비 RAM GiB당 더 나은 가격 제공

 

2.2.5. T2 인스턴스

 

기준 수준의 CPU 성능에 기준 이상의 버스트 기능 제공

전체 CPU 성능을 자주 또는 일관적으로 사용하지 않지만 가끔씩 버스트해야 하는 워크로드에 적합

t2.xlarge(16GiB 메모리) t2.2xlarge(32GiB 메모리)를 추가

 

2.2.6. I3 인스턴스

 

비휘발성 메모리 익스프레스(NVMe) SSD 지원 인스턴스

짧은 지연 시간, 매운 높은 무작위 I/O 성능 및 높은 순차 읽기 처리량에 최적화된 스토리지

4KB 블록 크기로 최대 330만개의 무작위 IOPS 및 최대 16GB/S의 디스크 처리량 제공

저렴한 비용의 고성능 IOPS

트랜잭션 프로세싱 시스템, 관계형 및 NoSQL 데이터베이스, 데이터 웨어하우징 애플리케이션, 분석 워크로드 및 Elasticsearch 워크로드와 같은 워크로드에 안성 맞춤

I3 인스턴스는 최대 64vCPU, 488GiB 메모리 및 15.2TB 스토리지와 함께 64k지 크기로 사용 가능

ERP 애플리케이션에 가장 적합함

 

2.2.7. 인텔 프로세서 기술

 

- 인텔 AVX(AVX, AVX2 AVX-512) – 고도로 병렬적인 HPC 워크로드

 ㅁ  생명 과학 공학, 데이터 마이닝, 재무 분석 또는 기타 기술 컴퓨팅 애플리케이션과 같은 고도로 병렬적인 HPC 워크로드에 안성 맞춤

 ㅁ  AVX는 이미지, 동영상 또는 오디오 처리를 개선

 

- 인텔 AES-NI – 데이터 암호화/복호화 가속

 ㅁ  암호화 명령어로 보안을 강화하고 암호화/복호화 데이터와 관련된 성능 저하를 줄여줌

 

인텔 터보 부스트 기술 워크로드 급증에 따라 조정되는 성능을 통해 필요할 때 더 큰 컴퓨팅 파워 확보

  ㅁ  Thermal headroom이 있을 대 자동 Over-Clocking

 

인텔 TSX(트랜잭션 동기화) 확장- 처리량 가속화를 위해 독립적인 트랜잭션 실행을 활성화      

인텔 TSX는 작은 단위 잠금(전체 해시 테이블에 대한 단일 잠금)을 사용하여 개발된 멀티스레드 애플리케이션에 대한 성능 이점을 제공

 

큰 단위 잠금은 사용하고 이해하기 더 쉽고 디버깅하기 더 쉬움

인텔 TSX는 프로그래머가 트랜잭션 동기화를 위해 코드 리전을 지정할 수 있도록 허용하는 명령어 세트 확장을 제공

 

프로그래머는 이 확장을 사용해 실제로는 큰 단위 잠금을 사용해 프로그래밍하면서 작은 단위 잠금의 성능을 달성할 수 있음.

P 상태 및 C 상태 제어 애플리케이션 성능을 높이도록 각 코어 성능과 절전 상태를 개별적으로 미세 조정할 수 있는 기능 제공

 

2.3 Amazon EC2 요금

 

 

2.3.1. 초 단위 청구

 

요금은 종량 과금제 (최소 60초에서 1초씩 증가할 때마다 요금 청구)

온디맨드, 예약 및 스팟 형태

불규칙한 기간 동안 실행 중인 인스턴스 기준

시간에 따른 사용량을 극대화

모든 리전 및 가용 영역 가능

Amazon Linux Ubuntu에 대해서 지원

 

2.3.2. 요금 옵션

구분

온디맨드 인스턴스

스팟 인스턴스

예약 인스턴스

전용 호스트

조건

종량 과금제

미사용 용량에 입찰, 입찰가보다 가격이 높은 경우 인스턴스가 중단 될 수 있음

1년 또는 3

온디맨드(시간당)로 구입 가능

온디맨드 가격에서 최대 70% 할인된 예약으로 구입 가능

이점

낮은 비용과 유연성

대규모 동적 워크로드

필요할 때 컴퓨팅 파워를 이용할 수 있도록 보장하는 예측 가능성

라이선싱 비용 절감

규정 준수 및 규제 요건 충족

비용

사용한 만큼만 지불

초 단위 청구

스팟 요금은 수요/공급에 다라 결정됨

초 단위 청구

선결제 금액이 없거나 낮음. 전체 비용이 절감됨

초 단위 청구

계정에서 호스트가 활성 상태인 매시간 온디맨드 요금 지불

사용 사례

변동이 심하거나 예측하기 힘든 단기 워크로드

애플리케이션 개발 또는 테스트

시작 및 종료 시간이 자유로운 애플리케이션

컴퓨팅 가격이 매우 저렴 해야만 수익이 나는 애플리케이션

대량의 용량 추가로 긴급히 컴퓨팅 파워가 필요한 사용자

안정적 상태 또는 예측 가능한 사용량 워크로드

재해 복구 등 예약된 용량이 필요한 애플리케이션

총 컴퓨팅 비용을 절감하기 위해 선 결제 금액을 지불할 수 있는 사용자

기존 보유 라이선스 사용 (BYOL)

규정 준수 및 규제 제한

사용량 및 라이선싱 추적

인스턴스 배치 제어

 

ㅁ 스팟 인스턴스 최대 절전

 

중단 발생 시 Amazon EBS 지원 인스턴스를 최대 절전 상태로 전환

용량을 사용할 수 있게 되면 인스턴스를 재개

암호화된 Amazon EBS 볼륨을 루트 볼륨으로 사용

최대 절전 에이전트가 필요

요구 사항에 대한 설명서 확인

 

2.4. Amazon EC2 모범 사례

 

2.4.1. Amazon EC2 보안

 

I. 자격 증명을 통해 사용자에 대한 최소화된 권한 부여

 

보안을 관리할 때, 세분화된 액세스 제어를 사용하여 잠재적으로 위험성 있는 활동을 줄이는 것이 중요

Amazon EC2 인스턴스에 대한 액세스 제공 시 AWS IAM을 사용하여 액세스가 필요한 환경에만 사용자가 액세스하도록 해야 함.

 

II. 보안 그룹에 최소한의 권한 규칙 구현

 

한 인스턴스의 사용자가 다른 인스턴스로 이동 할 수 있는 권한을 제한하는 것이 중요함

보안 그룹 내에 인스턴스의 트래픽이 어디에서 송수신 될 수 있는지 정확히 저장함으로써 보안 그룹을 사용해 이러한 행동을 방지

 

III. 인스턴스 업데이트

 

- Linux 인스턴스에 SSH 사용, Windows 인스턴스에 RDP 사용

모든 업데이트 또는 특정 업데이트 설치

업데이트가 완료되면 재부팅

새 인스턴스를 시작할 때 재사용하도록 업데이트되고 보호된 인스턴스 이미지 저장

 

2.5. Amazon EC2 스토리지

 

두 스토리지 옵션의 차이를 이해하고 신중하게 선택하는 것이 중요함

 

2.6.   Amazon EC2: 리소스 관리

https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/ec2-instance-metadata.html

 

인스턴스 메타데이터 및 사용자 데이터 - Amazon Elastic Compute Cloud

사용자는 인스턴스 자체 내에서 인스턴스 메타데이터 및 사용자 데이터에만 액세스할 수 있지만, 데이터는 인증 또는 암호화 방법으로 보호되지 않습니다. 인스턴스에 직접 액세스할 수 있는

docs.aws.amazon.com

 

2.6.1. 리소스 관리 기본 개념

 

인스턴스 메타 데이터는 실행 중인 인스턴스를 구현 또는 관리하는 데 사용할 수 있는 인스턴스 관련 데이터

 

2.6.2 Amazon EC2 VPC 한도

2.7. Amazon EC2 백업 및 복구

모범 사례”

-  인스턴스를 주기적으로 백업

-  앱의 중요 구성 요소는 여러 AZ에 걸쳐 배포

-  인스턴스를 다시 시작할 때 IP 주소를 동적으로 지정하도록 앱을 설계

-  이벤트를 모니터링하고 이에 대응

-  장애 조치를 처리할 수 있도록 준비

-  인스턴스와 EBS 볼륨 복구 프로세스를 주기적으로 테스트

 

 

3. 스토리지

 

3.1. Amazon Simple Storage Service (S3)

 

3.1.1. Amazon S3 검토

 

원활하게 확장되도록 설계된 관리형 클라우드 스토리지 솔루션으로 99.999999999%의 내구성 제공

Amazon S3는 객체 수준 스토리지 제공

파일 일부를 변경하려면, 파일을 변경한 다음 변경된 파일 전체를 다시 업로드 해야 함

원하는 만큼 많은 수의 객체를 저장할 수 있음

데이터는 중복으로 저장됨

여러 시설과 각 시설의 여러 디바이스에 중복 저장

Amazon S3 AWS management Console, AWS SDK 또는 타사 솔루션을 통해 액세스 할 수 있음

객체 업로드와 저장 데이터는 자동으로 암호화 될 수 있음

스토리지 액세스 패턴을 분석하고 올바른 데이터를 올바른 스토리지 클래스로 전환하기 위한 스토리지 클래스 분석(S3analytics)을 제공함

 

3.1.2. Amazon S3 활용 방식

 

Amazon S3는 데이터를 버킷 내에 저장

버킷이란 기본적으로 파일 집합에 대한 접두사

모든 Amazon S3에서 고유한 이름을 가져야 함

버킷은 객체에 대한 논리적 컨테이너

계정에 하나 이상의 버킷을 만들 수 있으며 각 버킷에 대한 액세스를 제어할 수 있음

, 버킷에서 객체를 생성, 삭제 및 나열 할 수 있으며 버킷 및 버킷의 객체에 대한 액세스 로그를 확인하고 Amazon S3가 버킷 및 버킷의 콘텐츠를 저장할 지리적 리전을 선택할 수 있음

 

3.1.3.  Amazon S3 사용 비용

 

I. 다음에 대해 사용한 만큼만 지불

월별 GB

다른 리전으로 송신

PUT, COPY, POST, LIST GET 요청

 

II. 다음에 대해서는 지불하지 않음

Amazon S3로 수신

Amazon S3에서 같은 리전의 Amazon CloudFront 또는 Amazon EC2로 송신

 

3.1.4. Amazon S3 옵션

 

I. 일반 목적: Amazon S3 스탠다드

가용성 요구 사항이 더 높은 경우: 교차 리전 복제 사용

 

II. 액세스 빈도가 낮은 데이터: Amazon S3 스탠다드 – Infrequent Access

저장된 GB당 비용 저렴

PUT, COPY, POST 또는 GET 요청당 비용이 많이 발생

최소 30일 스토리지

 

3.2.   Amazon Elastic Block Store (EBS)

 

3.2.1  AWS 스토리지 옵션: 블록 및 객체 스토리지 비교

 

- 블록 스토리지 솔루션은 일반적으로 객체 수준 스토리지 보다 속도가 빠르고, 대역폭은 더 낮지만, 비용이 더 높음.

 

3.2.2. Amazon Elastic Block Store (EBS) 생성

 

Amazon EBS는 블록 수준 스토리지 제공

볼륨은 가용 영역 내에서 자동으로 복제

볼륨은 Amazon S3로 자동 백업 될 수 있음

 

ㅁ  용도:

EC2 인스턴스 용 부팅 볼륨 및 스토리지

파일 시스템 내 데이터 스토리지

데이터 베이스 호스트

엔터프라이즈 애플리케이션

 

3.2.3. Amazon EBS 볼륨 유형

구분

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

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

범용

프로비저닝된 IOPS

처리량에 최적화

Cold

최대 볼륨 크기

16TiB

16TiB

16TiB

16TiB

볼륨당 최대 IOPS

10,000

20,000

500

250

최대 처리량/볼륨

160MiB/S

320MiB/S

500MiB/S

250MiB/S

사용 사례

대부분의 워크로드

시스템 부트 볼륨

가상 데스크톱

지연 시간이 짧은 대화형 앱

개발 및 테스트 환경

I/O 집약적 워크로드

관계형 DB

NoSQL DB

낮은 가격으로 일관되고 빠른 처리량을 요구하는 스트리밍 워크로드

빅데이터

데이터 웨어하우스

로그 처리

부팅 볼륨이 될 수 없음

자주 액세스 하지 않는 대량의 데이터 볼륨을 처리량 중심으로 저장

스토리지 비용이 최대한 낮아야 하는 시나리오

부팅 볼륨이 될 수 없음

https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/EBSVolumeTypes.html

 

Amazon EBS 볼륨 유형 - Amazon Elastic Compute Cloud

2012년 이전에 만들어진 일부 AWS 계정은 프로비저닝된 IOPS SSD(io1) 볼륨을 지원하지 않는 us-west-1 또는 ap-northeast-1의 가용 영역에 대한 액세스 권한이 있을 수도 있습니다. 이런 리전 중 하나에 io1

docs.aws.amazon.com

 

3.3.   Amazon EFS

 

3.3.1. Amazon EFS 개요

 

AWS 클라우드의 파일 스토리지

공유 스토리지

페타바이트 규모 파일 시스템

탄력적 용량

네트워크 파일 시스템 버전 4.0 4.1(NFSv4) 프로토콜 지원

Amazon EC2용 모든 Linux 기반 AMI와 호환됨

 

3.3.2. Amazon EFS 아키텍처

 

가용 영역(AZ)별 탑재 대상 네트워크 인터페이스 생성됨

동일한 가용 영역내 탑재 대상에서 파일 시스템을 액세스 함

가용 영역 C의 경우 2개의 서브넷이 있지만 탑재 대상은 하나의 서브넷에만 생성됨

 

3.3.3. Amazon EFS 파일 시스템

 

ㅁ  탑재 대상

서브넷

보안 그룹

파일 시스템당 하나 이상

VPC 서브넷에서 만들기

가용 영역당 하나

동일한 VPC에 있어야 함

ㅁ  태그

ㅁ 키-값 페어

 

3.3.4. Amazon EFS 구현

 

①.    Amazon EC2 리소스를 만들고 EC2 인스턴스를 실행

②.    Amazon EFS 파일 시스템 구성

③.    알맞은 서브넷에 탑재 대상을 생성

④.    Amazon EC2 인스턴스를 탑재 대상에 연결

⑤.    리소스를 정리하고 AWS 계정 보호

 

3.4. Amazon Glacier

 

3.4.1. Amazon Glacier 개요

Amazon Glacier는 보안, 내구성 및 매우 저렴한 비용을 제공하도록 설계된 데이터 아카이브 서비스

99.999999999%의 내구성 제공하도록 설계

전송 데이터 및 저장 데이터에 SSL/TLS 암호화 지원

저장소 잠금 기능은 잠금 가능한 정책을 통해 규정 준수 강화

매우 저렴한 비용의 설계는 장기 아카이브에 적합

    ㅇ  몇 분에서부터 몇 시간 가지 아카이브를 액세스할 세가지 옵션(고속 검색, 표준 및 대량)을 제공

    ㅇ  고속 검색 1~5, 표준 검색, 3~5시간, 대량 검색 5~12시간 내 완료

 

3.4.2. 수명 주기 정책

 

Amazon S3 수명 주기 정책을 사용하면 생성 후 기간을 기준으로 객체를 삭제 또는 제거 가능

 

객체별로 수명 주기 규칙을 설정할 수 있을 뿐 아니라 버킷별로 수명 주기 규칙을 설정할 수도 있음

https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/dev/object-lifecycle-mgmt.html

 

객체 수명 주기 관리 - Amazon Simple Storage Service

객체 수명 주기 관리 수명 주기 동안 객체가 비용 효율적으로 저장되도록 관리하려면 해당 Amazon S3 수명 주기를 구성합니다. S3 수명 주기 구성은 Amazon S3이 객체 그룹에 적용하는 작업을 정의하

docs.aws.amazon.com

 

4. Amazon 데이터 베이스

4.1 Amazon Relational Database Service

 

4.1.1. Amazon Relational Database Service (RDS) 개요

 

관리형 서비스

- AWS Management Console, AWS RDS 명령줄 인터페이스 또는 간단한 API 호출을 통해 액세스 가능

- 확장 가능(컴퓨팅 스토리지)

- 자동화된 중복성 및 백업 지원

- 지원되는 데이터베이스 엔진

  ㅁ  Amazon Aurora, PostgreSQL, MySQL, MariaDB, ORACLE, Microsoft SQL Server

 

4.1.2. Amazon RDS 사용 시기

 

I.  앱에서 다음이 필요할 때 Amazon RDS를 사용

복잡한 트랜잭션 또는 복잡한 쿼리

보통 및 빠른 쿼리/쓰기 속도 최대
30,000 IOPS(15,000
읽기 + 15,000 쓰기)

단일 작업자 노드/샤드를 사용

높은 내구성

 

II.   앱에서 다음이 필요할 때는 Amazon RDS를 사용하지 말 것

대규모 읽기/쓰기 속도(: 150,000 쓰기/)

- 큰 데이터 크기 도는 처리량 수요로 인한 샤딩

NoSQL 데이터베이스가 처리할 수 있는 간단한 Get/Put 요청 및 쿼리

RDBMS 사용자 정의

 

4.2. Amazon DynamoDB

4.2.1. Amazon DynamoDB 개요

 

Amazon Dynamo DB는 완전 관리형 NoSQL 데이터베이스 서비스

데이터에 간단한 GET/PUT 요청을 실행하는 경우 관계형 데이터베이스 대신 DynamoDB 사용을 고려

 

규모와 관계없이 일관되게 10밀리초 미만의 지연 시간 제공

테이블 크기 및 처리량 제한이 없음

글로벌 테이블은 리전 간 데이터 복제와 업데이트 충돌 해결의 어려움을 없앱니다.

온디맨드 백업을 사용해 테이블의 전체 백업을 생성할 수 있음.

 

4.2.2. 기본 사항

 

SSD에서만 실행

문서 및 키 값 스토어 모델을 지원

모바일, , 게임 광고 기술 및 IoT 애플리케이션에 적합

AWS Management Console, AWS 명령줄 인터페이스 또는 간단한 API 호출을 통해 액세스 가능

 

4.2.3. 기본 처리량

사용자가 처리량 용량 오구 사항(읽기/쓰기)을 지정하면, DynamoDB가 필요한 리소스를 할당

읽기 용량 유닛

 

  ㅁ  최대 4KB 크기의 항목에 대해 초당 강력한 일관된 읽기 1

  ㅁ  최대 4KB 크기의 항목에 대해 초당 최종적 일관된 읽기 2

일관성 수준

보증

강력

선형화 가능성 읽기를 통해 항목의 최신 버전 반환이 보장됩니다.

제한된 부실

일관적인 접두사 최대한 k 접두사 또는 t 간격을 통해 쓰기 뒤 읽기 지연.

세션

일관적인 접두사 단조 읽기, 단조 쓰기, 쓰기 읽기, 읽기 뒤 쓰기.

일관적인 접두사

간격 없이 모든 업데이트의 일부 접두사의 업데이트 반환.

최종

순서 외 읽기.

쓰기 용량 유닛

 ㅁ  최대 1KB 크기의 항목에 대해 초당 쓰기 1

 

5. AWS IAM(Identity and Access Management)

 

5.1. AWS IAM 기본

 

5.1.1. AWS IAM 개요

 

AWS 리소스에 대한 사용자의 액세스 및 인증을 중앙에서 관리

추가 비용 없이 AWS 계정의 기능으로 제공

사용자, 그룹 및 역할을 생성하고, 정책을 이에 적용하여 AWS 리소스에 대한 액세스를 제어

어떤 리소스에 액세스할 수 있고 어떻게 액세스할 수 있는지 관리

맥락에 따라 필요한 자격 증명을 정의 (누가 어떤 서비스에 액세스하고 있으며 무슨 작업을 수행하고자 하는가)

 

5.1.2. 보안 자격 증명의 유형

구분

내용

이메일 주소

AWS 계정(루트)에 연결하는데 사용

IAM 사용자 이름 및 암호

AWS Management Console에 액세스 하는데 사용

액세스 키

API SDK와 같은 프로그래밍 방식의 요청과 CLI에 주로 사용

멀티 팩터 인증

보안의 추가 계층

루트 계정과 IAM 사용자에 대해 활성화

키 페어

Amazon EC2와 같은 특정 AWS 서비스에만 사용

 

5.1.3. Root 계정 액세스와 IAM 액세스 비교

 

권한은 어떤 리소스와 어떤 작업을 사용할 수 있는지 결정

기본 설정에서 모든 권한은 암시적으로 거부

명시적으로 거부된 사항은 절대 허용될 수 없음

최소한의 권한 원칙 적용

 

5.1.4. IAM에서 권한 평가하는 방법

 

정책은 JSON 형식으로 저장, 버전 관리 시스템과 함께 사용할 수 있음

각 사용자, 그룹 또는 역할에 대해 최소한의 액세스 권한을 정의하는 것이 좋음

 

5.2. IAM 정책

 

5.2.1. IAM 정책이란

 

\IAM 정책은 하나 이상의 권한으로 구성된 공식 문

정책을 IAM 엔터티 즉, 사용자, 그룹 또는 역할에 연결함

정책은 엔터티가 수행할 수 있거나 수행할 수 없는 작업에 대한 권한을 부여

정교한 액세스 제어가 가능

단일 정책이 여러 개의 엔터티에 연결될 수 있음

단일 엔터티에 여러 개의 정책이 연결 될 수 있음

모범 사례: 여러 IAM 사용자에게 같은 정책을 연결할 때, 사용자를 그룹에 넣은 후, 사용자가 아닌 그룹에 정책을 연결

 

5.2.2. IAM 정책 예시

이 정책은 사용자에게 다음에 대한 액세스 권한만을 부여

가.   이름이 테이블-이름으로 표시되는 DynamoDB 테이블

나.   이름이 버킷 이름과 버킷에 포함된 모든 객체로 표시는 AWS 계정의 기업 Amazon S3 버킷

 

5.3. IAM 구성 요소

 

5.3.1. IAM 사용자

사용자가 AWS에 생성한 엔터티

AWS와 상호 작용하는 방법을 제공

IAM 사용자에 대한 기본 보안 자격 증명은 없음

IAM 사용자는 사람이 아닐 수도 있음

 

5.3.2. IAM 그룹

IAM 사용자의 모음

전체 그룹에 대한 권한을 지정

기본 그룹은 없음

그룹은 중첩될 수 없음

한 사용자가 여러 그룹에 속할 수 있음

권한은 IAM 정책을 사용하여 정의함.

 

5.3.3. IAM 역할

 

AWS 리소스에 대한 액세스 권한을 위임하는 데 사용

 

  ㅁ  임시 액세스를 제공

  ㅁ 정적 AWS 자격 증명의 필요성을 제거

 

권한은

 

  ㅁ  IAM 정책을 사용하여 정의

  ㅁ  IAM 사용자 또는 그룹이 아니라 역할에 연결

 

사용 사례

 

  ㅁ  AWS 리소스에 AWS 서비스에 대한 액세스 제공

  ㅁ  외부 인증 사용자에게 액세스 제공

 

- 타사에게 액세스 제공

 

  ㅁ 타사에서 AWS 리소스를 관리하는 서비스 제공 시 IAM 사용하면 AWS 보안 자격 증명을 공유하지 않고도 타사에 AWS 리소스에 대한 액세스 권한 부여 가능

 

다음 리소스에 액세스하도록 역할을 전환

자신의 AWS 계정

다른 AWS 계정(교차 계정 액세스)

 

6. AWS 최초 사용 시

 

https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/getting-started_create-admin-group.html

 

첫 번째 IAM 관리자 및 그룹 생성 - AWS Identity and Access Management

첫 번째 IAM 관리자 및 그룹 생성 웹 사이트에서 Amazon 제품을 판매하고자 Product Advertising API에 대한 정보를 찾고 있기 때문에 이 페이지를 발견한 경우 Product Advertising API 5.0 설명서를 참조하십시

docs.aws.amazon.com

I. 가능한 빨리 루트 계정 사용을 중단 할 것

 

A. 루트 계정으로 자신을 위한 IAM 사용자 생성

B. IAM 그룹을 만들고 전체 관리자 권한을 부여하며 IAM 사용자를 그룹에 추가

C. IAM 사용자 자격 증명으로 로그인함

D. 루트 계정 자격 증명을 매우 안전한 장소에 저장, 루트 계정 액세스 키가 있는 경우 이를 비활성화한 후 제거

 

II. 액세스를 위한 멀티 팩터 인증 구성

 

https://aws.amazon.com/ko/iam/details/mfa/

 

IAM - Multi-factor Authentication

AWS Multi-Factor Authentication (MFA) is a simple best practice that adds an extra layer of protection on top of your user name and password. With MFA enabled, when a user signs in to an AWS Management Console, they will be prompted for their user name and

aws.amazon.com

A. 루트 계정과 모든 IAM 사용자에 대한 MFA가 필요

B. MFA를 사용하여 AWS 서비스 API에 대한 액세스를 제어할 수 있음

소프트웨어 MFA 옵션: AWS 가상 MFA, Google authenticator, Authenticator(Windows 폼 앱) 또는 SMS 알림

하드웨어 MFA 옵션: Gemalto에서 제공하는 전자 키 또는 디스플레이 카드

 

III. AWS CloudTrail 활성화

 

AWS CloudTrail은 계정의 리소스에 대한 모든 API 요청을 로깅함.

https://docs.aws.amazon.com/ko_kr/awscloudtrail/latest/userguide/cloudtrail-create-a-trail-using-the-console-first-time.html

 

추적 생성 - AWS CloudTrail

모든 리전에 대해 추적을 생성할 경우, 이 옵션을 선택하면 현재 AWS 계정에 있는 모든 함수와 추적 생성을 완료한 후 모든 리전에서 생성할 수 있는 모든 Lambda 함수에 대해 데이터 이벤트 로깅이

docs.aws.amazon.com

A. CloudTrail 콘솔을 통해 추적을 생성, 추적에 이름을 붙이고, 모든 리전에 적용 후 로그가 저장될 새로운 Amazon S3 버킷에 이름을 입력

B. 관리자와 같이 액세스가 필요한 사용자 외에는 CloudTrail에 사용하는 Amazon S3 버킷에 대한 액세스가 제한되도록 해야 함.

C. CloudTrail 지원 항목

보안 분석

    로그 파일을 로그 관리 및 분석 솔루션에 입력으로 사용하여 보안 분석을 수행하고 사용자 행동 패턴을 감지할 수 있음

AWS 리소스 변경 사항 추적

    Amazon EC2 인스턴스, VPC 보안 그룹, EBS 볼륨 등과 같은 AWS 리소스의 생성, 변경 및 삭제를 추적

 ㅁ  작업 관련 문제 해결

   사용자 환경의 리소스에 가장 최근에 이루어진 변경 사항을 빠르게 식별할 수 있음

 ㅁ  규정 준수 지원

    AWS 리소스가 규칙 및 규제 표준에 따라 관리되고 있음을 입증하는데 필요한 정보에 액세스할 수 있음

 ㅁ  AWS Config와 연동하여 변경에 대한 책임을 식별

    AWS 리소스 인벤토리, 구성 내역 및 구성 변경 알림을 제공

    AWS 리소스와 관련된 모든 구성 변경에 대한 세부 정보를 계속 제공

    CloudTrail과 결합하여 변경을 일으킨 원인에 대한 완전한 가시성 확보

    규정 준수 감사, 보안 분석, 리소스 변경 추적 및 문제 해결을 가능하게 함

 

IV. AWS 비용 및 사용 보고서와 같은 결제 보고서 활성화

 

https://docs.aws.amazon.com/ko_kr/awsaccountbilling/latest/aboutv2/billing-reports-costusage.html

 

AWS 비용 및 사용 보고서란 무엇입니까? - 비용 및 사용 보고서

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

결제 보고서는 AWS 리소스 사용량에 대한 정보와 리소스 사용에 대한 추정 비용을 제공

AWS는 사용자가 지정한 Amazon S3 버킷으로 보고서를 전달하며, 최소한 하루에 한번 보고서를 업데이트 함

AWS 비용 및 사용 보고서는 AWS 사용을 추적하고, AWS 계정과 관련된 시간 별 또는 일별 추정 비용을 제공

 

7.기타 사항

 

7.1. AWS Config

 

https://docs.aws.amazon.com/ko_kr/config/latest/developerguide/resource-config-reference.html

 

지원되는 리소스 유형 - AWS Config

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

AWS Config AWS 계정의 AWS 리소스에 대한 상세한 보기를 제공하여 리소스 간에 어떤 관계가 있는지와 리소스가 과거에 어떻게 구성 되었는지도 포함하여 시간이 지나면서 구성과 관계가 어떻게 변하는지 확인 할 수 있음.

AWS Config에서는 다음 작업을 수행 할 수 있음

현재 AWS 구성의 스냅샷을 받음

AWS 리소스 구성을 검색

AWS 리소스의 이전 구성을 검색

리소스가 변경 될 때 알림 수신

리소스 간의 관계 확인

상호 의존 관계가 있는 여러 AWS 리소스를 사용할 때 한 리소스의 구성 변경이 관련된 리소스에 의도하지 않는 영향을 줄 수 있음

AWS Config에서는 변경하려는 리소스가 다른 리소스와 어떤 관계가 있는지 확인 하고 변경의 영향을 평가할 수 있음

또한 AWS Config가 제공하는 리소스의 이전 구성을 사용하여 문제를 해결하고 문제가 되는 리소스의 문제 발생 이전의 구성을 확인 할 수 있음.

'AWS Architecture Basic > 기본 개념 및 주요 서비스' 카테고리의 다른 글

3. AWS 핵심 지식  (0) 2021.02.08
2. 범주 별 AWS 서비스  (0) 2021.02.08
1. AWS 개념  (0) 2021.02.08