본문 바로가기
카테고리 없음

S3 ,

by redeyes 2022. 2. 11.

S3 기본버킷 생성후 이미지 업로드.

버킷 생성시에 버킷이름은 리전당 한가지의 Unique 한 값을 가져야한다. 도메인 생각하면 쉽다.

 

나머지는 디폴트로 설정하고 후에 변경해도 되니 처음 시작할때는 디폴트로 생성한다

 

이부분은 사실 ACL활성화하고 모든 public엑세스 차단을 풀어도 되지만 일단 생성후 수정하자.

UI가 계속 수정되어서 이걸 보는 시점에는 또 바뀌어있을 수 있어서 일단 생성후 수정하는 방향으로 잡자.

 

단순 업로드는 해당 버킷에서 가능하다

하지만 객체 접근은 엑세스가 막혀있을 것이다 그것은 생성때부터 권한을 풀지 않아서 인데 

 

해당 버킷의 최상위 폴더의 권한에서

그때 그때 다르겠지만 2022년 연초에는아직 이렇다.

편집에 들어가서 

 모든 퍼블릭 엑세스 차단을 풀어주면 된다.

 

그이후에 해당 이미지나 파일로 접근하면 아직 엑세스 접근이 막혀있을 수 있다.

해당 파일에 권한을 풀어주어야하는데 

편집이 막혀 있다.
다시 최상위 버킷의 권한에서 객체 소유권 편집에서

위와 같이 풀면 된다. 

 

처음 생성할때 미리 하면 좋으나 처음 접하거나 이후 화면구성이 어떻게 변할지 모르니 

 

 객체소유권과 퍼블릭 액세스의 권한을 풀어줘야한 다는 정도만 기억하면 된다.

 

이후 해당 파일의 엑세스 제어 목록 편집을 하면된다

 

 

IAM 기능

IAM에서는 다음 기능을 제공합니다.

AWS 계정에 대한 공유 액세스

암호나 액세스 키를 공유하지 않고도 AWS 계정의 리소스를 관리하고 사용할 수 있는 권한을 다른 사람에게 부여할 수 있습니다.

다른 기능도있으나 저정도만 이해하고 넘어가고 다른부분은 구글링...

 

 

네비바의 엑세스관리의

사용자 혹은 users 에서 사용자 추가를 하자

엑세스 유형 선택 란에서는 

엑세스 키 -프로그램 방식 액세스

이부분을 체크후 넘어가자

 지금 기준으로 권한 설정 란이 먼저나오는데 

중요한 건 아직 그룹이나 기존권한이 없으니 기존정책 직접연결 택후

s3 full access

s3 권한을 테스트중이니 full access로 설정한다.

지금기준으로는 태그가 먼저나오나 아직 테스트 단계이기도 하고 하니 일단 넘어간다.

검토도 읽어본다 하지만 fullaccess상태이니.. 넘어가자.(순서는 AWS 정책에 따라 바뀌니 어떤 화면이 나올지는 장담할 수 없다  중요한건 S3의 fullaccess IAM 사용자를 만들고 있다는 것만 이해하자.)

 

이렇게해서 맨 마지막 단계가 되면 

이렇게 나오는데 csv를 다운받든 메모장에 id랑 키를 적어 놓아도 된다.

콘솔 엑세스를 하지 않았기때문에 콘솔 접속은 어렵다.

 

계정을 생성했으니 AWS SDK를 https://awscli.amazonaws.com/AWSCLIV2.msi 설치후 

파워쉘이나 (맥은 맥용 sdk) 터미널 등등을 켜보고 인스톨이 잘 되었는지 aws --version으로 확인해보자

실행은 aws fonfigure

access key는 아까 적은거

screate key도 아까 메모장에 적은거

region은 어디 리즌을 쓸거냐 인데 아시아로 설정했으니 ap-northeast-2

output format 은 일단 json

{https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html} commendline 명령어

 

업로드부터 실행 해보자 

aws s3 cp {파일명} s3://{버킷이름} --acl public-read  (acl public read  말그대로 권한 설정 부분 )

버킷이름은 s3생성시 이름을 적어주기만 하면 되고 key와 파일 경로만 잘 적어주면 문제없이 업로드가 되어있다.

 

 

 

S3에 정적 웹 호스팅 이용하기

 

이미 만든 버킷을 이용해보자

버킷의 속성탭

속성에서 태그 버킷개요 버전관리 등등을 확인후 

정적 웹 사이트 호스팅을 찾아보자.

편집을 누르고

활성화 후 인덱스 문서같은경우 버킷 접속시 최초 페이지 라고 보면 된다. 오류문서는 따로 페이지를 만들어도 되고 인덱스 네에서 처리할 수 있다면 index.html로 수정해도 된다.

 

자 이제 도메인이 생겼다 특별히 html파일명을 지정한게 없다면 (replacehold따라서 index.html로 했겠지만...) index.html파일을 올려보자. 

 

자이제 접속해 보자 아마도 또 403이나 액세스 오류가 뜰 것이다. 그거 역시 권한을 하나씩 풀어보자. 

해당 html 객체에 접근해서 권한탭에서

편집에 들어가서 읽기쓰기를 모두 체크후 다시 한번

 

 엔드포인트 도메인 등등 여튼 도메인으로 접속해보자 .