본문 바로가기
  • RATEL.SHO
[AWS]

AWS(Amazon Web Service) 입문자를 위한 강의 #1

by ratelsho 2023. 10. 10.

 

AWS 지원 기능

1. As You Pay Go 서비스                  // 쓰는 만큼 비용을 지불한다
2. Free-tier 서비스
3. 루트(Root) 사용자 

IAM은 유니버셜(Universal) 합니다. -> 지역 설정이 필요 없음


IAM ( Identity and Access Management )

IAM ( Identity and Access Management ) : 유저를 관리하고 접근 레벨 및 권한에 대한 관리

1. 접근키(Access Key), 비밀키 (Secret Access Key)
2. 매우 세밀한 접근 권한 부여 기능 (Granular Permission)
3. 비밀번호를 수시로 변경 가능케 해줌   
4. Multi - Factor Authentication (다중 인증) 기능

생성 가능한 것

1. 그룹 (Gruop)
2. 유저 (User)
3. 역활 (Role)     // 하나 혹은 두 개의 정책을 부여가능
4. 정책 (Policy)  // json document
         4-1. 정책은 그룹, 역활에 추가시킬 수 있다.
         4-2. 하나의 그룹 안에 다수의 유저가 존재 가능하다.

IAM 정책 시뮬레이터

1.개발환경 ( Staging ro Develop) 에서 실제환경 (Production)으로 빌드하기전 IAM 정책이 잘 작동되는지 테스트하기 위함

2. IAM과 관련된 문제들을 디버깅하기에 최적화된 툴 (이미 실제로 유저에 부여된 다양한 정책들도 테스트 가능)


EC2

EC2  = Elastic Compute Cloud (EC2) 

// 클라우드라는 공간에서 크기가 유연하게 변경되는 기능을 제공해준다.

// 예측할 수 없는 데이터 처리가 빈번하기 때문에 유리하다.

// 사용하는만큼 늘려주고 줄여주며 효율적으로 사용하게함.

 

EC2 사용 시 내는 다양한 지불 방법

1. On-demand : 시간 단위로 가격이 고정되어 있음         // 소프트웨어 개발 초기 단계에 종종 쓰임

2. Reserved : 한정된 EC2 용량 사용 가능, 1-3년동안 시간별로 할인           

//일정량을 대여해서 사용    ex) 비행기 지정석 구매, On-demand보다 저렴, 크기 <-> 조절 불가

3. Spot : 입찰 가격 적용. 가장 큰 할인율을 적용받으며 특히 인스턴스의 시작과 끝기간이 전혀 중요하지 않을 때 매우 유용

// 가격을 경매로 구매한다고 생각하면 됌 

EC2를 사용하기 위해 ESB라는 디스크 볼륨을 요구한다. // ESB는 EC2에 부착되어 있는 디스크이다. 


EBS

EBS (Elastic Block Storage) : EC2 인스턴스에 부착되는 가상 하드 디스크

1. 저장 공간이 생성되어지며 EC2 인스턴스에 부착된다.

2. 디스크 볼륨 위에 File System이 생성된다.

3. EBS는 특정 Availability Zone에 생성된다.

 

Availability Zone (AZ)

// 하나의 Region안에 여러개의 AZ존재 가능하다.

Disaster Recovery

1. 중심부로부터 AZ로 뿌려지며 한 쪽 서버가 망가지거나 셧다운 경우 AZ 백업을 통해 서비스 제공을 가능하게 한다.

EBS 볼륨타입

SSD군

1) General Purpose SSD (GP2) : 최대 10K IOPS를 지원하며 1GB당 3IOPS 속도가 나옴   

     //가장 보편적으로 사용, 성능 가격 면에서 

2) Provisioned IOPS SSD (I01) : 극도의  I/O률을 요구하는( 예시 : 매우 큰 DB관리) 환경에서 주로 사용됨. 10K 이상의           IOPS를 지원함     //방대한 양의 데이터 처리에 사용 

Magnetic/HDD군

3) Throughput Optimized HDD (ST1) : 빅데이터 Datawarehouse, Log 프로세싱시 주로 사용 (boot volume으로 사용가능x)

     // 운영체제를 가지고 있을 수 없음

4) CDD HDD (SC1) : 파일 서버와 같이 드문 volume 접근시 주로 사용, 역시 boot volume으로 사용 불가능하나 비용은 매      우 저렴함    // 입출력의 비율이 빈번치 않을 때 사용, 오랫동안 보관해도 괜찮을 때 사용, root 볼륨으로 사용 불가

5) Magnatic (Sandard) : 디스크 1GB당 가장 싼 비용을 자랑함. Boot volume으로 유일하게 가능함

    // 루트 볼륨으로 사용 가능

 


