【한글자막】 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 인스턴스 스토어를 선택해야 합니다.

 

【한글자막】 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 기초


46. 프라이빗 vs 퍼블릭 vs 탄력적 IP

Private vs Public IP ( IPv4) 

 

IPv4 : 32비트 

IPv6 : 128 비트

 

IPv4는 여전히 가장 인기있는 포멧이다. 

IPv6는 주로 IoT 에 사용된다. 

 

IPv4는 37 억개의 서로 다른 주소를 제공한다. 

[0-255].[0-255].[0-255].[0-255]

 

Private vs Public IP (IPv4) Example 

 

퍼블릭 IP를 가지는 서버는 서로 통신할 수 있다. 

사설 네트워크에는 기본적으로 사설 IP 범위가 있는데 사설 IP는 매우 구체적으로 정의되지만

사설 네트워크 내의 모든 컴퓨터가 사설 IP를 사용하여 서로 통신할 수 있음을 의미한다. 

 

Fundamental Differences

Public IP:

  • internet에서 유니크한 값이다. 
  • 지리적 위치를 쉽게 찾을 수 있다.

Private IP:

  • 사설 네트워크 안에서만 식별된다. 안에서만 고유한 값을 갖는다.
  • 별개의 사설 네트워크들이 같은 IP 를 가져도 된다. 
  • 기기가 사설 네트워크에 있을때 NAT 장치와 프록시 역할을 할 인터넷 게이트웨이를 통해 인터넷에 연결된다.
  • 지정된 범위의 IP 만 사설 IP로 사용될 수 있다. 

Elastic IPs

Ec2 인스턴스 켤때마다 public ip 가 초기화된다. 

 

EIP 는 공용 IPv4 로서 삭제하지 않는 한 계속 가지고 있게 된다.

한번에 한 인스턴스에만 첨부가능하다. 

 

사용을 지양한다..

 

임의의 공용 IP를 써서 DNS 이름을 할당하는 것이 좋다. 

 

로드 밸런서를 사용해서 공용 IP를 전혀 사용하지 않게 할 수도 있다. 

 

우리가 EC2 에 접근할때 사설 IP를 사용할 수 없다. -> 같은 VPN을 쓰지 않기 때문이다. 

 


47. 프라이빗 vs 퍼블릭 vs 탄력적 IP 실습 

인스턴스 껐다 키면 IPv4 변경되었다. 

 

탄력적 IP 생성하고 연결하는 작업

 

탄력적 EIP 는 사용하지 않으면 요금을 내야한다. 

 

마지막에 eip release 하자 .

 


48. EC2 배치 그룹

Placement Groups

Sometimes you want control over the EC2 Instance placement strategy

EC2 인스턴스가 AWS 인프라에 배치되는 방식을 제어하고자 할때 쓴다. 

 

배치그룹을 사용하기 위해서 전략을 사용한다 

 

when you create a placement group, you specify one of the following strategies for the group:

배치 전략으로 다음과 같이 사용할 수 있다. 

 

Cluster

동일한 az 에 배치하기 때문에 로우 레이턴시를 가지지만 리스크하다.

장점: 뛰어난 네트워크 ( 10Gbps bandwitdh between instances) 

단점: 랙에 실패가 발생하면 모든 EC2 인스턴스가 동시에 실패한다. 

사용처: 빠르게 수행되어야하는 빅데이터 작업

로우 레이턴시를 가져야하는 경우 

 

spread - 분산

분산해서 인스턴스를 배치한다. 

장점: 여러 Az 에 걸쳐 있다.

실패위험이 적다.

단점: 배치 그룹당 최대 7개의 인스턴스로 개수의 제한이 있다. 

사용처: 가용성을 극대화하고 위험을 줄여야 하는 애플리케이션,

인스턴스 오류를 서로 격리해야하는 크리티컬 애플리케이션

 

가용 영역별로 분산된 배치 그룹당 7개의 EC2 인스턴스만 가질 수 있다 

partition - 분할

여러 파티션에 인스턴스를 분할한다. 

다양한 하드웨어 랙 세트에 의존한다.

인스턴스는 분산되어 있지만 다른 실패로부터 격리되지 않았다.

다양한 az 에 걸쳐있을 수 있다. 

한 az에 최대 7개의 파티션을 이용 가능하다. 

설정으로 최대 100개의 인스턴스를 이용 가능하다. 

파티션은 분리되어있다.

메타데이터 서비스를 이용하여 인스턴스가 어떤 파티션을 갖는지 확인할 수 있다.

 

hadoop, cassandra, Kafka 같은 애플리케이션을 실행할 수 있다. 

 


 

49. EC2 배치 그룹 - 실습

EC2 -> 네트워크 및 보안 -> 배치 그룹
배치 그룹 생성

옵션도 클러스터, 분산, 파티션이 존재한다.

 

배치그룹을 생성했다면 

ec2 인스턴스를 만들때 고급 옵션에서 배치 그룹을 선택할 수 있다. 


50. ENI( 탄력적 네트워크 인터페이스 ) - 개요 

VPC의 논리적 구성 요소이며 가상 네트워크 카드를 나타낸다. 

 

ENI는 EC2 인스턴스가 네트워크에 엑세스 할 수 있게 해준다. 

ENI 는 주요 사설 IPv4 와 하나 이상의 보조 IPv4 를 가질 수 있다.

 

가용영역에 EC2 인스턴스가 있다고 가정하자

기본 ENI 인 Eth0 에 연결되어 EC2 인스턴스 네트워크 연결을 제공한다. 

 

ENI는 특정 az 에 바인딩 된다. 

 

ENI 를 독립적으로 생성하거나 이동시킬 수 있다. 

 

 

 

 


51. ENI ( 탄력적 네트워크 인터페이스 ) - 실습

 

 

 

인스턴스를 만들면 ENI 가 자동으로 생성된다.

네트워크 인터페이스 탭에서 따로 확인할 수 있다. 

 

네트워크 인터페이스 생성을 통해서 eni를 생성할 수 있고

eni를 인스턴스에 연결할 수 있다. 

 

eni의 연결을 변경함으로써 쉽게 트래픽을 통제할 수 있다. 


 

52. ENI - 추가 읽기 자료

ENI 관련 안내 사항

아직 ENI에 대한 내용이 명확히 이해되지 않는 분이 계실 수도 있습니다.

걱정하지 마세요. 이 내용은 AWS에서도 심화 개념으로 숙달하는 데 시간이 걸릴 수 있어요.

ENI에 대해 더 배우고 싶다면, 이 블로그 글을 읽는 게 도움이 될 거예요. https://aws.amazon.com/blogs/aws/new-elastic-network-interfaces-in-the-virtual-private-cloud/

 

도움이 되기를 바랍니다. 여전히 이해가 안 되더라도 너무 걱정하지 마세요. 강의를 진행하는 데 아무런 문제가 없을 거예요. 계속해서 강의를 시청하고, 강의가 마무리될 때쯤에 다시 시청해보세요.

즐공하세요!


53. EC2 Hibernate 모드 

EC2 Hibernate

인스턴스가 stop, terminate 되었을때

Stop - the data on disk (EBS) is kept intact in the next start

정지 되면 EBS 디스크에 데이터가 보관된다. 

Terminate - any EBS volumes (root) also set-up to be destroyed is lost 

인스턴스를 종료했을때 루트 볼륨이 삭제되게 했다면 인스턴스도 삭제된다. 

 

On start, the following happens: 

first start: the OS boots & the EC2 User Data script is run

OS 가 부팅 되고 사용자 데이터 스크립트가 실행된다. 

Following starts: the OS boots up

OS 가 부트 업된다. (부팅완료된다)

Then your application starts, caches get warmed up, and tha can take time! 

애플리케이션이 실행되고 캐시도 구성되기 시작하므로 과정이 끝날 때까지 시간이 다소 걸린다. 

 

=> 인스턴스를 단순 정지, 실행 하면 시간이 걸린다. 

 

