【한글자막】 AWS Certified Solutions Architect Professional | Udemy

2023.01.06 - [DevOps/aws] - Udemy | AWS Certified Solutions Architect Associate 강의 | Section1~2

2023.01.06 - [DevOps/aws] - AWS Certified Solutions Architect Associate 강의 Udemy | Section 3: AWS 시작하기

2023.01.06 - [DevOps/aws] - AWS Certified Solutions Architect Associate 강의 Udemy | Section 4: IAM 및 AWS CLI

2023.01.09 - [DevOps/aws] - AWS Certified Solutions Architect Associate 강의 Udemy | Section 5: EC2 기초

2023.01.10 - [DevOps/aws] - AWS Certified Solutions Architect Associate 강의 Udemy | Section 6: EC2 - 솔루션스 아키텍트 어소시에이트 레벨


55. EBS 개요

EBS 볼륨이란? 

1. An EBS (Elastic Block Store) volume is a network drive you can attach to your instances while they run

인스턴스가 실행 중인 동안 연결 가능한 네트워크 드라이브이다.

2. It allows your instances to persist data, even after their termination

인스턴스가 종료된 후에도 데이터를 보관한다

3. They can only be mounted to one instance at a time( at the CCP level)

한번에 하나의 인스턴스에만 마운트 될 수 있다.

4. They are bound to a specific availability zone 

한 az 에 종속되어져있다. 

5. 하나의 네트워크 USB 스틱이라고 생각하자

6. 프리티어 30GB 무료

 

특징

It's a network drive (i.e not a physical drive) 

네트워크 드라이브이다. ( 물리적으로 연결되는 것은 아니다.) 

네트워크로 상호작용하기 때문에 레이턴시가 존재한다. 

 

It's locked to an Availability Zone( AZ)

az에 종속되어 있기 때문에 인스턴스 연결할때 확인하자.

만약 볼륨을 옮기고 싶다면 스냅샷을 활용하자 

 

Have a provisioned capacity ( size in GBs, and IOPS)

미리 볼륨의 성능을 지정해야한다. 

물론 이후에 용량을 늘릴 수도 있다 .

 

EBS Volume - Example

EC2 에 하나 연결하거나

한 EC2에 EBS 여러개 연결해도 된다. 

EBS 가 꼭 인스턴스에 연결될 필요도 없다. 

 

EBS - Delete on Termination attribute

delete on termination 옵션이 있다. 

default 로 root ebs volume 은 인스턴스 종료시 삭제 옵션이 체크되어있다.

해당 옵션을 잘 사용하면된다. 

 

 


56. EBS 실습

EBS 볼륨 생성하기

인스턴스의 스토리지 탭에 볼륨에 대한 정보가 있다.

볼륨 페이지로 이동하게 된다. 

여기서 볼륨 생성을 할 수 있다. 

똑같은 가용영역으로 2GIB 짜리 볼륨을 하나 생성한다. 

볼륨을 인스턴스에 연결한다. 

 

해당 인스턴스를 종료해보자!

 

루트 볼륨이 삭제된다. 


57. EBS 스냅샷 개요

EBS Snapshots

 

특정 시점의 EBS 볼륨 백업을 만들 수 있다. 

강제 사항은 아니지만 웬만해선 사용하자

원래 EBS 볼륨은 같은 az에만 장착할 수 있다.

하지만 스냅샷을 옮기는 식으로 하면 다른 az의 인스턴스에 ebs를 연결할 수 있다.

 

EBS snapshot 기능

1. EBS snapshot Archive

최대 75% 까지 저렴한 아카이브 티어로 스냅샷을 옮길 수 있는 기능이다.

스냅샷을 아카이브 티어로 옮기면 아카이브를 복원하는 데 24시간에서 최대 72 시간이 걸린다. 

즉시 복원되지 않는다. 

 

2. Recycle Bin for EBS Snapshots

EBS 스냅샷을 삭제하는 경우 영구 삭제하는 대신에 휴지통에 넣을 수 있다. 

실수로 삭제하는 경우에 휴지통에서 복원할 수 있다. 

