본문 바로가기
공부/aws

4/2~4/5 그냥 배운 내용 정리

by kyj0032 2024. 4. 30.
  • VPC끼리 통신하기
    • VPC-Sharing(Multi Account VPC)
      • VPC 소유자(인프라 팀) - VPC 사용자(개발, 운영 팀)
      • 1대1로 peering함 -> full mesh로 가게 되면 비효율적
    • Transit Gateway
      • 여러 VPC를 자유롭게 연결할 수 있는, hub 역할의 transit gateway

 

ElasticBeanstalk

ELB, Auto Scaling + EC2 instances + DNS 설정 + 로그, 버전 관리를 위한 S3까지 올인원으로 제공

 

사용자는 맨 위 초록색 박스만 넣으면 나머지는 AWS가 알아서 해줌

 

배포 방법

  • All at once: 모든 인스턴스에 동시에 새 버전 배포
  • Rolling: 배치 단위로 새 버전 배포
  • Rolling with additional batch: 배치 단위로 새버전 배포, +1 추가 배치
  • Immutable: 새로운 인스턴스 그룹에 배포

다음에 나올 그림들에서 v1을 기존 버전, v2을 새 버전이라고 보면 된다.

 

1. All at once

4개에 모두 v2를 배포

 

2. Rolling

2개씩만 업데이트, ALB에 의해 어떤 사용자는 v2으로 가고 어떤 사용자는 v1으로 간다

추후에 나머지도 v2로 업데이트

 

3. Rolling with Additional Branch

새로운 인스턴스를 만들어 v2를 배포하고, 안정되면 LB에 연결

그 후 남은 v1 중 골라서 v2 배포하고, 안정되면 나머지 v1 삭제

 

4. Immutable

 

 

기존의 환경을 건드리지 않고, 기존의 환경을 나눠 v2 하나 만들어서 시험해봄

괜찮으면 v2도 배포 후 모두 LB에 연결, 괜찮으면 v1환경 삭제하고 v2만 유지

 

vs. 블루 그린 배포

기존의 환경을 복제해서 아예 새로운 environment에 접속하는 것,

에러가 나도 swap만 하면 돼서 빠른 롤백이 가능.

 

 

EC2: 운영체제, 프로그램 깔고 ... 백엔드 서버 돌리고 ....

S3: object, 그냥 하나의 파일을 저장해놓은 것

 

A라는 기능에 B를 추가할 때 원래 있던 A의 프로젝트 폴더 안에 넣으면 monolitic, 새로 따로 만들면 MSA 느낌

https://youtu.be/amTJyIE1wO0?feature=shared

 

 

서버리스

  • MSA에 가장 잘 어울림
  • 단점) Cold Start
    • 서버가 없어보여도 사실 물리적인 서버는 있어야 하고, stand by 하는 애가 없기 때문에 구동 시간이 오래 걸림
  • 단점2) 디버깅이 어려움
    • 보이지 않는 걸 머리에 그려내는 게 중요 .. ex) 환경변수