【한글자막】 AWS Certified Solutions Architect Professional | Udemy
2023.01.06 - [DevOps/aws] - Udemy | AWS Certified Solutions Architect Associate 강의 | Section1~2
2023.01.09 - [DevOps/aws] - AWS Certified Solutions Architect Associate 강의 Udemy | Section 5: EC2 기초
85. Amazon RDS 개요
Amazon RDS Overview
RDS - Relational Database Service 관계형 데이터베이스 서비스이다.
SQL 을 사용하는 DB를 위한 완전관리형 DB 서비스이다.
여러 DB 엔진을 지원한다.
Postgres, MySql, MariaDB, Oracle, Microsofts SQL Server, Aurora
Advantage over using RDS versus deploying DB on EC2 - EC2에 DB를 설치하여 사용하는 것과 비교하여...
RDS 는 완전 관리형 서비스
데이터베이스 프로비저닝과 기본 운영체제 패치가 완전 자동화되어 있다..
지속적인인 백업 생성 -> 타임스탬프를 이용하여 특정 시점으로 복원 가능
모니터링 - 데이터베이스의 성능을 모니터링할 수 있다.
읽기 전용 복제본 ( Read replicas) 생성- 읽기 성능을 높일 수 있다.
다중 AZ for DR (Disaster Recovery)
유지 관리 기간에 업그레이드 가능
인스턴스 확장, 축소 가능 ( vertical or horizontal)
파일 스토리지는 EBS에 구성된다. ( gp2, io1 )
단점으로 RDS 인스턴스에 SSH 액세스 불가
RDS - Storage Auto Scaling
RDS DB 인스턴스를 자동으로 확장해준다.
RDS가 db 스토리지 용량이 부족하다고 감지하면 용량을 확장한다.
수동조작을 피하게 해준다 ?
따라서 최대 스토리지 임계값을 정해줘야한다.
스토리지 부족 상태가 5분 이상 지속되거나 지난 수정으로부터 6시간이 지났을 경우 오토스케일링이 활성화 되어 있다면 스토리지가 자동 확장 된다.
워크로드를 예측할 수 없는 애플리케이션에서 굉장히 유용하고 모든 RDS 데이터베이스 엔진에서 지원되는 기능이다.
MariaDB, MySQL , PostgreSQL, SQL Server, Oracle 다 지원된다.
86. RDS 읽기 전용 복제본과 다중 AZ
RDS 읽기 전용 복제본과 다중 AZ의 차이를 이해하고 사용 사례를 제대로 아는 것이 중요하다.
RDS Read Replicas for read scalability
RDS DB 인스턴스는 읽기, 쓰기를 담당한다.
하지만 주된 인스턴스가 요청이 너무 많은 경우 감당할 수 없기 때문에
읽기 전용 인스턴스를 스케일링 해야한다.
읽기 전용 복제본은 최대 5개 까지 생성가능
동일한 가용영역 또는 여러 가용영역,리전을 걸쳐 생성이 가능하다.
기억해야할 세 가지 옵션이 있다..?
복제본과 db 인스턴스간에 비동기식 복제(async replication)가 발생한다.
비동기식-> 읽기가 일관적으로 유지됨을 의미한다.
가령 애플리케이션에서 데이터를 복제하기 전 읽기 전용 복제본을 읽어들이면 모든 데이터를 얻을 수 있다는 것이죠
읽기 전용본을 db 로 승격시킬 수 있다. ( Replicas can be promoted to their own DB)
그 이후에는 복제 매커니즘을 완전히 탈피한다.
읽기 전용 복제본을 사용하려는 경우에는 화면 상단의 주요 애플리케이션에 있는 모든 연결을 업데이트해야 하며 이를 통해서 RDS 클러스터 상의 읽기 전용 복제본 전체 목록을 활용할 수 있다.
Application must update the connection string to leverage read replicas
-> 읽기 복제본을 사용하려면 애플리케이션에서 연결을 업데이트 해야한다.
RDS Read Replicas - Use Cases
프로덕션 앱에서 사용하는 DB 가 있다고 가정하자.
개발 팀에서 DB 를 활용해야한다.
서비스 중인 DB를 사용하면 수정 문제나 성능 문제가 발생한다.
이때 인스턴스의 replica를 하나 생성한다.
개발팀에선 안정적으로 db를 사용할 수 있다.
읽기 복제본에서는 오직 SELECT 명령문만 사용할 수 있다.
db를 변경하는 insert, update,delete 문은 사용할 수 없다.
RDS Read Replicas - Network Cost
aws 서비스 특징으로 az에서 다른 az로 데이터가 전송될 때 비용이 든다.
하지만 보통 관리형 서비스에서는 az 데이터 전송에 따른 비용이 없다.
읽기 전용본이 같은 리전의 다른 az 일 경우 전송비가 없다.
하지만 읽기 전용본이 다른 리전일 경우 전송비가 존재한다.
RDS Muli AZ (Disaster Recovery)
다중 az는 주로 재해 복구용으로 사용된다.
마스터 db를 동기식으로 스탠바이 db로 복제한다.
하나의 DNS 이름을 갖는다. 마스터에 문제가 생길 때 장애 조치가 수행된다.
az, 네트워크 에 문제가 생겼을때 스탠바이가 마스터로 승격된다.
이 과정이 자동으로 이루어진다.
스케일링에 사용되지 않는다 .
장애에 대한 예비용일 뿐이다 . 그 누구도 읽기 /쓰기 할 수 없다.
그렇다면 재해복구용으로 읽기 전용 복제본을 사용할 수 있지 않을까?
-> 가능하다. 원하는 경우에 읽기 전용 복제본을 dr 용으로 쓸 수 있다.
RDS- From Single-AZ to Multi-AZ
시험에 자주 나오는 문제로 단일 az 를 다중 az 로 변환할 수 있는지 묻는 문제가 나온다.
가능하다!
특징
1. Zero downtime
단일 az에서 다중 az로 전환하는 과정에 db를 중지할 필요가 없다.
2. 단순 클릭으로 ( Just click on "modify" for the database)
쉽게 활성화 할 수 있다.
단일 az를 다중 az로 활성화 시키는 과정
1. 마스터로부터 스냅샷 생성
2. 스냅샷으로부터 스탠바이 생성
3. 두 인스턴스간의 동기화 작업 실행
87. Amazon RDS 실습
MySQL 데이터베이스를 생성하는 방법 – Amazon Web Services
아마존 사이트에 친절하게 설명이 잘되어있다.
필요할때 참고하자.
실습내용에선 SQL Electron을 사용하였다.
포트는 3306
88. RDS Custom for Oracle 과 Microsoft SQL Server
RDS Custom
RDS 에서는 기저 운영 체제나 사용자 지정 기능에 액세스 할 수 없다.
그러나 RDS Custom 에서는 가능하다.
Oracle, Microsoft SQL Server 에서 가능하다.
RDS는 자동화, 운영 , 확장 할 수 있다.
Custom 의 경우
기저 os 및 데이터베이스에 접근할 수 있다.
내부설정 구성, 패치 적용, 네이티브 기능 활성화가 가능하며
SSH 또는 SSM 세션 관리자를 사용해서 RDS 뒤에 있는 기저 EC2 인스턴스에 액세스 할 수 있다.
custom을 사용하려면 RDS가 수시로 자동화 , 유지관리 또는 스케일링과 같은 작업을 수행하지 않도록 자동화를 꺼두는 것이 좋다.
De-activate Automation Mode to perform your customization, better to take a DB snapshot before
RDS vs RDS Custom
RDS: db와 OS 모두 aws 가 관리한다.
RDS Custom: OS와 DB에 대한 완전 액세스가 가능하다.
=> RDS도 결국 ec2 인스턴스에서 돌아가는 서비스이다.
RDS를 돌리기 위한 ec2 인스턴스의 os, db 엔진 패치 등을 aws가 관리한다.
RDS Custom을 이용하면 rds 가 돌아가는 ec2 인스턴스의 os, db 엔진 등 수동 조작이 가능하다.
89. Amazon Aurora 개요
Amazon Aurora
Aurora는 AWS 고유의 기술이다.
Postgres 그리고 MySQL 과 호환된다.
클라우드 최적화 Cloud Optimized
mysql 보다 5배 postgres 보다 3배 향상된 성능을 보인다.
aurora 스토리지는 자동으로 확장한다.
10GB에서 시작하지만 데이터베이스에 더 많은 데이터를 넣을수록 자동으로 128TB 까지 커진다 .
mysql의 읽기 복제본이 5개 까지인 것에 비해 15개의 읽기복제본을 갖는다 .
장애 조치에 즉각이다 Failover in Aurora is instantaneous. It's HA native
비용은 RDS에 비해 20% 정도 높지만 스케일링 측면에서 훨씬 더 효율적이다.
Aurora High Availbility and Read Scaling
3개의 가용영역에 걸쳐 6개의 복제본을 생성한다.
쓰기 작업 -> 4개만 필요 (한 az 가 다운 되어도 사용에 문제가 없음.)
읽기 작업 -> 6개의 복사본 중 3개만 필요
자동 복구 기능 - p2p 식
스트라이프 형식으로 작동함
az는 다중 az 와 유사하다.
쓰기를 받는 인스턴스는 1개 뿐이다.
aurora 에도 마스터가 존재하고 여기서 쓰기를 받는다.
마스터가 작동하지 않으면 30초 이내로 장애 조치가 시작된다.( failover 가 빠름)
마스터 외에 읽기 복제본을 15개를 둘 수 있고
마스터에 문제가 생기면 읽기 복제본을 마스터로 승격할 수 있다. (rds에서 읽기 복제본이 아니라 다중 az를 마스터로 승격 시켰음.)
이 복제본들은 리전 간 복제를 지원한다.
마스터는 하나, 복제본은 여럿
작은 블록 단위로 자가 복구 또는 확장
Aurora DB Cluster
모든 인스턴스들은 스토리지 볼륨을 공유하고 있다.
읽기 전용 복사본에 대한 오토 스케일링 설정이 가능하다.
엔드포인트
라이터 엔드포인트 : 쓰기 작업이 가능한 마스터 인스턴스로 연결
리더 엔드포인트 : 로드 밸런싱과 연결하여 읽기 전용 인스턴스로 연결해준다.
Aurora의 기능
자동 장애조치
백업 및 복구
격리 보안,
산업 규정 준수
버튼식 스케일링
제로 다운타임 패치
고급 모니터링
통상 유지 관리
백트랙 backtrack: 백업에 의존하지 않고 원하는 시점으로 복구하는 기능
90. Amazon Aurora 실습
DB 클러스터 생성 및 Aurora MySQL DB 클러스터의 데이터베이스에 연결 - Amazon Aurora
오토 스케일링과 관련하여 정책을 추가할 수 있다.
91. Aurora Replicas - Auto Scaling
Aurora Replicas - Auto Scaling
오토 스케일링에서 읽기 레플리카가 확장된다.
이때 리더 엔드포인트도 마찬가지로 확장된다.
Aurora - Custome Endpoints 사용자 지정 엔드포인트
읽기 전용 인스턴스를 확장할때
용량이 더 큰 인스턴스가 있는 상황이다.
용량이 더 크고 성능이 좋으므로 해당 인스턴스는 더 높은 수준의 워크로드를 처리할 수 있다.
해당 워크로드만 처리하기 위해 사용자 엔드포인트로 진입하게 한다.
읽기 인스턴스의 워크로드를 분리 시킴.
=> 인스턴스 타입이 다를 경우 특정 엔드포인트로 분리할 수 있다.
Aurora Serverless
자동화된 데이터베이스 인스턴스와 실제 사용을 기반으로 자동 스케일을 가능하게 해준다.
비정기적, 간헐적, 예측 불허한 워크로드에 유용
용량 계획을 세울 필요가 없다.
클라이언트는 aurora 관리 하위 프록시 플릿과 소통하다.
백엔드에서 워크로드에 기반해 서버리스 방식으로 여러 Aurora 인스턴스가 생성된다.
각 aurora 인스턴스에 대해 매 초당 비용을 지불하게 된다.
따라서 용량을 미리 확보할 필요가 없다.
=> 서버리스로 완전 자동화
Aurora Multi-Master
라이터 노드에 대한 즉각적이 장애 조치로 라이터 노드에 높은 가용성을 갖추고자 할 때 사용한다.
이 경우 Aurora 클러스터의 모든 노드에서 읽기 및 쓰기가 가능하다.
기존에는 노드를 마스터 노드로 승격했다면
multi master에서는 말그대로 모든 노드에서 쓰기가 가능하다.
Global Aurora
aurora 리전 간 복제본은 재해 복구에 많은 도움이 되며 간단하게 생성이 가능하다.
하지만 최근에는 Aurora Global Database 를 사용하는 것이 권장된다.
모든 쓰기 및 읽기가 진행되는 하나의 기본 리전이 있다.
복제 지연이 1초 미만인 보조 읽기 전용 리전을 다섯 개까지 설정할 수 있다.
각 보조 지역마다 읽기 전용 복제본을 16개까지 생성 가능하다.
이렇게 하면 세계 각지에 있는 읽기 전용 복제본의 지연 시간을 단축할 수 있다.
재해 복구 목적으로 다른 지역을 승격하는데 필요한 RTO (Recovery Time Objective) 는 1분 미만이다.
다른 리전으로 복구하는데 1분도 걸리지 않는다는 뜻이다.
시험에서 리전에 걸쳐 데이터를 복제하는데 걸리는 시간이 평균 1초 미만이다~ 이런 문제가 나온다면 Global Aurora 이다.
Aurora Machine Learning
Aurora는 AWS 내의 머신 러닝 서비스와 통합을 지원한다 .
ML 기반 예측을 SQL 인터페이스로 애플리케이션에 적용하는 것
SageMaker : 백엔드에서 어떤 머신 러닝 모델이라도 사용할 수 있게 해주는 SageMaker
Amazon Comprehed : 감정 분석에 사용.
반드시 ml 경험을 알 필요없다.
활용 예시로는 감지 맞춤 광고, 감정 분석 , 제품 추천등이 있으며 모두 Aurora 내에서 가능하다.
아키텍처 개념
애플리케이션에서 SQL 쿼리를 aurora에게 넘김.
aurora에서 연결된 머신 러닝 서비스로 데이터를 전송
응답을 받고 aurora는 애플리케이션에 결과를 반환한다.
92. RDS & Aurora - 백업과 모니터링
RDS Backups
Automated backups:
자동으로 매일 데이터베이스 유지 관리 시간에 데이터베이스 전체를 백업한다.
5분마다 트랜잭션 로그도 백업된다. -> 가장 최신 백업이 5분 전이다.
자동 백업 보유 기간은 1일에서 35일까지로 설정할 수 있다.
비활성화 할려면 0일로 수정한다.
Manual DB Snapshots
수동으로 트리거해야한다.
수동 백업은 원하는 만큼 오래 보유할 수 있다.
자동 백업은 기간이 지나면 사라지지만 수동으로 만든 DB 스냅샷은 원하는 기간동안 보유 가능하다.
비용 절감팁!
RDS 데이터베이스를 매달 2시간만 사용할 예정이다.
데이터베이스를 정지하게되어도 스토리지 비용을 계속 지불해야한다.
그 대신 2시간 사용 후에 스냅샷을 만들고 원본 데이터베이스를 삭제한다는 방법이 있다.
스냅샷 비용은 RDS 데이터베이스 스토리지 보다 저렴하다.
데이터베이스를 다시 사용할 때 스냅샷을 복원해서 사용하면 된다.
Aurora Backups
Automated backups
백업본을 1~35일까지 분량까지 보유할 수 있다.
RDS 와 다르게 Aurora는 비활성화가 불가능하다.
지정 시간 복구 기능이 있다. (point-in-time)
Manual DB Snapshots
수동 DB 스냅샷을 만들 수 있다.
보유 기간은 원하는 만큼 지정할 수 있다.
RDS & Aurora Restore options
복원 기능으로 RDS 및 Aurora 백업 또는 스냅샷이다.
스냅샷으로부터 복원하여 새로운 DB를 만들 수 있다.
S3로부터 MySQL DB 복원하기
온프레미스 db의 백업을 만들어서 s3에 저장
s3로부터 RDS db 만들기
S3로부터 Aurora Cluster 복원하기
온프레미스 db 백업본을 Percona XtraBackup 소프트웨어를 이용하여 만든다.
백업 데이터를 S3에 저장
S3 로부터 aurora cluster 생성
Aurora Database Cloning
Aurora Cluster 를 기반으로 복제본을 생성한다.
스냅샷&복구보다 빠르다.
프로덕션 db에 영향을 끼치지 않고 스테이징 db를 만드는데 좋다.
93. RDS Security
RDS & Aurora Security
RDS 및 Aurora 데이터베이스에 저장된 데이터를 암호화할 수 있다.
이는 데이터가 볼륨에 암화화된다는 뜻이다.
KMS를 사용해 마스터와 모든 복제본의 암호화가 이루어지며
이는 데이터베이스를 처음 실행할 때 정의된다.
만약 마스터 db가 암호화되지 않는다면 읽기 전용 복제본도 암호화 될 수 없다.
암호화 되지 않은 데이터베이스를 암호화 하려면
스냅샷을 뜬 다음에 암호화된 데이터 베이스로 생성해야한다.
데이터 전송 중 암호화
클라이언트와 db 간의 전송 중 데이터 암호화가 있다.
RDS, Aurora는 기본적으로 전송 중 데이터 암호화 기능을 갖추고 있음.
AWS의 TLS 루트 인증서를 사용한다.
사용자 이름, 패스워드등 전통적인 조합을 사용할 수 있음.
IAM 역할
IAM 역할을 사용해서 데이터 베이스에 접속할 수 있음.
보안 그룹
데이터베이스에 대한 네트워크 액세스를 통제할 수도 있다.
No SSH
rds custom을 제외하고는 RDS, Aurora 는 SSH 액세스가 없다.
Audit Log
CloudWatch 로 감사 로그를 보낼 수 있다.
94. RDS Proxy
Amazon RDS Proxy
프록시가 하나의 풀에 연결을 모아 RDS 데이터베이스 인스턴스로 연결한다.
1. 완전 관리형 데이터베이스
2. 애플리케이션이 데이터베이스 내에서 데이터베이스 연결 풀을 형성하고 공유할 수 있다.
3. 데이터베이스 성능을 개선할 수 있다. 데이터베이스의 리소스 부하를 줄이고 개방된 연결을 최소화 한다. ( timeouts 을 최소화 한다. )
4.서버리스로 오토 스케일링 가능하며 다중 az를 지원한다. 고가용성
5. RDS Proxy 를 사용함으로써 RDS,Aurora의 장애 조치 시간을 66% 까지 줄일 수 있다.
6. MySQL, PostgreSQL, MariaDB 용 RDS를 지원하며 MySQL, PostgreSQL 용 Aurora를 지원한다.
7. 애플리케이션 코드를 변경하지 않아도 된다. RDS, Aurora DB에 바로 연결하는 대신 RDS 프록시에 연결하기만 하면 된다.
8. 데이터베이스에 IAM 인증을 강제함으로써 IAM 인증을 통해서만 RDS에 접근하게 할 수 있다.
9. RDS 프록시는 절대 퍼블릭 액세스가 불가능하다. vpc 내에서만 접근할 수 있다.
10. 람다함수와 호환이 좋다 .
결론: RDS Proxy 가 다 처리해준다.
95. ElastiCache 개요
Amazon ElastiCache Overview
1. RDS 와 동일한 방식으로 관계형 데이터베이스를 관리할 수 있다.
2. 일래스틱 캐시는 레디스 또는 맴키스트와 같은 캐시 기술을 관리할 수 있도록 한다.
3. 캐시는 높은 성능과 낮은 지연 시간을 가진 인 메모리 데이터베이스이다.
4. 읽기 집약적인(read intensive workloads) 워크로드의 부하를 줄이는데 도움이 된다 .
5. 애플리케이션을 stateless 하게 만드는데 도움이된다.
6. AWS 가 운영 체제, 패치, 최적화와 설정, 구성,모니터링,장애 회복 그리고 백업등의 유지 보수를 진행한다.
7. 일래스틱 캐시를 사용하기 위해 애플리케이션 코드를 변경해야한다 .
ElastiCache Solutin Architecture - DB Cache
애플리케이션, amazon ElastiCache, RDS 가 있다.
애플리케이션이 일래스틱 캐시를 쿼리한다.
쿼리가 이미 생성되었는지 일래스틱 캐시에 저장됐는지 확인 하는 것이 캐시 히트 (cache hit) 고
이는 일래스틱 캐시에서 바로 응답을 얻어서 쿼리하기 위해 데이터베이스로 이동하는 동선을 줄여준다 .
캐시 미스( cache miss) 의 경우에는 데이터베이스에서 데이터를 가져온다.
데이터를 캐시에 다시 기록하여 다음에 같은 쿼리가 오면 캐시 히트를 얻도록 한다.
이를 통해서 RDS 데이터베이스에서 부하를 줄이는데 도움을 준다.
데이터를 캐시에 저장하기 때문에 캐시 무효화 전략( invalidation strategy)이 있어야 하며 가장 최근 데이터만 사용하는지 확인해야한다.
Cache must have an invalidation strategy to make sure only the most current data is used in there.
ElastiCache Solutin Architecture - User Session Store
다른 아키텍처는 사용자 세션을 저장해 애플리케이션을 stateless 로 만드는 것이다 .
사용자가 애플리케이션의 모든 계정에 로그인하면
애플리케이션이 일래스틱 캐시에 세션 데이터를 기록하는 것이다.
사용자가 다른 애플리케이션의 다른 인스턴스로 리디렉션 되면 애플리케이션을 일래스틱 캐시에서 직접 세션 캐시를 검색할 수 있다. -> 사용자는 계속 로그인한 상태로 한 번 더 로그인 할 필요가 없다.
사용자의 세션 데이터를 일래스틱 캐시에 기록해서 애플리케이션을 무상태로 만드는 것이다 .
The instance retrieves the data and the user is already logged in.
ElastiCache - Redis vs Memcached
레디스:
다중 az, 장애 극복 및 읽기복제본
고가용성
백업과 기능 복원 기능
memcached:
데이터 분할에 다중 노드를 사용 sharding
가용성이 높지 않고 복제도 발생하지 않음
지속적인 캐시가 아님
백업과 복원 기능도 없음.
단순 분산 캐시
96. ElastiCache 실습
레디스 데이터베이스 만들기
Amazon ElastiCache for Redis 시작하기 - Amazon ElastiCache for Redis
97. 솔루션 설계자를 위한 ElastiCache
ElastiCache - Cache Security
1. 일래스틱 캐시의 모든 캐시는 IAM 인증을 지원하지 않는다.
aws api 수준 보안에서만 사용된다. (캐시 생성, 캐시 삭제 같은 종류의 작업)
2. 레디스 인증
레디스 인증을 하려면 레디스 auth를 사용하여 레디스 클러스터를 생성할 때 비밀 번호나 토큰을 설정할 수 있다.
캐시에 들어갈 때 비밀 번호를 사용할 수 있다.
이는 캐시에 사용할 수 있는 보안 그룹에 대한 추가적인 수준의 보안이다.
데이터 전송중 SSL 보안을 지원한다.
3. 멤캐시트의 경우
좀 더 높은 수준인 SASL 기반 인증을 지원한다.
Patterns for ElastiCache
일래스틱 캐시에는 데이터를 불러오는 세가지 패턴이 존재한다 .
1. 레이지 로딩 Lazy Loading
모든 읽기 데이터가 캐시되고 데이터가 캐시에서 부실해질 수 있다.
2. 라이트 스루 Write Through
데이터베이스에 기록될 때마다 캐시에 데이터를 추가하거나 업데이트 하는 것이다 .
3. 세션 저장소 Session Store
캐시를 세션 저장소로 쓸 수 있다. TTL (Time To Live) 속성으로 세션을 만료 시킬 수 있음.
ElastiCache - Redis Use case
시험!!
게이밍 리더보드
레디스에는 고유성과 요소 순서를 모두 보장하는 정렬된 집합(Sorted Set)이라는 기능이 있다.
요소가 추가될 때마다 실시간으로 순위가 매겨진 다음 올바른 순서로 추가된다 .
98. 친숙한 포트 목록
아래는 한 번 이상은 확인하는 게 좋은 표준 포트의 목록입니다. 외울 필요는 없습니다(시험에 나오지 않을 거예요). 하지만 중요한 포트(HTTPS - 443번 포트)와 데이터베이스 포트(PostgreSQL - 5432번 포트)를 구분할 수는 있어야 합니다.
중요한 포트:
- FTP: 21
- SSH: 22
- SFTP: 22 (SSH와 같음)
- HTTP: 80
- HTTPS: 443
vs RDS 데이터베이스 포트:
- PostgreSQL: 5432
- MySQL: 3306
- Oracle RDS: 1521
- MSSQL Server: 1433
- MariaDB: 3306 (MySQL과 같음)
- Aurora: 5432 (PostgreSQL와 호환될 경우) 또는 3306 (MySQL과 호환될 경우)
스트레스받으면서 외우지 마세요. 표준 포트 목록은 오늘 한 번 확인하고 시험 전에 한 번 더 읽어보기만 해도 시험에서는 문제없을 거예요. :)
“중요한 포트”와 “RDS 데이터베이스 포트”를 구분할 줄만 알면 됩니다.
Quiz 6 : RDS, Aurora & ElasiCache 퀴즈
1. 아마존 RDS가 지원하지 않는 데이터베이스를 고르세요.
RDS는 MySQL, PostgreSQL, MariaDB, Oracle, MS SQL Server, Amazon Aurora를 지원합니다.
2. 한 가용 영역에 재해 상황이 발생하더라도 반드시 MySQL 데이터베이스을 사용할 수 있도록 만들기 위한 새로운 솔루션을 계획하고 있습니다. 무엇을 사용해야 할까요?
다중 AZ는 전체 AZ가 차단되었을 경우의 재해 복구를 계획하는 데에 도움이 됩니다. 전체 AWS 리전이 차단될 경우에 대비해 계획을 세울 때에는, AWS 리전에 걸친 백업과 복제본을 사용해야 합니다.
3. RDS 데이터베이스가 웹사이트에서 들어오는 요청량을 처리하는 데에 어려움을 겪고 있습니다. 백만 명의 사용자들은 대부분 뉴스를 읽고 있으며, 뉴스가 자주 포스팅되는 편은 아닙니다. 이 문제를 해결하기 위해 사용해서는 안 되는 솔루션은 무엇인가요?
시험 문제를 읽을 때는 주의하시기 바랍니다. 이 문제에서는, 이런 문제점을 해결하기 위해 사용해서는 "안 되는" 솔루션이 무엇인지 묻고 있습니다. ElastiCache와 RDS 읽기 전용 복제본은 읽기 스케일링에 도움이 됩니다.
4. RDS 데이터베이스에 읽기 전용 복제본을 설정해 두었지만, 소셜 미디어 포스트를 업데이트할 시 업데이트가 바로 이루어지지 않는다는 점에 대해 사용자들이 불만을 토로하고 있습니다. 이 경우, 가능성이 있는 원인은 무엇일까요?
5.다음 RDS(Aurora 아님) 기능들 중, 사용 시 SQL 연결 문자열을 변경하지 않아도 되는 것은 무엇인가요?
다중 AZ는 활성화 상태의 데이터베이스 종류와 상관 없이 동일한 연결 문자열을 유지합니다.
6. 이 애플리케이션은 Application Load Balancer가 관리하는 오토 스케일링 그룹에서 관리 중인 EC2 인스턴스 플릿에서 실행되고 있습니다. 사용자들이 계속 재로그인을 해야 하는 상황이지만, 일부 EC2 인스턴스에 과부하를 일으킬 수도 있다는 생각에 고정 세션은 활성화하지 않으려 합니다. 어떻게 해야 할까요?
세션 데이터를 ElastiCache에 저장하는 방법은 서로 다른 EC2 인스턴스들이 필요 시 사용자의 상태를 회수할 수 있게끔 하기 위해 흔히 사용됩니다.
7. 현재 어떤 분석 애플리케이션이 주요 프로덕션 RDS 데이터베이스에 대한 쿼리를 수행하고 있습니다. 이러한 쿼리들은 언제든 실행되어, RDS 데이터베이스의 성능을 낮추고 사용자 경험에 영향을 미치게 됩니다. 사용자 경험을 증진시키기 위해서는 어떻게 해야 할까요?
읽기 전용 복제본을 설정하면 분석 애플리케이션이 쿼리를 수행할 수는 있으나, 이 쿼리들이 주요 프로덕션 RDS 데이터베이스에는 영향을 미치지 않게 되므로 도움이 됩니다.
8. 주 AWS 리전에 재해가 발생했을 때에 대비하여 다른 AWS 리전에 데이터베이스의 복제본을 만들어 두려 합니다. 이런 작업을 쉽게 구현하기 위해서는 어떤 데이터베이스의 사용을 추천할 수 있을까요?
다중 AZ는 AWS 리전 수준의 재해가 발생할 경우에는 도움이 되지 않습니다. 다중 AZ는 AZ 수준의 재해 발생 시에는 도움이 됩니다.
Aurora 글로벌 데이터베이스를 사용하면 최대 5개의 2차 리전까지 Aurora 복제본을 가질 수 있습니다.
9. 사용자들이 연결되었을 때, 비밀번호를 입력하도록 하여 ElastiCache Redis 클러스터의 보안을 높이기 위해서는 어떻게 해야 할까요?
10. 리전에 정전이 발생하더라도 데이터베이스가 다른 AWS 리전에서 빠르게 워크로드 읽기와 쓰기 작업을 수행할 수 있게끔 RDS PostgreSQL 데이터베이스의 재해 복구 전략을 생성하려 합니다. DR 데이터베이스의 고가용성은 보장되어야 합니다. 어떤 방법을 추천할 수 있을까요?
11. 여러분이 근무 중인 기업은 RDS MySQL 5.6을 데이터베이스로 사용하는 프로덕션 Node.js 애플리케이션을 가지고 있습니다. Java로 프로그래밍된 새로운 애플리케이션은 정기적인 대시보드 생성을 위해 많은 양의 분석 워크로드를 수행할 예정입니다. 이 경우, 주요 애플리케이션에 발생하는 지장을 최소화하기 위해 구현할 수 있는 방법 중 가장 비용 효율적인 솔루션은 무엇인가요?
12.MySQL 데이터베이스를 온프레미스에서 RDS로 이전해 둔 상태입니다. 여러 애플리케이션과 개발자들이 이 데이터베이스와 상호작용을 하고 있습니다. 각 개발자들은 기업의 AWS 계정 내에 IAM 사용자를 가지고 있습니다. 각 개발자들을 위해 DB 사용자를 생성하는 대신, 이들에게 MySQL RDS DB 인스턴스로의 액세스를 부여하기 위해서는 어떤 접근법을 취해야 할까요?
IAM 데이터베이스 인증
13.다음 중 RDS 읽기 전용 복제본과 다중 AZ로의 복제 작업을 적절하게 묘사한 설명은 무엇인가요?
14.암호화되지 않은 RDS DB 인스턴스를 암호화하는 방법은 무엇인가요?
15. RDS 데이터베이스를 위해 최대 ............개의 읽기 전용 복제본을 가질 수 있습니다.
RDS 읽기 전용 복제본을 5개까지 가질 수 있다.
16.다음 중 IA웹 서버 M 데이터베이스 인증을 지원하지 않는 RDS 데이터베이스 기술은 무엇인가요?
17. 암호화되지 않은 RDS DB 인스턴스가 있는 상태에서 읽기 전용 복제본을 생성하려 합니다. RDS 읽기 전용 복제본이 암호화되도록 구성할 수 있을까요?
암호화되지 않은 RDS DB 인스턴스로는 암호화된 읽기 전용 복제본을 생성할 수 없습니다.
18. 프로덕션에서 실행 중인 한 애플리케이션이 Aurora 클러스터를 데이터베이스로 사용하고 있습니다. 여러분의 개발 팀은 필요할 경우 많은 양의 워크로드를 수행할 수 있는, 스케일이 축소된 애플리케이션에서 애플리케이션의 버전을 실행하려 합니다. 애플리케이션은 대부분의 시간 동안 사용되지 않습니다. CIO는 여러분에게 팀을 도와 비용을 최소화하는 동시에 이를 달성해 줄 것을 요청했습니다. 어떤 방법을 사용해야 할까요?
19. 하나의 Aurora DB 클러스터는 몇 개의 Aurora 읽기 전용 복제본을 가질 수 있을까요?
20. Amazon Aurora는 .......................... 데이터베이스를 모두 지원합니다.
21. 여러분은 게임 개발 업체에서 솔루션 아키텍트로 근무하고 있습니다. 하나의 게임에서, 실시간 점수를 기반으로 플레이어들의 랭킹을 매겨야 합니다. 여러분의 상사가 게임 리더보드 생성을 위해 효율적이고 고가용적인 솔루션을 설계해 구현해 줄 것을 요청했습니다. 무엇을 사용해야 할까요?