휴지통에 보관되는 기간은 1일에서 1년 사이로 설정할 수 있다.

 

3. Fast Snapshot Restore (FSR) 

빠른 스냅샷 복원이다.

스냅샷을 완전 초기화해 첫 사용에서의 지연 시간을 없애는 기능이다.

스냅샷이 아주 크고 EBS 볼륨 또는 EC2 인스턴스를 빠르게 초기화해야 할 때 특히 유용하다. 

하지만 비용이 많이 든다 .

 


58. EBS 스냅샷 실습 

스냅샷 생성하기 

지난 시간에 만든 EBS 볼륨

ebs 볼륨을 선택한 다음 스냅샷을 생성할 수 있다.

스냅샷을 만든다 .

생성된 스냅샷 확인

스냅샷 복사

 

방금 찍어낸 스냅샷을 다른 리전으로 복사할 수 있다. 

 

EBS 만들기 ( 다른 az로 )

용량 크기를 2gb 에 맞춰준다 .

 

ebs(az 1 ) -> snapshot -> ebs (az2) 

로 스냅샷을 이용하여 EBS의 데이터를 다른 az,리전에서도 똑같이 사용할 수 있다.

 


59. AMI 개요

AMI Overview 

Amazon Machine Image

customization of an EC2 instance

사용자 지정 EC2 인스턴스를 나타낸다.

 

소프트웨어 구성, 운영 체제 , 모니터링 등 

AMI 를 생성하면 부팅과 구성에 시간이 단축된다. 

 

AMI 를 통해서 사전에 패키징 된다. 

 

AMI를 자체적으로 구성하고 다른 리전에 복사해서 사용할 수 있다 

 

EC2 실행하기

public ami : amazon 에서 제공한다.

own AMI: 직접 생성한 AMI

An AWS Marketplace AMI: 다른 사람이 만든것 

 

AMI Process (from an EC2 Instance) 

ami 생성 과정

1.  EC2 생성 및 실행하기

2. 인스턴스 중지 ( 데이터 무결성을 위하여, for data integrity)

3. AMI 생성하기 ( EBS 스냅샷도 생성된다..)

4. 다른 EC2 인스턴스에서 ami 실행

 


60. AMI 실습

인스턴스 생성

#!/bin/bash
# Use this for your user data (script from top to bottom)
# install httpd (Linux 2 version)
yum update -y
yum install -y httpd
systemctl start httpd
systemctl enable httpd

위의 사용자 데이터와 종료시 삭제 옵션을 예로하고 키페어 설정 80, 22  포트를 인바운드로 여는 sg 설정

 

처음에 인스턴스를 실행하고 바로 공용 ip 로 접속하면 안뜬다. 연결오류 + 부트스트랩 작업을 완료하지 않았기 때문에 

-> ami 를 이용하면 더 빠르다. (20~30 초 가량 소요되는 부트스트랩 타임이 사라진다.)

 

AMI 이미지 생성

인스턴스를 선택하고 이미지를 생성한다. 

이미지를 생성한다 .

 

AMI 로 인스턴스 생성 

방금 생성한 이미지를 이용하여 인스턴스를 생성한다.

#!/bin/bash
echo "<h1>Hello World from $(hostname -f)</h1>" > /var/www/html/index.html

(사용자데이터에서 )기존 ami 에서 업데이트를 했기 때문에 html 페이지 만드는 코드 한줄만 있으면 된다 .

 

바로 인덱스 페이지로 간다.

 


61. EC2 인스턴스 스토어 

EC2 Instance Store

EBS volumes are network drives with good but "limited" performance

EBS는 네트워크 드라이브이기 때문에 태생적으로 제한된 성능을 보인다. 

 

만약 높은 성능을 사용하고 싶다면 EC2 Instance Store를  사용해야한다. 

특징

뛰어나 입출력

중단되면 데이터가 사라진다. (ephemeral : 임시의)

버퍼, 캐시, 스크래치 데이터, 임시 콘텐츠에 유리함

리스크 존재 

백업에 유의하자! 

입출력 성능에 따른 옵션이 존재한다.