Introuducing EC2 Hibernate:

  • The in-memory (RAM) state is preserved
  • The instance boot is much faster!( the OS is not stopped / restarted)
  • Under the hood: the RAM state is written to a file in the root EBS Volume
  • The root EBS volume must be encrypted

인스턴스가 절전 모드가 되면 RAM 에 있던 인 메모리 상태는 그대로 보존된다.

-> 인스턴스 부팅이 더 빨라진다. (운영체제를 완전히 종료하지 않고 잠시 중단 했으니까!)

절전 모드가 되고 백그라운드에서 RAM에 기록되었던 인 메모리 상태는 루트 경로의 EBS 볼륨에 기록되기 때문에 루트 EBS 볼륨을  1. 암호화해야하고 2. 볼륨 용량도 RAM 을 저장하기에 충분해야한다. 

1. 실행중 

인스턴스가 있다고 가정하자.

인스턴스 RAM에 데이터가 있다.

 

2. 중지중 ( 절전)

인스턴스 RAM 의 내용을 EBS 볼륨에 덤프한다. 

3. 중지완료(절전)

인스턴스를 중지하면 인스턴스가 사라지지만 EBS 볼륨은 남아있다.

 

4.실행중

인스턴스를 다시 실행하면 EBS 디스크에서 RAM을 불러와 EC2 인스턴스 메모리로 가져간다.

 

이렇게 하면 EC2 인스턴스를 중지한 적이 없는 것처럼 된다.

 

Use case

오래 실행되는 프로세스를 갖고 있고 중지하지 않을 때

RAM 상태를 저장하고 싶을 때

빠르게 재부팅을 하고 싶을 때

서비스 최기화가 시간을 많이 잡아먹어 서비스가 중단 없이 인스턴스를 절전 모드로 전환하고 싶을 때

 

EC2 Hibernate - Good to know 

지원하는 인스턴스 패밀리

인스턴스 RAM Size - 인스턴스 RAM 사이즈는 150GB 보다 작다.

인스턴스 사이즈 - bare metal instances 에는 지원하지 않는다.

베어메탈은 가상화를 위한 하이퍼 바이저os 가 없다.

 AMI- 특정 ami 만 지원

RootVolume - EBS를 사용해야하며, 암호화되어야한다. 인스턴스 스토어에는 안된다. 

온디맨드, 예약, 스팟 등의 인스턴스에서도 절전 가능하다.

 

60일을 초과해서 절전할 수 없다.


54. EC2 Hibernate 실습 

EC2 생성

인스턴스를 시작하자 ( 이전과 동일함) 

최대 절전 중지 방식을 활성화한다.

RAM 보다 EBS 볼륨이 커야한다고 한다.

t2 micro 는 1GIB

ebs 볼륨의 암호화 옵션과 KMS 옵션을 켠다 . 크기 8GIB 로 충분하다. 

 

절전 확인해보기

uptime 명령어로 얼만큼 인스턴스가 켜졌는지 확인하다. 

1:12분 정도 켜졌다. 

최대 절전 후 다시 실행

uptime 하면 시간이 이어진다 .

 

이번에 인스턴스를 중지하고 다시 켜보자

 

uptime 이 초기화된다. 

 

최대절전모드에 대해 실습해보았다! 


EC2 SAA 레벨 퀴즈

1. NodeJS 애플리케이션을 호스트하게 될 EC2 인스턴스를 실행했습니다. 모든 필수 소프트웨어를 설치하고 애플리케이션을 구성한 후, 액세스를 위해 EC2 인스턴스 공용 IPv4를 기록해 두었습니다. 그 다음, 실행을 중단하고 애플리케이션 구성을 완료하기 위해 EC2 인스턴스를 다시 시작했습니다. 그러나 재시작 후, EC2 인스턴스에 액세스할 수 없었으며 EC2 인스턴스 공용 IPv4가 변경된 것을 알게 되었습니다. 이 경우, EC2 인스턴스에 고정적인 공용 IPv4를 할당하려면 어떻게 해야 할까요?

탄력적 IP는 여러분이 원하는 기간만큼 소유할 수 있는 공용 IPv4로, 한 번에 하나의 EC2 인스턴스에만 연결할 수 있습니다.

 

2. 스팟 플릿은 한 세트의 스팟 인스턴스로, 선택적 ..............입니다.

스팟 플릿은 한 세트의 스팟 인스턴스로, 선택적 온디맨드 인스턴스입니다. 이를 사용하면 가장 낮은 가격의 스팟 인스턴스를 자동으로 요청할 수 있습니다.

 

3. EC2 인스턴스 플릿에서 대규모의 데이터 분석을 수행하는 애플리케이션이 있습니다. 여러분은 EC2 인스턴스들이 서로 소통하면서도 가장 높은 수준의 네트워킹 성능을 유지했으면 합니다. 이런 경우, 다음 중 어떤 EC2 배치 그룹을 선택해야 할까요?

클러스터 배치 그룹을 사용하면 EC2 인스턴스들이 나란히 위치하게 되어 고성능의 컴퓨팅 및 네크워킹 성능을 제공하게 됩니다.

 

4. EC2 인스턴스 플릿에 호스팅된 중요 애플리케이션이 있습니다. 이 애플리케이션에서 AZ 실패가 일어난 경우, 최대 가용성을 달성했으면 합니다. 이런 경우, 다음 중 어떤 EC2 배치 그룹을 선택해야 할까요?

분산 배치를 통해서 가용성을 높인다. 

 

5. 탄력적 네트워크 인터페이스(ENI)는 다른 AZ에 있는 EC2 인스턴스와 연결될 수 있습니다.

탄력적 네트워크 인터페이스(ENIs)는 특정 AZ로 국한됩니다. 다른 AZ에 있는 EC2 인스턴스에 ENI를 연결할 수는 없습니다.

 

6. EC2 절전 모드와 관련된 내용 중, 옳지 않은 설명을 고르세요.

 

EC2 절전 모드를 활성화하기 위해서는 EC2 인스턴스 루트 볼륨 유형이 EBS 볼륨이어야만 하며, 민감한 내용을 보호할 수 있도록 암호화되어야 합니다.

【한글자막】 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


30. AWS 예산 설정   

루트 계정에서 aws 결제 대시보드 활성화하기

사용자 계정에서 결제 대시보드를 보려고 하면 권한이 필요하다고 한다.

루트 계정으로 가자

계정으로 이동

IAM User and Role Access to billing information

결제 정보에 대한 IAM 사용자 및 역할 액세스

iam 액세스 활성화를 해준다.

사용자 계정에서 결제 대시보드를 이용할 수 있다.

청구서 

청구서로 이동하면 월별 청구 금액에 대한 정보가 나온다. 

해당 계정에는 별 내용 없다. 

 

프리티어 사용량

aws 프리티어를 통해 계정의 사용량을 볼 수 있다. 

이번달에 사용한게 없기 때문에 안뜬다. 

 

예산 만들기

aws Budgets 예산을 만들수 있다.

요즘은 탬플릿화 되어있어서 바로 적용하기 쉽다. 

이메일로 수신할 수 있다.

생성된 aws 예산

 


31. EC2 기초 

Amazon EC2 

aws 서비스 중 가장 인기 많은 서비스 

IAAS = infrastructure as a Service

 

가상머신, EBS, ELD , ASG 등 클라우드가 어떻게 작동하는지 알 수 있는 가장 근본적인 서비스

 

EC2 sizing & configuration options

os 선택: win, mas, linux 선택 가능

cpu 의 코어 수 선택 가능

ram 용량 선택가능

스토리지 선택 가능

네트워크 카드 선택 가능

방화벽으로 보안 그룹 선택 가능

부트스트랩 스크립트 가능 

 

EC2 User Data 

EC2 user data script 를 통해서 인스턴스를 부트스트래핑할 수 있다.

 

부트스트래핑: 머신이 작동될 때 명령을 시작하는 것

스크립트는 시작할때 한 번만 실행되고 다시 실행되지 않는다. 

 

ec2 사용자 데이터 스크립트는 루트 계정에서 실행된다. 

따라서 모든 명령문은 sudo 로 해야한다.

