🚲

1. AWS 기본 설정

Created
2020/12/26 05:29
Tags

IAM 권한 설정

우선 배포에 필요한 몇 가지 권한들을 설정해야 한다. IAM 서비스에 접속해, "기존 정책에서 권한 추가"를 통해 다음의 권한들을 추가해준다.
CloudFrontFullAccess
AmazonS3FullAccess

AWS CLI 설치 및 설정

AWS CLI 설치 매뉴얼을 참고해 AWS Client를 설치하자. 이는 콘솔을 통해 AWS 작업을 처리할 수 있게 해 주는데, 나중에 이를 통해 매우 간단하게 배포를 실행할 수 있기 때문에 깔아두도록 하자. 물론 AWS Client를 통하지 않아도 배포는 가능하다.
설치가 완료되었다면, 다음의 명령어를 통해 유저를 추가해 주자.
aws configure --profile [user_name] AWS Access Key ID [None]: [유저를 생성할 때 다운받은 .csv 파일에서 붙여넣는다] AWS Secret Access Key [None]: [유저를 생성할 때 다운받은 .csv 파일에서 붙여넣는다] Default region name [None]: ap-northeast-2 Default output format [None]: json
Shell
복사

S3 버킷 생성 및 설정

AWS의 S3 서비스에 접속하여, 고유한 이름을 입력한 후 버킷을 생성해준다. 이 때, 퍼블릭 액세스 차단을 해제하도록 하자.
버킷이 생성된 이후에 해당 버킷에 접속해 권한 - 버킷 정책에 다음과 같은 코드를 설정해주자.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AddPerm", "Effect": "Allow", "Principal": "*", "Action": [ "s3:BucketList", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::[BUCKET_NAME]", "arn:aws:s3:::[BUCKET_NAME]/*" ] } ] }
JSON
복사
그 후 속성에서 정적 웹 사이트 호스팅을 클릭한 후 해당 버켓을 이용해 정적 웹 사이트를 호스팅하기로 하고, 기본 페이지와 오류 페이지에 모두 index.html을 입력한다. 물론 오류 페이지는 다른 것을 설정해도 좋다.

배포

이제 프로젝트 루트 디렉토리에서 다음 명령어를 실행하여 프로젝트 코드를 S3로 배포할 수 있다. 계속 이용해야 하는 귀찮은 코드이니 프로젝트의 package.jsonscripts에 추가해 두자.
aws s3 sync ./build s3://[BUCKET_NAME] --profile=[AWS_CLI_USER_NAME]
Plain Text
복사
E.O.D.