62. EBS 볼륨 유형

6가지 EBS 볼륨 유형

gp2/ gp3  (ssd) : 다양한 워크로드에 대해 가격과 성능의 절충안

io 1 /io 2 (ssd) : 최고 성능, 미션 크리티컬이자 지연 시간이 낮고 대용량 워크로드 

st 1 (hdd) : 잦은 접근 처리량 많음 (저비용)

sc 1 (hdd) : 낮은 접근 처리량 많음( 저비용) 

 

EBS 볼륨은 크기, 처리량, iops 에 정의됨.

 

IOPS는 초당 I/O 작업 수

 

gp2/gp3, io1/io2 만이 부팅 볼륨으로 사용될 수 있다.

루트 OS 가 실행될 위치 

 

Genral Purpose SSD

가장 비용 효율적이다 .

시스템 부팅 볼륨에서 가상데스크톱, 개발, 테스트 환경에서 사용할 수 있다. 

 

크기는 1GB 에서 16TB 까지 다양하다. 

gp3:

Baseline of 3000 IOPS and throughput of 125 MiB/s

Can increase IOPS up to 16,000 and throught up to 1000MiB/s independently (연결되어있지 않음)

gp2:

최대 3,000IOPS

처리량과 볼륨이 연결되면 최대 IOPS는 16,000

3 IOPS per GB |  5,334 GB we are at the max IOPS 

1기가당 3IOPS 이므로  최대 5,334GB 이다. 

 

Provisioned IOPS (PIOPS) SSD 

높은 IOPS 성능을 유지할 필요가 있는 주요 비즈니스 애플리케이션

16,000IOPS 이상을 요하는 애플리케이션에 적합.

 

일반적인 데이터베이스 워크로드에 알맞다. 

 

io 1/2 4GiB ~ 16 TiB

nitro EC2 인스턴스에 경우 최대 64,000 iops 까지 가능 

아니면 최대 32,000 IOPS 까지 지원

Can increase PIOPS independently from storage size 

또한 io1/io2를 이용하면 gp3 볼륨처럼 프로비저닝된 IOPS를

스토리지 크기와 독자적으로 증가시킬 수 있습니다.

io2 이용 장점은 io1 과 동일한 비용으로 내구성과 기가 당 IOPS 의 수가 더 높다. 

 

io2 Block Express ( 4GiB ~ 64 TiB)

좀더 고성능이다.

지연 시간이 밀리 초이다. 

MAX PIOPS: 256,000 with an IOPS:GIB ratio of 1,000:1

 

EBS 다중 연결 지원

 

Hard Disk Drives (HDD)

부팅 볼륨이 될 수 없다. 

125 MiB to 16 TiB

 

st1 

처리량 최적화 HDD 

빅 데이터나 데이터 웨어 하우징 로그 처리에 적합함.

최대 처리량은 초당 500MB 그리고 최대 IOPS는 500

 

sc1

아카이브 데이터용으로 접근 빈도가 낮은 데이터에 적합

최저 비용으로 데이터를 저장할 때에 사용

최처리량은 초당 250MB

최대 IOPS 도 250 

 


63. EBS 다중 연결

한 EBS를 최대 16개의 인스턴스에 연결 할 수 있다.

물론 같은 AZ 여야한다

 

각각의 인스턴스는 고성능 볼륨에 대한 읽기 및 쓰기 권한을 전부 갖는다.

동시에 읽고 쓸 수 있다는 뜻이다. 

 

애플리케이션 가용성을 높이기 위해 Teradata 처럼 클러스터링된 Linux 애플리케이션에서 사용하거나 애플리케이션이

동시 쓰기 작업을 관리해야 할 때 사용한다. 

 

다중 연결을 실행할려면 반드시 클러스터 인식 파일 시스템을 이용해야한다.

(Not XFS, EX4  와 같은 파일 시스템과 다르다. ) 

 


64. EBS 암호화

암호화된 EBS 볼륨을 만들때 :

1. 저장 데이터가 볼륨 내부에 암호화되고

2. 인스턴스와 볼륨 간에 데이터 전송시에도 암호화