위에 예시 처럼 수많은 인스턴스가 존재한다. 


32. 웹 사이트 실습을 위해 EC2 사용자 데이터로 EC2 인스턴스 생성

ec2 인스턴스 생성하기 

리전은 서울 리전으로

인스턴스를 생성한다. 

t2.micro, amazon linux2

보안그룹에 80번 포트 추가

사용자 데이터 편집에

 

#!/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
echo "<h1>Hello World from $(hostname -f)</h1>" > /var/www/html/index.html

 

인스턴스에 접근하기

 

해당 퍼블릭 ipv4 주소에 접속해보자 

연결 시간 초과라고 뜬다.

접속이 안되서 확인해보니

네트워크 설정시 인터넷에서 HTTP 트래픽 허용 옵션을 체크해야한다. 

 

접속했다. 그런데 접속 ip가 172-31-41-218 이라고 뜬다.

해당 주소는 프라이빗 IPv4의 주소이다. 

인스턴스를 중지하고 다시 실행하면 퍼블릭 IPV4의 주소가 변경된다. 

 

언제나 인스턴스를 추가하거나 삭제할 수 있다. 

 


33. EC2 인스턴스 유형 기본 사항

EC2 Instance Types - Overview

Amazon EC2 인스턴스 유형 – Amazon Web Services

 

Amazon EC2 인스턴스 유형 – Amazon Web Services

 

aws.amazon.com

EC2 인스턴스 유형으로  7가지가 있다.

general purpose

compute optimized

memory optimized

accelerated computing 

storage optimized

HPC optimized

instance features

measuring instane performance

aws 명명 규칙

 

m5.2xlarge 

인 경우 

m 인스턴스 클래스 - m은 범용 인스턴스

5 - 세대 5세대 인스턴스

2xlarge - 인스턴스 크기 

 

범용 인스턴스 

웹서버, 코드 저장소와 같은 다양한 작업에 적합하다.

컴퓨팅, 메모리, 네트워킹 간의 균형도 잘 맞는다. 

코드로는 t, m 이 있다.

 

컴퓨팅 최적화 인스턴스

컴퓨터 집얍적인 작업에 최적화된 인스턴스

 

배치 처리 - 데이터 일괄 처리

미디어 트랜스 코딩, 고성능 웹서버, HPC, 머신러닝, 게임서버 

코드로 c로 시작된다. 

 

메모리 최적화 인스턴스

 

대규모 데이터셋을 처리하는 유형의 작업에 빠른 성능을 제공

메모리는 RAM 을 뜻하고 고성능 관계형, 비관계형 데이터베이스에 사용하고 분산 웹스케일 캐시 저장소에도 사용

비즈니스 인텔리전스 bi 

 

스토리지 최적화

로컬 스토리지에서 대규모의 데이터셋에 액세스할 때 적합한 인스턴스 

OLTP 시스템에 사용된다. (Online transaction proceesing)

관계형 비관계형 데이터베이스 

레디스redis 와 같은 메모리 데이터베이스의 캐시나 데이터 웨어하우징 애플리케이션과 분산 파일 시스템에 사용된다

 

Amazon EC2 Instance Comparison (vantage.sh)

 

Amazon EC2 Instance Comparison

 

instances.vantage.sh

해당 사이트에서 인스턴스를 비교할 수 있다. 

 


34. 보안 그룹 및 클래식 포트 개요 

Introduction to Security Groups

보안 그룹은 AWS 클라우드에서 네트워크 보안을 실행하는데 핵심이 된다.

EC2 인스턴스에 들어오고 나가는 트래픽을 제어한다.

 

보안그룹은 허용 규칙만 포함한다.

SG only contain allow rules

보안 글부은 다른 ip 나 sg를 참조할 수 있다.

SG rules can reference by IP or by SG

우리가 ec2 의 주소로 요청하고 받을때 sg를 거친다. 

 

보안 그룹 심화 

보안그룹을 지정할때

port

ip 범위 

인바운드, 아웃바운드를 설정할 수 있다.

 

Securiy Groups Diagram

sg에서 허용하는 포트와 ip 에서 인바운드 요청이 들어오면 

아웃바운드 로 응답해준다. 

기본적으로 모든 아웃바운드는 열려있다. 

 

 

Security Groups Good to know

보안 그룹과 인스턴스는 일대일 관계가 아니다.

한 인스턴스는 여러개의 보안 그룹을 가질 수 있다. 

리전과 vpc의 결합으로 통제되어 있다.

 

리전을 변경하면 새로운 보안그룹을 생성하거나 vpc를 생성해야한다. 

 

보안그룹은 ec2 외부에 있다.

 

트래픽이 차단되면 ec2 인스턴스는 알 수 없다. 

 

ssh 액세스를 위해 보안그룹을 따로 유지하는 것이 좋다.

 

 

타임 아웃으로 애플리케이션에 접근할 수 없다면 보안그룹의 문제이다. 

 

하지만 연결을 거부되었다는 응답을 받으면 보안 그룹을 실행됐고 트래픽은 통과했지만 애플리케이션에 문제가 생겼거나 실행되지 않는 등 문제가 발생한 것이다. 

 

Referencing other securiy gorups diagram

만약 sg를 참조하면 인스턴스 끼리 보안을 쉽게 적용할 수 있다. 

 

Classic Ports to know

22 ssh

21 ftp

22 sftp (secure file transfer protocol)

80 http

43 https 

3389 rdp (remote desktop protocol)

 

참고하자!


35. 보안 그룹 실습

전 시간에 생성한 ec2 인스턴스에 연결된 보안그룹을 확인해보자

ssh 와 http 가 인바운드로 열려있다.

아웃바운드로는 모두 열려있다.

접속 잘된다.

인바운드 hhtp 를 삭제하면 타임 아웃에 걸린다. 

응답을 못받는것 -> 보안그룹의 문제 

 

보안 글부을 설정할때 source를 다른 보안그룹으로 설정할 수 있다.

::/0  은 IPv6 를 의미한다. 

 


36. SSH 개요

SSH Summary Table

윈도우 10 이하 버전에서는 putty를 사용한다. 

 

EC2 instance connect 도 쓸만하다. 

 


37. Linux 또는 Mac 을 사용하여 SSH 실행 방법

SSH is one of the most important function. It allows you to control a remote machine, all using the command line

 

ssh로 접속하면 해당 머신 안에 있는 것처럼 작동한다. 

인스턴스의 퍼블릭 ipv4를 이용한다. 

 

mac 에서 iterm 프로그램을 사용한다. 

 

ssh ec2-user@[ip]

 

permission denied 가 뜬다. 

키파일이 필요하기 때문에 

 

키파일이 있는 위치로 가서 

 

ssh -i 키파일이름 ec2-user@[ip]

위와 같이 접근하면 해당 키파일이 too open 되어있다고 한다. 

 

파일을 처음 다운로드하면 0644라는 권한이 생기는데 권한이 너무 열려 있어서 개인 키가 유출될 수 있다. 

bad permissions 가 나타난다 

 

해결할려면

chmod 400 으로 키파일 권한을 수정한다. 

 

그러면 ec2 인스턴스에 접속하게 된고 

 

whoami 명령으로 ec2-user 아이디로 로그인 한 것을 확인할 수 있다.

 

ping google.com 으로 통신확인도 해보자!

 

ctrl+D 로 로그아웃 할 수 있다.

 


38. Windows 를 사용하여 SSH 실행 방법

 

putty gen으로 ppk 파일 생성 

 

putty 로 접속하기 

 

많이 해봤으므로 패스


39. Windows 10을 사용하여 SSH 하는 방법

powershell, cmd 에서 ssh 명령어 실행

 

 

위와 같이 실행되면 ssh 사용가능하단 말씀!

 

ssh -i 키파일 위치 ec2-user@ [ip]

로 접속하면 unprotected private key file 이 떠야한다. 

 

리눅스나 mac 이면 chmod 400 으로 권한 변경을 할 수 있지만,

윈도우에서 직접 변경해줘야한다.

윈도우 파일 권한 변경하기

