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를 배울 때 봐야 할 듯.