3. 스냅샷 생성시 암호화

4. 스냅샷으로 볼륨 생성시에도 암호화 


암호화가 동시다발적으로 일어난다. 

 

암호화 및 복호화 매커니즘은 보이지 않게 처리된다. (아무것도 안해도 된다.) 

 

지연시간에 거의 영향 없음.

 

KMS 에서 암호화 키를 생성해 AES-256 암호화 표준을 갖춘다.

 

암호화된 스냅샷으로부터 볼륨을 만들면 볼륨도 암호화가 되어있다. 

 

EBS 볼륨을 암호화하거나 푸는 법

1. EBS 스냅샷 생성

2. 스냅샷 복제시 암호화 기능 사용

3. 복제된 스냅샷으로부터 ebs 볼륨 생성 ( 마찬가지로 암호화됨)

4. 암호화된 볼륨을 인스턴스에 연결할 수 있다. 

 

EBS  암호화 실습

1. 암호화되지 않은 EBS 생성

암호화 하지 않은 볼륨을 생성한다. 

 

암호화되지 않음.

2. 암호화되지 않은 스냅샷 생성

3. 스냅샷으로부터 복사 ( 암호화 ok)

위에서 만든 스냅샷으로부터 복사한다. 

암호화 옵션 체크 

kms 키 도 체크 

4. 암호화된 스냅샷으로부터 볼륨 생성

암호화된 스냅샷으로부터 볼륨을 생성하니 암호화 옵션이 자동으로 켜져있다.

생성된 볼륨은 암호화 되어있다.

스냅샷으로부터 바로 암호화된 볼륨 생성하기

암호화되지 않은 스냅샷으로부터 볼륨을 생성할때 

암호화 옵션을 키면 시간이 단축된다. 

 


65. Amazon EFS - Elastic File System

EFS 개념

EFS는 관리형 NFS 네트워크 파일 시스템이다. 

EC2 에 마운트 될 수 있다.

여러 가용 영역에 있을 수 있다.

가용성이 높고 확장성도 높다. 

가격도 비싸다. gp2 EBS 볼륨의 3배정도이다. 

사용량만큼 지불하므로 미리 용량을 프로비저닝 하지 않아도 된다. 

보안그룹이 EFS를 둘러싼다.

여러 가용영역이 존재하는데 EFS를 통해 같은 네트워크 파일 시스템에 동시에 연결할 수 있다.

 

EFS 특징

사용처 : 콘텐츠 관리, 웹 서버, 데이터 공유 WordPress

NFSv4.1 프로토콜 이용

EFS에 대한 액세스를 제어하기 위해서는 보안 그룹을 설정해야한다. 

 

리눅스 기반이다. (windows 불가)

KMS 로 암호화 되며

 

POSIX 시스템을 사용한다(리눅스 표준) 파일 api를 가진다. 

 

미리 용량을 계획하지 않아도 된다. 자동으로 확장되고 사용량에 따라 요금을 지불한다.

EFS 에서 사용한 GB당 데이터 비용을 지불한다. 

 

EFS 성능과 스토리지 클래스

EFS Scale 

  • 수천 개의 NFS 클라이언트에서 EFS 에 동시 액세스할 수 있게 확장되며 처리량은 초당 10GB
  • 용량을 미리 프로비저닝하지 않아도 네트워크 파일 시스템이 PB 규모로 확장된다. 

다양한 성능 모드

  • 범용모드: 지연 시간에 민감한 웹 서버 ,CMS 와 같은 사용 사례
  • 최대 I/O : 지연 시간, 처리량 병렬 처리 성능이 향상됨( 빅데이터, 미디어 작업)

처리량 모드 throughout mode

  •  버스팅 모드: 사용 공간이 많을수록 버스팅 용량과 처리량이 늘어난다. ( 1 TB = 50MiB/s + burst of up to 100MiB/s)
  • 프로비저닝 모드에서는 스토리지 상관없이 처리량을 설정(고정)할 수 있음.ex: 1GiB/s for 1 TB 스토리지 

EFS - Storage Classes 

Storage Tiers  