보안 -> 고급 옵션

그룹 또는 사용자 이름에 3명이 떠있다. 

키 소유자를 본인으로 변경한다. ( 기본은 administrator로 되어있다.)

내 이름으로 변경했다.

나 빼고 다 제거해야하는데 상속된 것이 있어서 쉽게 지울 수 없다.

상속 사용 안한다고 한다!

이제 나만 해당 파일을 사용할 수 있다.

 

로그인 잘된다!

 


40. SSH 문제 해결

SSH 트러블 슈팅

 

1) 연결 시간 초과가 발생하는 경우

보안 그룹에 문제가 있는 경우 발생합니다. 모든 유형의 시간 초과(SSH뿐만 아니라)는 보안 그룹 또는 방화벽과 관련 있습니다. 보안 그룹이 다음과 같이 설정되었는지 확인하고, EC2 인스턴스에 올바르게 할당되었는지 확인해주세요.

2) 연결 시간 초과 문제가 계속해서 발생할 경우

위와 같이 보안 그룹이 올바르게 설정되었으나 여전히 연결 시간 초과 문제가 발생하는 경우, 회사 방화벽 또는 개인 방화벽이 연결을 차단한다는 뜻입니다. 다음 강의에서 설명하는 대로 EC2 Instance Connect를 사용하세요.

 

3)SSH가 Windows에서 동작하지 않을 경우

  • ssh command not found라고 뜨면 PuTTY를 사용해야 합니다.
  • 영상을 따라 하세요. 동작하지 않는다면 다음 강의에서 설명하는 대로 EC2 Instance Connect를 사용하세요.

 

4) 연결이 거부될 경우

이는 인스턴스에는 도달할 수 있지만 해당 인스턴스에서 SSH 유틸리티가 실행되고 있지 않다는 뜻입니다.

  • 인스턴스를 재시작하세요.
  • 여전히 동작하지 않는다면, 인스턴스를 종료하고 새 인스턴스를 만드세요. 반드시 Amazon Linux 2를 사용하세요.

 

5)권한 거부(publickey,gssapi-keyex,gssapi-with-mic)

이는 다음의 두 상황에서 발생합니다.

  • 보안 키가 틀렸거나 보안 키를 사용하지 않는 경우입니다. EC2 인스턴스 구성을 확인하여 올바른 키를 할당했는지 확인하세요.
  • 잘못된 사용자를 사용할 경우에도 발생합니다. Amazon Linux 2 EC2 인스턴스에서 실행했는지 확인하고, ec2-user 사용자를 사용하고 있는지 확인하세요. SSH 명령어 또는 PuTTY 구성에서 ec2-user@<public-ip> (ex:ec2-user@35.180.242.162) 코드를 실행할 때 지정해야하는 사항입니다.

 

6) 으아아악! 아무것도 작동하지 않아요!

 

당황하지 마세요. 다음 강의를 보고 EC2 Instance Connect를 사용하세요. 반드시 Amazon Linux 2를 사용하시고, 튜토리얼을 따라하세요. :)

 

7) 어제는 연결이 가능했는데 오늘은 되지 않습니다.

EC2 인스턴스를 중단했다가 오늘 다시 시작했을 경우, 이런 일이 발생할 수 있습니다. 이 경우, EC2 인스턴스의 퍼블릭 IP가 변경됩니다. 따라서 명령어 또는 PuTTY 구성에서 새 퍼블릭 IP로 업데이트하여 저장하세요.

 


41. EC2 인스턴스 연결

EC2 Instance Connect

 

인스턴스를 누르고 인스턴스에 연결을 통해 다이렉트로 연결할 수 있다.

이 방식은 이전에 다운로드했던 SSH 키를 사용하는게 아니라 우리에게는 보이지 않는 곳에서 임시 SSH 키를 EC2 인스턴스로 업로드 하는 방식으로 작동한다. 

 

여전히 SSh 연결이 필요하다.

 

만약 보안그룹에서 인바운드 22포트를 막아버리면 인스턴스 연결애서 타임아웃 화면이 뜬다. 

 


42. EC2 인스턴스 역할 데모

EC2 인스턴스 연결

인스턴스 연결에 접속한다. 

인스턴스에서 iam 에 유저를 확인할려고 하면 자격 증명이 필요하다고 한다.

엑세스 키를 바로 적으면 접속 가능하지만 보안 관점에서 매우 위험하다.

 

등록하면 해당 인스턴스로 언제나 iam 을 확인할 수 있다. 

IAM 역할

 

지난 섹션에서 IAMReadOnlyAccess 를 가지는 IAM 역할을 만들었다.

해당 인스턴스에 IAM 역할 수정 & 업데이트 한다. 

이제 접근 가능하다. 

 


43. EC2 인스턴스 시작 

EC2 인스턴스 종류

On-Demand Instances: short workload, predictable pricing

온디멘드는 가격 예측용

 

Reserved: ( MINIMUM 1 year)

  • Reserved Instances: long workloads ( 장기 워크로드)
  • Convertible Reserved Instances: long workloads with flexible instances ( 교환형)
  • Scheduled Reserved Instances: example - every Thursday between 3 and 6 pm ( 일정 시간 예약형) | 이제 없지만 시험 출제 가능함.

Dedicated Hosts: book an entire physcial server, control instance placement (전용 호스트)

 

EC2 on Demand 

Pay for what you use

  • Linux or Windows - 초반 1분 이후 1초당 요금이 부관된다
  • 기타 os - 시간당 요금

Has the highest cost but no upfront payment

시간당 비요이 가장 높지만 선결제가 없다. 

 

No long-term commitment

장기 약정이 없다. 

 

Recommended for short-term and un-interrupted workloads, where you can't predict how the application will behave

작동 방식을 예측할 수 없는 연속적인 워크로드에 적합하다. 

 

EC2 Reserved Instances 

 

온디멘드와 비교하여 최대 75% 비용을 절감할 수 있다. 

1년 or 3년 약정을 할 수 있다. 

선결제 비율이 높을 수록 할인 비율이 높다. 

 

특정한 인스턴스 유형을 예약한다. 

워크로드가 일정한 어플리케이션에 적합하다. 

 

Convertible Reserved Instances

ec2 인스턴스 유형을 변경할 수 있다.

54% 까지의 할인율

 

Scheduled Reserved Instances

정해진 시간에 기간동안 사용한다. 

 

 

EC2 Spot Instances

온디멘드와 비교하여 최대 90% 비용을 절감할 수 있다.

 

Instances that you can "lose" at any point of time if your max price is less than the current spot price 

스팟 가격은 점진적으로 변한다. 스팟 인스턴스 사용에 최고가를 지불할 수 있을 때에만 사용할 수 있다.

 

THE MOST Cost-efficient instances in AWS 

가장 비용 효율적인 인스턴스이다 .

 

Useful for workloads that are resilient to failure

서비스 중단에도 탄력적인 워크로드에 적합하다. (서비스 중단에 복구가 쉬운 워크로드) 

 

적합한 작업

batch jobs

data analysis

image processing

any distributed workloads (분산 워크로드)

workloads with a flexible start and end time

 

not suitable for critical jobs or databases 

 

EC2 Dedicated Hosts ( EC2 전용 호스트) 

 

An Amazon EC2 Dedicated Host is a physical server with EC2 instance capacity fully dedicated to yout use. Dedicated Hosts can help you address compliance requirements and reduce costs by allowing  you to use your existing server-bound software licenses. 

EC2 인스턴스를 갖춘 유저 중심의 물리적 서버

 

즉 aws 데이터 센터 내 하나의 서버 전체를 임대한다. 

 

전용 호스트를 사용하면 준수 요건의 처리가 쉽고 기존의 서버 결합 소프트웨어 라이센스의 사용이 가능하기 때문에 비용을 절감할 수 있다.

 

compliance, server bound software licenses

 

3년의 계약 기간을 가진다. 

 

Useful for software that have complicated licensing model ( BYOL - Bring Your Own License) 

 

Or for companies that have strong regulatory or compliance nees

