주말동안 AWS강의를 들으면서 이해 못했던 부분도 다시 이해할겸 강의를 처음부터 다시 들으면서 정리를 해보았다.
S3에 저장소에 프론트 부분을 저장한 후 정적 호스팅 기능을 이용해서 프론트엔드 부분을 배포
cloudfront의 CDN 서비스를 이용해 전세계 리전으로 캐싱을 배포
gitaction을 이용해 front repo의 main 브랜치에 푸시할 때 자동으로 S3에 업로드되어 자동 배포되도록 함
웹에 업로드 되는 이미지나 파일을 저장함
저장되어 있는 이미지나 파일은 AWS에 제공하는 객체 URL을 통해 파일을 볼 수 있다.
정적 호스팅 기능으로 AWS에서 제공하는 URL을 통해 정적호스팅이 가능하다.
AWS CLI(SDK)를 이용해서 프로그래밍 언어(python)으로 파일 업로드가 가능 이때, IAM 권한이 필요하다
PYTHON의 boto3 라이브러리를 쓰면 S3에 저장할 수 있음
CDN 서비스를 이용해 전세계 리전으로 캐싱해줘서 빠르게 S3로 제공된 정적 페이지에 접근할 수 있다.
S3에 직접 접근할 때와 달리 과금이 되지 않는다.
Gitaction에서 제안하는 폴더 구조를 만들면 푸쉬할 때 마다 자동으로 배포
S3에 정적호스팅 페이지를 할때, IAM, S3, Cloudfront의 정보를 환경변수로 설정
환경변수는 REPO의 setting -> secret에서 설정
EC2 인스턴스에 서버를 세팅 후 AMI 이미지를 생성
여러 인스턴스를 하나의 서버로 묶어주는 ELB를 생성
트레픽이 높아 졌을 때 인스턴스를 증설 시켜주는 역할을 하는 Auto-Scale 그룹을 생성
VPC : AWS에서 제공하는 물리적인 네트워크 안에서 논리적인 네트워크를 의미
Subnet : 연결되는 서버컴퓨팅 자원들에 내부 IP 할당
라우팅 테이블 : 연결된 서브넷들을 연결
보안그룹 : 방화벽 port를 제어
탄력적 IP : 고정된 IP를 할당
참조 : https://docs.aws.amazon.com/ko_kr/autoscaling/ec2/userguide/as-register-lbs-with-asg.html
퍼가요~^^