ELB

ELB(Elastic Load Balancers) : 웹 상에서 흐르는 수 많은 서버의 흐름을 한 쪽으로 치우치지않고 균형있게 유지 

1. 수많은 서버의 흐름을 균형있게 흘려보내는데 중추적인 역활을 함

2. 하나의 서버로 traffic이 몰리는 병목현상(bottlenect) 방지

3. Traffic의 흐름을 Unhealthy instance -> healthy instance로

ELB 종류

1. Application Load Balancer : OSI Layer 7에서 작동됨

-> HTTP, HTTPS와 같은 traffic의 load balancing에 가장 적합함

-> 고급 request 라우팅 설정을 통하여 특정 서버로 request를 보낼 수 있음

// ELB가 임의로 하지 않고 커스텀마이징이 가능함

 

2. Network Load Balancer : OSI Layer4에서 작동됨, 매우 빠른 속도를 자랑하며 Production환경에서 종종 쓰임

-> 극도의 performance가 요구되는 TCP traffic에서 적합함

-> 초당 수백만개의 request를 아주 미세한 delay로 처리 가능

 

3. Classic Load Balancer : 현재 Legacy로 간주됨, 따라서 거의 쓰이지 않음

-> Layer7의 HTTP/HTTPS 라우팅 기능 지원

-> Layer4의 TCP traffic 라우팅 기능도 지원

// 시험에 가장 자주 나옴

Load Balancer Error : 504 ERROR

// 웹서버, 데이터베이스 Layer 에서 주로 발생

X-Forwarded-For 헤더

//EC2는 Private IP address밖에 볼 수 없음. X-Forwarded-For 헤더를 통해서 볼 수 있음


Route53

AWS에서 제공하는 DNS 서비스

1. EC2 instance

2. S3 Bucket

3. Load Balancer


Putty - ssh 사용하여 원격 서버에 접속할 수 있게 해주는 오픈소스 터미널 어플리케이션

Puttygen - pem파일을 ppk파일로 변환


RDS

Relational DB 종류 (AWS RDS에서 사용 가능)

- Microsoft SQL, Oracle, MySQL, Postgre, Aurora, Maria DB

Data Warehousing

1. Business Intelligence

2. 리포트 작성, 데이터분석 시 사용 (Production Database -> Data Warehousing)

3. 매우 방대한 분량의 데이터 로드 시 사용

OLTP VS OLAP

OLTP : Internet와 같이 종종 사용되어지는, 혹은 규모가 작은 데이터를 불러올 때 사용되는 SQL쿼리가 필요할 때 유용

            ex) Order # 210에만 해당되는 customer 이름, 주소, 시간 정보 INSERT

OLAP : 매우 큰 데이터를 불러올 때 사용. 주로 덩치가 큰 SELECT 쿼리가 사용됨

            ex) 특정 회사 부서의 Net Profit, Products


RDS - Database Backups

백업기능 

1. Automated Backups (자동 백업)

2. DB Snapshots (데이터베이스 스냅샷)

1. Automated Backups(AB) - 자동백업

1. Retention Period(1~35일) 안의 어떤 시간으로 돌아가게 할 수 있음 

2. AB는 그날 생성된 스냅샷과 Transaction logs(TL)을 참조함 

3. 디폴트로 AB기능이 설정되어 있으며 백업 정보는 S3에 저장

     // 특정 조건을 도달할 시 S3 버킷은 무료가 아님

4. AB동안 약간의 I/O suspension이 존재할 수 있음 -> Latency

2. DB Snapshots (데이터베이스 스냅샷)

1. 주로 사용자에 의해 실행됨

2. 원본 RDS Instance를 삭제해도 스냅샷은 존재함 (vs AB)

// 이 기능은 사용자에 의해 수동으로 진행됨

// 장점: 원본 RDS 인스턴스 삭제해도 스냅샷은 S3버킷에 그대로 존재한다.

// 두 개는 다른 객체, 복원 시 RDS Instance와 그에 해당하는 RDS Endpoint가 생성된다.


RDS - Multi AZ, Read Replicas



RDS - ElastiCache

ElastiCache

1. 클라우드 내에서 In-memory 캐시를 만들어줌

2. 데이터베이스에서 데이터를 읽어오는게 아니라 캐시에서 빠른 속도로 데이터를 읽어옴

3. Read-Heavy 어플리케이션에섯 상당한 Latency 감소 효과 누림

// AWS 시험 - 시나리오 질문에서 Read-Heavy 데이터베이스를 사용할 시 우리는 어떤 서비스를 사용해야 최고의 효율을 낼 수 있을까요?  정답: ElastiCache 

 

ElastiCache 두 가지 타입

1. Memcached

2. Redis

1. Memcached

2. Redis