다른 aws 고객들은 서버를 사용할 수 없다. 

 

EC2 Dedicated Instances ( 전용 인스턴스) 

Instances running on hardware that's dedicated to you

전용 하드웨어에서 실행되는 EC2 인스턴스를 의미한다. 

 

May share hardware with other instances in same account

같은 계정의 다른 인스턴스와 하드웨어를 공유한다.

 

No control over instance placement ( can move hardware after Stop / Star) 

인스턴스가 어떻게 배치될지에 대해서는 간섭할 수 없다.

 

전용 하드웨어가 있어도 해당 하드웨어 근본에는 접근할 수 없다. 

 

전용 호스트는 호스트당 청구 | 전용 라이센스 

전용 인스턴스는 인스턴스당 청구

 

단일 고객 전용 하드웨어의 VPC 에 실행되는 EC2 인스턴스 

 


44. 스팟 인스턴스 및 스팟 집합

EC2 Spot instance Requests

온디멘드와 비교해 90% 까지 할인 받을 수 있다. 

 

최대 지불의향 가격을 정해놓고 spot 가격이 해당 가격보다 낮은경우 인스턴스를 계속해서 사용하게 된다. 

 

시간당 스팟 비용은 오퍼 및 용량ㅇ에 따라 다양하고 올라가고 내려갈 수도 있다. 

 

정의된 최고 가격보다 spot 비용이 높아지면 두가지 전략이 있다. 

 

1. 2분 유예 

완전히 종료할때까지  2분의 유예 시간이 있다. 

 

2. Spot block 

1~6 시간동안 아무 방해 없이 차단할 수 있다? 

 

배치 작업, 데이터 분석, 중단에 탄력적인 워크로드에 적합하다. 

 

절대 critical jobs or database에 사용하지 말자! 

 

 

 

온디멘드와 비교했을때 비용을 크게 절감할 수 있다. 

 

How to terminate Spot Instances? 

요청시 인스턴스 개수, 최고 지불 의사 가격, ami 요구되는 사양

 

spot 인스턴스 요청은 1회성과 지속적인 요청 2가지가 있다. 

 

1회성 요청 -> 스팟 인스턴스가 시작되고 요청은 사라진다. 

스팟 요청이 사라져도 괜찮은 경우에 사용하는 유형이 된다. 

 

지속적인 요청 -> 스팟 요청에 기재한 valid from, valid until 동안 인스턴스들이 계속 유효하다. 

즉 어떤 이유로 인스턴스가 중단되거나 스팟 가격 상승을 이유로 방해를 받은 경우에는 스팟 요청이 다시 전달되어 요청이 검증되고 나면 스팟 인스턴스가 재시작된다 .

 

스팟 요청이 활성화 되어있는 동안  인스턴스를 종료해도 스팟요청이 자동적으로 인스턴스를 재시작한다. 

 

스팟 요청의 상태

spot instance request 가 open, active, disabled 일때만 취소할 수 있다.  cancelled 

cancelling a spot request does not terminate instances 

스팟 요청을 종료한다고 인스턴스가 제거되지 않는다. 

 

인스턴스 제거는 임의로 맞긴다. 

 

인스턴스를 제거할려면 

스팟요청 종료 -> 인스턴스 제거를 해야한다. 

 

Spot fleets 

스팟 플릿은 스팟 인스턴스 + 온디맨드 인스턴스라고 생각하면 된다. 

 

런치 풀에서 다양한 인스턴스 타입을 미리 정의한다. 

플릿이 최적화된 좋은 런치풀을 선택한다. 

 

 

 

lowestPrice

최저가에 맞춘다.  짧은 워크로드에 적합

 

diversified 

정의한 모든 풀에 걸쳐 분산 된다.  긴워크로드에 적합

 

capacityOptimized

인스턴스 갯수에 따라서 최적 용량으로 실행된다. 

 

단순 스팟요청과 달리 스팟 플릿은 여러 인스턴스 유형을 여러 조건에 따라 실행한다는 차이가 있다.


45. EC2 인스턴스 launch type 실습 

1. Spot request

요금 내역

스팟 요청해

 

스팟 인스턴스 요금 내역
그래프, 인스턴스 유형, 플랫폼 , 날짜 범위 등을 통해서 요금 비교를 할 수 있다.

얼마나 비용을 절감하는지 확인 

스팟 인스턴스 요청 

시작 파라미터에는 ec2를 실행했을때 필요한 파라미터들을 넣는다.

추가 요청 세부 정보에서  (additional request detail)

요청 유효 시작 시간, 요청 만료 시 인스턴스 종료, 로드밸런서 선택, 대상 그룹등을 지정할 수 있다. 

 

인슨턴스, vCPU, 메모리 고를 수 있다. 

목표 용량 ( target capcity ) 에서 

목표 용량 유지 옵션을 체크하면 인터럽트 될때 인슨턴스가 종료, 중지, 수면 상태가 되는지 지정할 수 있다.

네트워크에서 vpc 와 az를 선택할 수 있다.

인스턴스 유형을 선택할 수 있다.

인스턴스 유형 직접 선택을 통해서 인스턴스를 직접 선택할 수 있다. 

 

할당 전략 allocation Strategy

할당 방식에 가격 용량 최적화, 용량 최적화, 최저가격이 있다. 

 

EC2 에서 spot instance 실행 

고급 세부 정보에서 스팟 인스턴스 요청이 있다. 

( 전 버전에서는 가격 옵션이 떳는데 여기서 안보인다. ) 

인스턴스 종료에 대한 여러가지 옵션이 있다. 

 

Purchasing Reserved Instance

검색을 누르자

다양한 구매옵션이 있다. 구매하면 비싸다. 

요즘은 saving plan이 더 잘나간다. 

 

dedicated host

전용 호스트 할당 

전용 호스트 설정 

 

Create a capacity reservation 용량 예약

EC2 인스턴스의 실행에서 용량의 사용 가능 여부를 확실하게 하고자 할 때 사용한다. 

인스턴스가 실행 중이든 아니든, 요금이 부과된다. 

 

 


Quiz 2 : EC2 기초 퀴즈 

1. 다음 중, 할인 폭이 가장 크나, 데이터베이스 혹은 중요 업무에는 적합하지 않은 EC2 구매 옵션은 무엇인가요?

 

스팟 인스턴스는 단기적인 워크로드에 적합하며, 가장 저렴한 EC2 구매 옵션입니다. 하지만 EC2 인스턴스를 손실할 우려가 있기 때문에, 신뢰도가 떨어집니다.

 

2. EC2 인스턴스 내/외의 트래픽을 제어하기 위해서는 무엇을 사용해야 하나요?

보안 그룹은 EC2 인스턴스 레벨에서 운용되며, 트래픽을 제어할 수 있습니다.

 

3. EC2 예약 인스턴스를 예약할 수 있는 기간은 얼마인가요?

EC2 예약 인스턴스는 1년, 혹은 3년의 기간으로만 예약이 가능합니다.

 

4. EC2 인스턴스에 고성능 컴퓨팅(HPC) 애플리케이션을 배포하려 합니다. 다음 중 어떤 EC2 인스턴스 유형을 선택해야 할까요?

컴퓨팅 최적화 EC2 인스턴스는 고성능 프로세서(예: 배치 처리, 미디어 트랜스코딩, 고성능 컴퓨팅, 과학적 모델링 및 머신 러닝, 전용 게이밍 서버 등)가 필요한 집중 컴퓨팅 워크로드에 적합합니다.

5. 1년 간 지속적으로 서버를 운영할 계획인 애플리케이션의 경우에는 다음 중 어떤 EC2 구매 옵션을 사용해야 할까요?

예약 인스턴스는 장기적인 워크로드에 적합합니다. EC2 인스턴스는 1년, 혹은 3년의 기간으로 예약할 수 있습니다.

 

6.일련의 EC2 인스턴스에 호스팅 될 애플리케이션을 실행하려 합니다. 이 애플리케이션에는 소프트웨어 설치가 필요하며, 최초 실행 중에 일부 OS 패키지를 업데이트해야 합니다. EC2 인스턴스를 실행하려는 경우, 이를 위한 최적의 방식은 무엇일까요?

