230705-클라우드 아키텍처

soo·2023년 7월 5일
0

AWS

목록 보기
3/9

AWSDB

aws DB 종류

  • Amazon Aurora - Mysql, postgres 호환
  • Aurora severless
  • NoSQL
  • ...

사용자 > 1000명 -> 부하 분산을 위한 로드밸런싱 필요, db 이중화 필요

이중화: 두개의 AZ에 위치하는 DB중 하나는 active, 다른 하나는 standby로 구분. Active db가 다운되면, Standby db를 Active로 변경.
standby는 읽기 불가능

ELB: 부하 분산을 위한 로드밸런서 - HTTPS 통신을 위한 보안 인증 필요 = 인증서 다운로드를 위한 DNS 필요

  • ALB

사용자 > 10000 -> 읽기 전용 복제본(Read Replica) 필요.

  • active와 standby는 동기 방식(변경사항 바로 복제)
  • active와 read replica는 비동기 방식

정적 컨텐츠 = S3와 CloudFront 활용.

  • S3: 오브젝트 기반 스토리지 = 이미지와 같은 미디어 저장 가능
  • CloudFront: 컨텐츠 전달을 위한 캐싱

보다 많은 보하 분산 = 캐시 사용(섹션 유지)

  • AWS ElastiCache: 사용자의 섹션을 유지, DB의 부하를 줄여줌.
    - 관리형 Memcached(단일 AZ 서비스), Redis(다중 AZ 서비스) 사용
    • 인메모리 기반이므로 DB보다 빠른 읽기 속도
    • 사용 비용이 매우 높음

사용자 > 5000000 -> 오토 스케일링 필요
오토 스케일링: 효율적인 운영을 위해 트래픽에 따라 컴퓨터 클러스터의 용량을 자동 조절

사용자 > 1백만 -> interner elb 사용



















AWS RDS 생성

순서: RDS 선택 - 데이터베이스 생성 선택 - 설정 및 생성 - MySQL WorkBench 설치 및 연결

mysql은 크게 두가지 방식으로 사용할 수 있다. -> 워크밴치 or 서버에서 자체 설치

Workbench 사용법:

https://m.blog.naver.com/nieah914/221815212859



aws EC2(Linux)에 mysql 설치하는법:

https://blogshine.tistory.com/322

server에 mysql 설치 직후에는 mysql -u root -p로 연결이 안됨.

이는 IP가 없기 때문에 생기는 문제로, DB 인스턴스와 연결하기 위해선 mysql -u '관리자계정명' -p -h 'aws db 인스턴스의 엔드포인트 주소'

설치 이후 설정 1. 시간대 변경

select now()를 통해 시간을 확인해보면, RDS의 현재 시간이 시간대가 UTC로 설정되어있음을 알 수 있다.
정상적인 시스템 운영을 위해서는 올바른 시간대(Asian/Seoul)를 사용해야되므로 AWS RDS의 시간대 수정 및 재부팅 필요함.
참고 사이트: https://programforlife.tistory.com/52









Workbench에서 신간대 변경 확인

ubuntu에서 시간대 변경 확인

설치 이후 설정 2. UTF 변경

데이터가 영어 값으로만 저장되는 것이 아니기 때문에(한국은 한국어 입력이 필요 = 2byte 단위 저장) UTF 설정 변경이 필요함.
참고: hevton.tistory.com/521





저장후 마찬가지로 저장 및 인스턴스의 수정, 재부팅 진행.

profile
이것저것 공부하는

0개의 댓글