일정 기간 후에 파일을 다른 계층으로 옮기는 기능 

액세스가 비번한 파일은 standard 계층에 저장한다. 

 

EFS-IA 계층을 사용하면 파일을 검색할 경우 검색에 대한 비용이 발생한다.

하지만 파일을 저장하는 비용이 낮다. 

 

EFS-IA 를 활성화하려면 수명 주기 정책을 사용해야한다. 

예를 들면 standard 계층에서 60일 이상 액세스 하지 않은 파일이 있다면 

EFS-IA 로 옮겨진다. 비용이 낮아짐. 

 

가용성 및 내구성 옵션

standard: 다중 az 지원, 프로덕션에 좋음

one zone: 하나의 az, 개발, 백업용으로 좋음.  EFS - IA 스토리지 계층과 호환

최대 90%의 비용 절감  가능 

 


66. Amazon EFS 실습

1. EFS 생성

사용자 지정으로 EFS를 생성해보자 !

스토리지 클래스에서 스탠다드는 multi az , one zone 은 단일 az 

IA로 전환에서 주기를 설정할 수 있다.

성능 설정에 처리량 모드 

성능 모드를 지정할 수 있다.

네트워크 액세스 설정 -> 보안 그룹 미리 만들기  

보안 그룹을 하나 미리 만들자.

 

그리고 그냥 생성한다.

 

2. 인스턴스 생성 & 연결

서브넷을 고르고

스토리지에서 파일 볼륨을 추가한다.

 

다른 이름으로 하나 더 생성한다. 

가용영역만 다르게 

 

 

3. 확인

efs 콘솔 네트워크에 보면 efs가 보안그룹을 자동으로 생성한 것을 볼 수 있다.

 

새로 만들어진 보안그룹은 해당 인스턴스의 보안그룹을 소스로 한다. ( 연결된 인스턴스에서는 EFS 접속할 수 있다.) 

 

인스턴스 a

파일을 생성하고 

 

인스턴스 b

확인된다. 

 


67. EBS 와 EFS 비교

EBS

한번에 하나의 인스턴스와 연결

단일 az 

gp2:  디스크 사이즈가 증가하면 IO 가 증가. 

io1: IO 가 독립적으로 증가 

 

다른 az 로 옮길려면....? 

스냅샷을 뜨고 다른 az 로 복사 

스냅샷이나 백업을 뜰때는 ebs 볼륨 내의 IO를 전부 사용하게 되니 인스턴스가 EBS를 사용 중이 아닐 때에만 실행

 

인스턴스가 종료될시 루트 볼륨이 삭제되는 옵션도 있음. 

 

EFS

무수히 많은 인스턴스와 연결 가능 

다중 az 지원 

EFS Mount Target을 사용해 특정 AZ 에서 EC2 인스턴스들과 EFS 드라이브를 연결

워드 프레스 같은 웹 사이트 파일을 공유할 때 사용 

오직 리눅스 파일 시스템 을 지원 

EBS 보다 비쌈 

EFS -IA 로 비용 절감 가능 

EBS, EFS , 인스턴스 스토어는 같이 외워라! 

 


68. EBS 및 EFS - 섹션 정리

efs

인스턴스

보안그룹

ebs 

스냅샷 

 

다 삭제해주자 

 


Quiz 4 : EC2 데이터 관리 퀴즈

1. us-east-1a에서의 EC2 인스턴스를 종료하여, 이 인스턴스에 연결된 EBS 볼륨을 사용할 수 있게 되었습니다. 팀원이 us-east-1b의 EC2 인스턴스에 이 볼륨을 연결하려 했으나, 연결이 불가능한 상태입니다. 이 경우, 가능성이 있는 원인은 무엇일까요?

EBS 볼륨은 특정 AZ에 맞춰 생성됩니다. EBS 스냅샷을 활용하면 다른 AZ 간의 이전이 가능합니다.

 

2. 루트 볼륨 유형과 데이터 저장을 위한 기타 EBS 볼륨 유형, 두 개의 EBS 볼륨으로 EC2 인스턴스를 실행했습니다. EC2 인스턴스는 한 달 후에 종료할 예정입니다. 각 EBS 볼륨에 기본적으로 나타날 행위 특성은 무엇일까요?

