케밥 케이스로 버킷 이름 만들어줌.
버킷 누르고 권한에 들어감.
Effect
: default로 Deny
여서 resource에 대한 access를 거절하는데 Allow
로 바꿔줘야지만 접근이가능함.
Principal
: 유저, 계정, 서비스 등이 resource에 접근할 수 있는 권한을 설정해줌. *
으로해서 아무나 resource에 접근가능하도록 했음.
Action
: s3:GetObject
로 s3에서 오브젝트 가져갈 수 있게 해줬음.
Resource
: 제공할 버킷의 resource임
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::버킷이름/*"
}
]
}
아직 앵귤러앱을 서비스 하지 않았기 때문에 임시로 AllowedOrigins
아무나 할 수 있게 해놨음.
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"GET"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": [
"x-amz-server-side-encryption",
"x-amz-request-id",
"x-amz-id-2"
],
"MaxAgeSeconds": 3000
}
]
aws cli 설치하고 로컬에 내 계정 정보 등록해줌
aws configure
하면 AWS Access Key
, AWS Secret Access Key
, Default region name
, Default output format
를 입력해줘야하는데 앞의 2개는 내꺼를 넣으면 되고 region은 그냥 아무거나 하면 됨. ap-northeast-2 이거로 넣긴 했음. 마지막 format은 JSON으로 함.
이제 업로드 할 파일/폴더가 있는 곳으로 가서 아래 명령어로 올리면됨.
aws s3 cp 파일/폴더이름 s3://버킷이름 --recursive(폴더면 에있는 것까지 이거로 재귀로 싹 넣어줌)
데이터에 캐싱을 해줄건데 지금 제공하는 데이터는 바뀌는게 아니어서 캐시기간을 최대인 31536000초(1년)로 해줄거임.
디렉토리 - 작업 - 메타데이터 편집
메타데이터 추가 - 시스템 정의 - Cache-Control - 값에다가 31536000