EC2 사용자 데이터는 bash 스크립트를 사용해 EC2 인스턴스를 부트스트랩 할 경우에 사용됩니다. 이 스크립트에는 소프트웨어/패키지 설치, 인터넷에서 파일 다운로드 등, 여러분이 원하는 작업을 수행하기 위한 명령어를 포함시킬 수 있습니다.

 

7. 인메모리 데이터베이스를 사용하는 중요 애플리케이션을 위해서는 다음 중 어떤 EC2 인스턴스 유형을 선택해야 할까요?

메모리 최적화 EC2 인스턴스는 메모리에 대규모 데이터 세트가 필요한 워크로드에 적합합니다.

 

8. 온프레미스에 호스팅된 OLTP 데이터베이스를 갖춘 전자 상거래 애플리케이션이 있습니다. 이 애플리케이션은 인기가 좋아, 데이터베이스가 초당 수천 개의 요청을 지니게 됩니다. 여러분은 데이터베이스를 EC2 인스턴스로 이전하려 합니다. 이렇게 높은 빈도를 보이는 OLTP 데이터베이스를 처리하기 위해서는 어떤 EC2 인스턴스 유형을 선택해야 할까요?

스토리지 최적화 EC2 인스턴스는 로컬 스토리지의 대규모 데이터 세트에 대해 높은 수준의, 그리고 순차적인 읽기/쓰기 액세스 권한이 필요한 워크로드에 적합합니다.

9. 보안 그룹은 오직 하나의 EC2 인스턴스에만 연결될 수 있습니다.

보안 그룹은 동일한 리전/VPC 내에 있는 다수의 EC2 인스턴스에 연결될 수 있습니다.

 

10. 온프레미스 애플리케이션을 AWS로 이전하려 합니다. 여러분의 기업에는 애플리케이션을 전용 서버에서 실행해야 한다는 엄격한 규정이 있습니다. 또한 비용 절감을 위해 전용 서버 바운드 소프트웨어 라이선스를 사용해야 합니다. 이 경우, 다음 중 어떤 EC2 구매 옵션이 적합할까요?

전용 호스트는 높은 수준의 규정 준수가 필요한 기업, 혹은 복잡한 라이선스 모델을 가진 소프트웨어에 적합합니다. 이는 가장 비싼 EC2 구매 옵션입니다.

 

11. 데이터베이스 기술을 EC2 인스턴스에 배포하려 합니다. 공급 업체 라이선스는 물리적 코어 및 기반 네크워크 소켓 가시성를 기반으로 비용을 책정합니다. 이 경우, 어떤 EC2 구매 옵션을 사용해야 가시성을 확보할 수 있을까요?

【한글자막】 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 시작하기

 


11. IAM 소개: 사용자, 그룹, 정책

IAM 사용자와 IAM Group 예시

계정을 생성하면 루트 계정이 자동으로 생성된다. 

하지마 루트 계정을 그대로 사용하는 것은 위험하다.

대신 IAM 사용자를 생성한다.

 

IAM 사용자를 생성할때 그룹을 만들 수 있다. 

b,c 는 개발팀

d,e,f는 테스터팀 

a는 무소속 

이런식으로 구성해도 된다. ( 꼭 iam 사용자가 그룹에 속할 필요없다.) 

Users don't have to belong to a group, and user can belong to multiple groups. 

 

그리고 b,d를 따로 그룹을 지정해도 가능하다. ( 다른 그룹과 중복으로 속해도 된다. ) 

 

하지만 그룹이 밑에 하위 그룹을 둘 수는 없다. 

Users don't have to belong to a group, and user can belong to multiple groups.

 

IAM:Permissions 

사용자와 그룹을 생성하는 이유는 ?

-> aws 계정을 사용하도록 허용하기 위해서 

허용을 위해서는 권한을 부여해야한다.

이를 IAM Permissions , IAM 정책이라고 한다 .

JSON 형식의 문서이다. 

Users or Groups can be assigned JSON documents called policies

 

 

Iam statement는 

resource, action, effect 로 구성되어있다. 

s3 자원에서 모든 버킷을 리스팅하는 작업을 허용한다. 

The policies define the permissions of the users.

 

aws에서는 최소 권한의 원칙을 적용한다. 

즉 사용자가 꼭 필요로 하는 것 이상의 권한을 주지 않는다 .

In AWS you apply the least privilege principle: don't give more permissions than a user needs 

 

사용자가 세 개의 서비스에 접근해야 한다면 그에 대한 권한만 생성하는 것이다 .

 


12. IAM 사용자 및 그룹 실습

IAM 대시보드

대시보드를 확인하면 IAM 서비스는 글로벌 서비스인 것을 확인할 수 있다. (리전을 선택할 필요없다.)

 

IAM 사용자 추가

사용자에 들어가서 사용자 추가

비밀번호 재설정 할 필요없다 .

IAM 그룹 생성

 

그룹을 생성한다. 

admin 을 그룹이름으로 지정하고 

administrator Access 정책을 연결한다. 

해당 정책을 admin 그룹에 속한 모든 사용자가 계정의 관리자 역할을 하도록 허용하는 것이다. 

태그 추가

department 라는 키, devops 라는 값을 줬다.

aws 의 다양한 리소스에 태그를 추가할 수 있다. 

사용자의 접근을 추적, 조직, 제어할 수 있도록 도와주는 정보이다 .

사용자가 생성되었다. 

정책에 연결된 것을 볼 수 있다. 

대시보드를 확인하고 계정의 id는 iam 과 root 동일하다.

계정 별칭을 생성할 수 있다. 

별칭 설정하기 

소문자로 해야한다.

해당 로그인 url로 접속하면 iam 사용자 이름과 비밀 번호로 로그인 할 수 있다. 

왼쪽이 루트계정 우측이 iam 계정으로 로그인했을때


13. IAM 정책

IAM Policies inheritance 

빨강색 체크리스트는 정책이다.

그룹에 속하지 않은 경우 사용자에게만 연결이 가능한 인라인 정책을 생성할 수 있다. 

charles 의 경우 개발팀과 감사팀의 정책이 적용된다. 

 

IAM Policies Structure

Version , Id, statement(문장) 로 구성된다. 

문장 안에는 문장id

Effect는 해당 api에 접근하는 걸 허용할지 거부할지에 대한 내용이다. 

pricipal은 특정 정책이 적용될 사용자, 계정, 혹은 역할로 구성 된다. 

action은 effect에 기반에 허용 및 거부되는 API 호출의 목록이다. 

resource는 적용될 action의 리소스의 목록이다.


14. IAM 정책 실습

사용자 그룹에서 사용자 삭제하기

관리자 그룹 admin 에서 사용자 BOGBOG-A 사용자를 제거하자
bogbog-a 계정에서 iam 페이지에 접속할 시

그러면 BOGBOG-A 사용자 그룹에서 IAM 페이지에 들어가면 아무것도 할 수 없다. 

 

이 작업을 수행하는 데 필요한 권한이 없습니다. 관리자에게 권한 추가를 요청하십시오.

 

User: arn:aws:iam::721394111420:user/BOGBOG-A is not authorized to perform: iam:ListUsers on resource: arn:aws:iam::721394111420:user/ because no identity-based policy allows the iam:ListUsers action

 

bogbog-a 계정에서 해당 작업을 수행할려면 정책을 추가해야한다. 

 

사용자에게 정책 추가하기

bogbog-a 계정에서 iam 을 사용할려면 

1. 다시 admin 그룹에 추가하거나

2. iam 권한을 추가하거나 

이다. 

 

루트 계정에서 사용자-> bogbog-a 권한을 추가하자
기존 정책 직접 연결에서 IAMReadOnlyAccess 를 추가하자

 

이제 bogbog-a 계정에서 IAM 을 사용할 수 있다 .

하지만 readonlyaccess 권한만 줬기 때문에 

bogbog-a 계정은 사용자 그룹을 생성할 수 없다. 

