S3 기본버킷 생성후 이미지 업로드.
버킷 생성시에 버킷이름은 리전당 한가지의 Unique 한 값을 가져야한다. 도메인 생각하면 쉽다.
나머지는 디폴트로 설정하고 후에 변경해도 되니 처음 시작할때는 디폴트로 생성한다
UI가 계속 수정되어서 이걸 보는 시점에는 또 바뀌어있을 수 있어서 일단 생성후 수정하는 방향으로 잡자.
단순 업로드는 해당 버킷에서 가능하다
하지만 객체 접근은 엑세스가 막혀있을 것이다 그것은 생성때부터 권한을 풀지 않아서 인데
해당 버킷의 최상위 폴더의 권한에서
편집에 들어가서
모든 퍼블릭 엑세스 차단을 풀어주면 된다.
그이후에 해당 이미지나 파일로 접근하면 아직 엑세스 접근이 막혀있을 수 있다.
해당 파일에 권한을 풀어주어야하는데
위와 같이 풀면 된다.
처음 생성할때 미리 하면 좋으나 처음 접하거나 이후 화면구성이 어떻게 변할지 모르니
객체소유권과 퍼블릭 액세스의 권한을 풀어줘야한 다는 정도만 기억하면 된다.
이후 해당 파일의 엑세스 제어 목록 편집을 하면된다
IAM 기능
IAM에서는 다음 기능을 제공합니다.
암호나 액세스 키를 공유하지 않고도 AWS 계정의 리소스를 관리하고 사용할 수 있는 권한을 다른 사람에게 부여할 수 있습니다.
다른 기능도있으나 저정도만 이해하고 넘어가고 다른부분은 구글링...
네비바의 엑세스관리의
사용자 혹은 users 에서 사용자 추가를 하자
엑세스 유형 선택 란에서는
엑세스 키 -프로그램 방식 액세스
이부분을 체크후 넘어가자
지금 기준으로 권한 설정 란이 먼저나오는데
중요한 건 아직 그룹이나 기존권한이 없으니 기존정책 직접연결 택후
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 객체에 접근해서 권한탭에서
편집에 들어가서 읽기쓰기를 모두 체크후 다시 한번
엔드포인트 도메인 등등 여튼 도메인으로 접속해보자 .