AWS

웹 브라우저에서 S3 버킷에 이미지 업로드

GTC 2021. 2. 20. 00:12

실습 과정

[그림 출처] AWS document

 

 

STEP 1. 버킷 생성

 

 

버킷이름(고유한 이름)과 리전을 선택한다

 

 

외부 브라우저(아마존 사용자가 아닌)에서 버킷에 대한 파일의 접근을 허용해야하므로 "모든 퍼블릭 액세스 차단"을 해제한다 (아래의 네모박스에 체크한다)

 

버킷이 생성되었는지 확인한다

 

 

STEP 2. 버킷 CORS 설정하기

 

CORS란 Cross Origin Resource Sharing의 줄임말로, Cross-Site Http Request를 가능하게 하는 표준 규약이다. 즉 다른 도메인에서 어떤 http request가 들어왔을 때 이에 어떻게 반응할지를 결정해주는 규칙 문서이다

 

 

[권한] 탭을 클릭하고 스크롤을 맨 밑으로 내리면 CORS 설정 화면이 보일 것이다

 

 

 

우측에 [편집]을 클릭하고 아래의 소스코드를 입력한다

[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "HEAD",
            "GET",
            "PUT",
            "POST",
            "DELETE"
        ],
        "AllowedOrigins": [
            "*"
        ],
        "ExposeHeaders": [
            "ETag"
        ]
    }
]

 

 

STEP 3. 자격 증명 풀 생성하기

 

[자격 증명 풀 관리]를 클릭한다

 

 

자격 증명 풀 이름을 입력하고 [풀 생성]을 클릭한다

 

{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Effect": "Allow",
         "Action": [
            "s3:*"
         ],
         "Resource": [
            "arn:aws:s3:::BUCKET_NAME/*",
            "arn:aws:s3:::BUCKET_NAME"
         ]
      }
   ]
}

 

플랫폼을 "JavaScript"로 설정하고 [AWS 자격 증명 얻기]에서 "리전"과 "IdentityPoolId"를 기억해둔다

 

 

STEP 4. 웹 브라우저 실행

 

uploading photos to amazon s3.zip
0.00MB

 

 

STEP 5. Cognito 역할에 S3 접근 권한 부여

인증되지 않은 사용자에 IAM 대해 생성한 Amazon Cognito 역할을 찾아 S3 버킷에 대해 읽기, 쓰기, 수정, 삭제할 수 있는 권한을 부여해야한다

 

 

 

STEP 6. 소스코드 수정

 

 

app.js 파일을 열어서 "albumBucketName", "bucketRegion", "IdentityPooolid"를 수정한다(앞서 자격 증명 얻기에서 확인한 리전과 IdentityPoolId을 입력)

 

설정을 완료했으면 웹브라우저에서 이미지 업로드, 리스트 확인, 삭제 등을 할 수 있다