정책 연결되는 형식

 

1. bogbog-a 계정을 admin 그룹에 추가하고

2. developers 라는 그룹을 생성하고 bogbog-a 추가, 눈에 보이는 첫번째 정책을 추가하자. 

bogbog-a 계정에서 확인하면 직접 연결된 정책과 그룹에서 연결된 정책을 확인할 수 있다. 

정책 유형에서 어느 그룹에서 온 건지 확인할 수 있다. 

정책의 작동 방식

정책으로 가면 수 많은 aws 산하의 정책들이 있다. 

AdministratorAccess를 확인하면

모든 자원과 모든 action에 대해 허용된 것을 볼 수 있다.

정책 요약을 확인하면 357개의 서비스 모든 엑세스가 가능하다.

다른 정책과 비교 - IAMReadOnlyAccess

IAM 과 관련된 action만 허용된다. 

정책 생성하기

JSON 코드 직접 작성

직접 작성하거나 

시각적 편집기 - visual Editor 사용

시각적 편집기에서 선택할 수 있다.
그리고 JSON 으로 생성된다.

developers 그룹 삭제하고 bogbog-a 개인 정책도 삭제하자 ( 실습 정리)

그룹에서 제공하는 정책만 남기도록 하자.


15. IAM MFA 개요

사용자들의 정보 보호를 위해 할 수 있는것으로

1. 강력한 비밀번호, 2. MFA (다요소 인증)

가 있다. 

IAM - Password Policy

AWS 에서 비밀번호의 길이를 정하거나

특정한 문자가 포함하도록 하거나

비밀번호 변경을 강제하거나 

변경시 동일한 비밀번호나 이전 비밀번호를 사용하지 못하게 할 수 있다. 

 

Multi Factor Authentication - MFA

비밀번호 + MFA 장치 를 이용해 보안성을 높인다. 

MFA devices options in AWS 

1. virtual MFA device 

2. physical device

 


16. IAM MFA 실습

비밀번호 정책 변경

다양한 옵션이 존재한다.

액세스 관리 -> 계정 설정 -> 암호정책 -> 편집

MFA 적용하기 

 

보안 자격 증명으로 이동

 

여기서 하면 된다.

mfa 할당

 

mfa를 장치를 잃어버리면 로그인이 불가능하니 여기까지만... 


17. AWS 엑세스 키,CLI 및 SDK 

How Can users access AWS? 

1.  AWS Management Console (protected by password + MFA)

2. AWS Command Line Interface (CLI): protected by access keys

3. AWS Software Developer kit (SDK) - for code: protected by access keys

 

Access key

엑세스 키란 자격 증명으로 

터미널에서의 AWS 엑세스를 가능하도록 해준다. 

sdk 도 마찬가지로 엑세스키로 보호가 된다. 

 

사용자 측면에서 엑세스 키는 비밀번호와 마찬가지이다. 

자신만의 엑세스 키를 생성하면 동료와 공유해서는 안된다.

 

What's the AWS CLI?

 

명령줄 인터페이스를 통해 aws와 상화작용 할 수 있도록 해주는 도구이다. 

직접 스크립트를 작성하여 일부 작업을 자동화 시킬 수 있다. 

관리 콘솔 대신 사용하고는 한다. 

 

What's the AWS SDK?

특정 언어로 된 라이브러리의 집합

프로그래밍 언어에 따라 개별 SDK 가 존재한다. 

AWS 서비스나 API에 프로그래밍을 위한 엑세스가 가능하도록 도와준다.


18. Windows 에서 AWS CLI 설정

설치

최신 버전의 AWS CLI 설치 또는 업데이트 - AWS Command Line Interface (amazon.com)

 

최신 버전의 AWS CLI 설치 또는 업데이트 - AWS Command Line Interface

이전 버전에서 업데이트하는 경우 unzip 명령을 실행하면 기존 파일을 덮어쓸지 묻는 메시지가 표시됩니다. 스크립트 자동화와 같은 경우에 이러한 프롬프트를 건너뛰려면 unzip에 대한 -u 업데이

docs.aws.amazon.com

windows aws cli 를 검색한다. 

windows 선택, msi 설치

설치후 인스톨러 실행하기

실행 확인

cmd 창을 열어서 

aws --version을 입력해보자!

설치가 잘된것을 볼 수 있다! 2.9.13 버전이다. 


19. MAC OS X에서 aws cli 설정

마찬가지로 aws cli mac os 검색하고 

pkg 파일을 설치한다.

 

terminal 에서 

aws --version 확인하기 !

 


20. Linux 에서 AWS CLI 설정 

리눅스 명령어로 설치를 진행한다.

리눅스에서 aws cli 검색하고 설치

 


21. AWS CLI 실습

엑세스 키 생성 -> cli 로 접속 -> 콘솔에서 작업을 cli에서 작업해보기 

 

엑세스 키 생성

사용자 계정으로 로그인해서( 루트 계정으로 엑세스 키 만들지 말자!) 

iam -> 사용자 -> 보안 자격 증명으로 간다.

 

엑세스 키 만들기!

액세스 키id와 비밀 액세스 키가 생성된다.

cmd에서 aws configure 를 입력하고 액세스 키 id 비밀 액세스 키 

리전을 입력한다. 포맷은 디폴트를 사용한다. 

aws iam list-users (users 이다. 오타 조심) 입력하면 

모든 사용자를 보여준다. 

 

관리 콘솔에서 작업

bogbog-a 사용자를 제거하자.

루트 계정의 admin 그룹에서 사용자를 제거해보자

사용자는 콘솔에서 iam을 사용할 수 없다.

 

cli에서도 iam 에 접근할 수 없다.

 

cli에서 iam list-users를 호출하면 액세스가 거부됐기 때문에 응답이 없다.

cli의 권한은 iam 콘솔에서와 똑같은 권한이라는 뜻이다.

 

관리 콘솔을 통해 액세스 or cli + 액세스 키 

할 수 있다. 

 

사용자를 admin 에 다시 추가하고 실습 마무리 


22. AWS CloudShell: Region 가용성

다음 강의에서 aws cloudshell을 사용하는데 모든 리전에서 사용할 수 있는 것은 아니다.

  • 미국 동부(오하이오)
  • 미국 동부(버지니아 북부)
  • 미국 서부(오리곤)
  • 아시아 태평양(뭄바이)
  • 아시아 태평양(시드니)
  • 아시아 태평양(도쿄)
  • 유럽(프랑크푸르트)
  • 유럽(아일랜드)

확인하고 실습하자!

 


23. AWS 클라우드 쉘

우측에 cmd 표시가 있다.

aws cloudshell 이다. 

cloudshell 간단 실습

aws --version

간단한 명령어도 수행가능하다.

 

cloudshell은 aws 클라우드에서 무료로 사용 가능한 터미널 같은 개념

똑같이 명령어 수행 가능하다. 

맨뒤에 --region 옵션을 추가함으로써 호출을 할 리전을 지정할 수 있다.

기본적으로 로그인된 리전으로 되어있다. 

파일 생성하고 다운로드 받기 

원래 파일이 없다.

demo.txt 파일을 생성하자

경로를 입력하고
해당 파일을 다운 받을 수 있다. 

 

쉘을 분할로 열 수도 있다.

 


24. AWS 서비스에 대한 IAM Role

IAM Roles for Service

사용자와 마찬가지로 aws 서비스도 권한을 부여해야한다.

그러기 위해서는 IAM Role이라는 것을 만들어야한다.

실제 사람이 사용되도록 만들어진 것이 아니라  AWS 서비스에 의해 사용되도록 만들어졌다.

 

 

 

예를 들어 EC2 인스턴스에서 다른 aws 서비스 s3에 접속해야한다고 가정하자. 

그러기 위해서는 EC2 인스턴스에 권한을 부여해야한다. 

 

이를 위해 IAM Role을 만들어 이를 하나의 개체로 만든다.

 

인스턴스가 aws에 있는 어떤 정보에 접근하려고 할 때 IAM Role 을 사용하게 된다.

 


25. IAM Role 실습

