본 프로젝트를 시작할때 AWS 환경을 세팅하고 개발을 진행해야 할것 같았고
6월 중순에 있는 AWS 교육을 배경지식이 있으면 더 잘 수행할수 있을것 같아서 수강했다.
AWS에서 가장 많이 쓰는건 *EC2, RDS, S3
1. AWS EC2
EC2는 클라우드 컴퓨팅 기술을 바탕으로 인터넷에 가상 서버를 임대하는 서비스입니다.
AMI를 통해 운영체제, 일반인이 만든 이미지등 필요한 소프트웨어 구성 요소를 추가할 수 있습니다
(ex.linux,mac,window등)
보안을 위해선 특정 ip에서만 접근 가능하게 해야합니다
1.1 LoadBalancing(ELB)
로드밸런싱이란 쉽게 말해 서버에 트래픽 과부하가 오면 서버부하를 분산 시키는 것입니다.
ELB는 아래의 AWS VPC에서 유저들을 EC2 인스턴스보다 먼저 만나서 트래픽이 과부화 되면 인스턴스에 적절히 부하분산합니다. 멘토링에서 다룬 ELB는 application load balancer로 이것을 거의 사용할 것이라고 하셨습니다
1.2 Auto Scaling
오토스케일링이란 서버의 크기를 트래픽에 따라 자동으로 조정하는 것입니다
2. AWS ElasticBeantalk
ElasticBeantalk는 EC2와 비슷하지만 자동으로 인프라 관리를 해준다는 장점이 있습니다.
설정만 해준다면 로드밸런싱,오토스케일링 과 같은 서버관리를 자동으로 해줍니다.
3. AWS RDS
RDS는 클라우드 컴퓨팅 기술을 이용한 RDBMS로 원하는 RDBMS를 선택할수 있습니다.
RDBMS에 따라 포트도 바뀝니다 (ex. mysql 3306)
기본 설정이 퍼블릭으로 되어있지 않음으로 퍼블릭으로 접근을 가능하게 해야합니다.
3.1 클러스터
클러스터란 여러개의 DB 인스턴스를 모아 가상의 데이터베이스를 다루는것을 말합니다.
클러스터는 많은 트래픽을 받아야하는 경우 프러덕션으로 DB를 만들면 이용할수 있습니다.
클러스터를 사용하면 데이터베이스 인스턴스의 수를 동적으로 조정하거나 여러 데이터베이스 인스턴스를 사용하여 읽기 작업을 분산시키고, 장애가 발생했을 때 자동으로 재구성하는 등의 작업을 할 수 있습니다. 또한 클러스터를 사용하여 백업 및 복구, 스케일링, 보안 그리고 모니터링과 같은 기능도 지원합니다.
스냅샷이란 백업과 같은 개념입니다. 실수로 테이블을 drop 했을때 drop 이전의 스냅샷이 있으면 그 시점으로 돌아갈수 있습니다.
4. AWS Route53 + Certification manager
이 두개를 이용하여 도메인을 만들었습니다. 도메인을 구매하고 route53에 할당하였습니다
Certification manager를 이용하여 http를 https로 보안을 강화하였습니
5. AWS VPC
VPC는 전체적인 AWS 서비스를 구조화 시키는 서비스입니다 private에는 주로 rds와 같은 비밀 요소가 들어갑니다
private에는 public를 한번 거쳐서 SSH를 통해 접근 할수 있습니다
CIDR을 이용해서 도메인의 뒷부분을 분기하여 각각 다른 인스턴스를 할당합니다
'Side Match' 카테고리의 다른 글
[SW마에스트로] 프로젝트 중 설계한 예외 처리 아키텍쳐 (0) | 2023.08.29 |
---|---|
[SW마에스트로] 복잡한 DTO 처리하기 (feat. queryDSL, 한방 쿼리) (0) | 2023.07.29 |
[SW마에스트로] 프로젝트 삭제를 어떻게 구현해야 할까? (0) | 2023.07.28 |
[SW마에스트로] ERD 설계 중 하는 고민 (0) | 2023.07.21 |
[SW마에스트로] 코딩 테스트 문제 유형 정리 (0) | 2022.07.16 |