NestJS - 프로젝트 배포와 서버 운영
24. 클라우드
전세계에 있는 모든 유저가 접근할 수 있도록 하려면 서버 컴퓨터를 사용해야 함.
AWS 를 사용할거야..
뭐 프리티어가 있는데
S3 12개월동안 무료로 제공해주는걸 쓸거야
기존에는 Upload를 파일디렉토리 만들어서 저장시켜줬는데
이제는 S3에다가 Disk를 만들어서 저장하는 식으로 진행할 것임.
버킷 만들기
이름/ AWS 리전 등등을 입력한다.
이 때 모든 퍼블릭 액세스 차단을 해제해준다. (이미지 업로드하려면 해제해야함.)
권한 설정
버킷 정책을 편집할 것이다.
일단 예제를 보면 대략 나오는데
강의에서는 다음과 같이 설정하였다.
{
"Version": "2012-10-17",
"Statement": [{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::nestcat-flamelet/*"
}]
}
Version : 예제의 버전 그대로 사용 “Sid”: “AddPerm”, - Permission을 추가할 것이다. “Principal”: “*”, - 모든 사람에게 “Action”: [ “s3:GetObject”, - 이미지 데이터를 가져오는 것 “s3:PutObject” - 이미지 데이터를 추가하는 것 ],
- “Resource”: “arn:aws:s3:::nestcat-flamelet/*”
- 버킷 ARN을 추가하고 /* 을 추가해준다.
액세스 키 만들기
보안자격 증명 > 액세스 키 > 새 액세스 키 만들기

위와 같이 액세스 키를 만듬.
.env 파일에 다음과같이 추가해준다.
AWS_S3_ACCESS_KEY="AKIAWNUUSJZCG36IVFES"
AWS_S3_SECRET_KEY="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"
AWS_S3_REGION="ap-northeast-2"
AWS_S3_BUCKET_NAME="nestcat-flamelet"
위의 키들로 접근하여 파일들을 저장시켜줄 것이다.
구글 드라이브처럼 사용할거다..
근데.. 이거 쭉 들어보니까.. 일단 AMAZON 이라는 정책이 무조건 가격정책이 들어가고..
우리회사에서느 사용하기까지가 좀 시간이 걸릴듯함.
나중에 Kubernetes를 배울 때 봐야 할 듯.