루트 볼륨의 경우, ‘종료 시 삭제' 속성이 기본으로 활성화되어 있기 때문에, 기본적으로 삭제되게 됩니다. 기타 EBS 볼륨 유형의 경우, ‘종료 시 삭제' 속성이 기본적으로 비활성화되어 있으므로 삭제되지 않습니다. 

 

루트 볼륨은 종료 시 삭제가 기본!!!

3. 노스버지니아 리전 us-east-1에서 AMI를 사용하면 어떤 AWS 리전에 있는 EC2 인스턴스라도 실행할 수 있습니다

 

AMI는 특정 AWS 리전에 국한되며, 각 AWS 리전에는 고유한 AMI가 있습니다. 다른 AWS 리전에서 AMI를 사용해 EC2 인스턴스를 실행하는 것은 불가능하지만, 대상 AWS 리전으로 AMI를 복사해 EC2 인스턴스를 생성하는 것은 가능합니다.

 

ami는 특정 aws 리전에 종속. 사용할려면 복사해서 사용!

 

4. 다음 중, EC2 인스턴스를 생성할 때 부팅 볼륨으로 사용할 수 있는 EBS 볼륨 유형은 무엇인가요?

EC2 인스턴스를 생성할 때, 부팅 볼륨으로는 다음의 EBS 볼륨 유형만을 사용할 수 있습니다: gp2, gp3, io1, io2, Magnetic(표준)

 

5. EBS 다중 연결이란 무엇일까요?

EBS 다중 연결을 사용하면, 동일한 EBS 볼륨을 동일 AZ 상에 있는 다수의 EC2 인스턴스에 연결할 수 있습니다. 각 EC2 인스턴스는 완전한 읽기/쓰기 권한을 갖게 됩니다.

 

6. EC2 인스턴스에 연결되어 있는, 암호화되지 않은 EBS 볼륨을 암호화하려 합니다. 어떻게 해야 할까요?

7. 대량의 데이터 세트를 처리하는, 다수의 AZ에 걸친 EC2 인스턴스 플릿이 있습니다. 동일한 데이터가 NFS 드라이브로서 모든 EC2 인스턴스에서 액세스할 수 있게 만들기 위해서는 어떤 방법을 추천할 수 있을까요?

 

EFS는 네트워크 파일 시스템(NFS)으로 여러 AZ 상에 있는 EC2 인스턴스에 동일한 파일 시스템을 마운트할 수 있게 해줍니다.

8. EC2 인스턴스에 호스팅된 애플리케이션에 고성능 로컬 캐시를 포함시키려 합니다. EC2 인스턴스 종료 시, 캐시가 소실되어도 문제가 없는 상황입니다. 이런 경우, 솔루션 아키텍트로서 어떤 스토리지 메커니즘을 추천할 수 있을까요?

EC2 인스턴스 스토어는 최적의 디스크 I/O 성능을 제공합니다.

 

9. 기반 스토리지에 310,000의 IOPS가 필요한 고성능 데이터베이스를 실행하고 있습니다. 어떤 방법을 추천할 수 있을까요?

(EBS io1/2 최대 25,600 IOPS)

EC2 인스턴스에서 데이터베이스를 인스턴스 스토어를 사용하여 실행 가능하지만, EC2 인스턴스가 중지 시 데이터가 손실이라는 문제가 있습니다 (문제 없이 다시 시작할 수 있음). 한 가지 솔루션은 인스턴스 스토어가 있는 다른 EC2 인스턴스에서 복제 메커니즘을 설정하여 대기 복사본을 가질 수 있다는 것입니다. 또 다른 솔루션은 데이터에 대한 백업 메커니즘을 설정하는 것입니다. 요구 사항을 검증하기 위해 아키텍처를 설정하는 방법은 모두 사용자에게 달려 있습니다. 이 사용 사례에서는 IOPS 기준이므로 EC2 인스턴스 스토어를 선택해야 합니다.

+ Recent posts