IAM Role 생성하기

역할 만들기, EC2 선택

IAMReadOnlyAccess 를 추가한다. 

DemoRoleForEC2 라는 이름으로 역할을 만들었다.

다음과 같이 역할이 생성되었다.

ec2 섹션에서 역할을 사용해보자!


26. IAM 보안 도구

IAM 보안 도구

IAM Credentials Report (account-level) 계정수준

IAM 자격 증명 보고서를 만들 수 있다.

 

IAM Access Advisor (user-level) 사용자 수준

사용자에게 부여된 서비스의 권한과 해당 서비스에 마지막으로 액세스한 시간이 보인다.

최소권한의 원칙에 따랐을 때 매우 도움이 되는 정보이다. 

해당 도구를 사용하여 어떤 권한이 사용되지 않는지 볼 수 있고 따라서 사용자의 권한을 줄여 최소권한의 원칙을 지킬 수 있다.


27. IAM 보안 도구 실습

자격증명 보고서 생성

 

iam에서 자격증명보고서를 생성한다.

엑셀 파일에 정보가 있다.

비밀번호 변경 주기 활성화 , mfa 여부 , 액세스키 생성 여부 등 많은 정보를 얻을 수 있다. 

 

액세스 관리자

iam -> 사용자 -> 액세스 관리자

EC2, IAM 등 최근 4시간 동안의 활동 내역을 보여준다. 

 


28. IAM 모범 사례

루트 계정은 AWS 계정을 설정할 때를 제외하고 사용하지 마세요

하나의 aws 사용자는 한 명의 실제 사용자를 의미한다. 

다른 사용자를 만들고 싶다면 그룹에 넣어 해당 그룹의 권한을 부여해준다. 

비밀번호 정책을 강력하게 만든다. 

mfa 사용 권장

aws 서비스에 권한을 부여할 때마다 역할을 만들고 사용하자.

cli,sdk를 사용할 경우 반드시 액세스 키를 만들어야 한다.

계정 권한을 감사할 때는 IAM 자격 증명 보고서와 IAM 액세스 분석기를 사용할 수 있다.

 

IAM 사용자와 액세스 키를 공유하지 마세요!


29. IAM 요약

  • Users :  aws 콘솔에 대한 비밀 번호를 가진다.
  • Groups: 그룹을 사용하자!
  • 정책: 사용자나 그룹에게 JSON 형식의 정책을 부여할 수 있다.
  • 역할: aws 서비스에 어떤 권한을 주려고 할때 role을 사용한다. 
  • 보안: MFA 와 비밀번호 정책
  • 액세스 키: cli, sdk를 이용할 때 액세스 키가 필요하다. 
  • 감사: iam 자격증명보고서 또는 iam 액세스 관리자를 이용할 수 있다.

30. IAM & AWS CLI 퀴즈

1. 다음 중 IAM 역할의 올바른 정의는 무엇일까요?

일부 AWS 서비스는 여러분을 위해 특정 행동을 수행해야 합니다. IAM 역할은 이러한 권한을 할당하기 위해 사용됩니다.

2. 다음 중 IAM 보안 도구에 해당되는 것은 무엇인가요?

 

보안도구는 자격증명 보고서, 액세스 관리자

IAM 자격 증명 보고서에는 AWS 계정의 모든 IAM 사용자와 이들의 다양한 자격 증명 상태가 포함되어 있습니다.

 

3. IAM 사용자에 대해 잘못 서술된 내용을 고르세요.

 

IAM 사용자들은 자신만의 자격 증명(사용자 이름 & 비밀번호, 혹은 액세스 키)을 통해 AWS 서비스에 액세스합니다.

 

4. 다음 중 IAM 모범 사례에 해당하는 것은 무엇인가요?

루트 계정은 최초 IAM 사용자 생성과 일부 계정/서비스 관리 업무에만 사용됩니다. 일상적인 업무에는 IAM 사용자를 사용하셔야 합니다.

 

5. IAM 정책은 무엇인가요?

 

6. IAM 권한에는 다음 중 어떤 원칙이 적용되어야 할까요?

정답입니다! 사용자에게 필요 이상의 권한을 부여하지 마세요.

 

7. 루트 계정 보안을 향상시키기 위해서는 어떤 작업을 수행해야 할까요?

MFA를 활성화할 경우, 보안에 하나의 층을 더 추가하게 됩니다. 비밀번호가 유출되었거나 도용을 당한 경우에도, 여러분의 계정은 안전합니다.

 

8. IAM 사용자 그룹은 IAM 사용자 및 기타 사용자 그룹을 포함할 수 있습니다.

IAM 사용자 그룹은 IAM 사용자만을 포함할 수 있습니다.

 

그룹안에 그룹을 넣을 수는 없다!

 

9. IAM 정책은 하나 이상의 문장으로 구성됩니다. IAM 정책 내 문장의 구성 요소가 아닌 것을 고르세요.

IAM 정책의 문장은 시드, 효과, 원칙, 조치, 리소스, 그리고 조건으로 구성됩니다. 버전은 IAM 정책 자체의 일부이지, 문장의 일부가 아닙니다.

 

statement에 sid, effect, principal, action, resource, condition

 

iam 자체 정책은 id, version, statement 이다.

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

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

 

 


8. AWS 클라우드 개요 - 리전 및 AZ 

AWS Cloud History

처음엔 본인들이 사용할려고 인프라를 사놨다가 외부에 인프라를 제공하면서 시작했다.

 

AWS Cloud Number Facts

돈을 무지 많이 번다. 

 

AWS Cloud Use Cases

심지어 많은 회사가 사용하고 용도도 많다. 

 

AWS Gloubal Infrastructure

인프라를 정말 많이 깔아놨다. 

글로벌 인프라 리전 및 가용 영역 (amazon.com)

 

글로벌 인프라 리전 및 가용 영역

AWS는 컴퓨팅, 스토리지, 데이터베이스, 분석, 네트워킹, 기계 학습 및 AI, 모바일, 개발자 도구, IoT, 보안, 엔터프라이즈 애플리케이션을 비롯하여 광범위한 글로벌 클라우드 기반 제품을 제공하

aws.amazon.com

 

각각의 리전들이 모여 거대한 네트워크를 이룬다 . aws의 사설 네트워크 

 

리전을 확대해보면 가용영역으로 구성된 것을 볼 수 있다. 

 

AWS Regions

Regions은 전세계에 걸쳐있다.

데이터 센터의 집합! 

대부분의 aws 서비스는 리전에 국한되어 있다.

 

How to choose an AWS Region?

리전을 선택할 때 기준은? 상황에 따라 다르다.

1. 컴플라이언스 준수

2. 근접성 

3. 서비스 가용성

4. 가격

 

proximity: 근접성

 

AWS Availability Zones 

한 리전에 az가 3개 정도 구성되어있다. 

시드니 리전 같은 경우 3개의 가용영역으로 구성되어 있다. 

하나 또는 두개의 개별적인 데이터 센터로 이루어져 있다. 

 

만약 하나의 az가 고장이 나더라도 다른 az에 영향이 가지 않도록 구성했다. 

 

높은 대역폭의 초저지연 네트워킹 서로 연결되어 리전을 형성한다. 

 

AWS Points of Presence ( Edge Locations) 

콘텐츠 전송지점 

덕분에 빠르게 콘텐츠를 볼 수 있다. 

 

Tour of the AWS Console 

글로벌 서비스와 특정 리전에서만 지원하는 서비스가 있다. 

AWS 리전 서비스 (amazon.com)

 

AWS 리전 서비스

 

aws.amazon.com

리전 테이블을 통해 리전마다 지원하는 서비스를 확인할 수 있다. 

 


9. AWS 의 콘솔 및 서비스 둘러보기 

리전 선택 

 

서비스 선택

iam 같은 경우 모든 리전에서 사용 가능하다. 

우측을 확인하면 서비스가 해당 리전에서 지원하는지 확인 가능하다.


10. 코스의 UI 변경 사항 

스위치를 통해서 옛날 ui를 사용할 수 있다.

+ Recent posts