JAWS-UG CLI 전문 지부 #154R S3 입문 참가 정리

S3 입문편에 참가해 봐



JAWS-UG CLI 전문 지부 # 154R S3 입문에 참가.
S3 작업을 AWS CLI를 통해 배웠습니다. 1시간 늦게 참가했지만 어떻게든 모든 조작을 해왔다.
지바마치 개최에서 한 번 참가한 적이 있지만, 좀처럼 시간이 맞지 않고 2회째 이후는 되지 않는다.
온라인 개최가 되고 나서 지금까지 매회 참가할 수 있기 때문에 정말 기쁘다.
운영자 하타노 씨 감사합니다!
★JAWS-UG CLI 전문 지부 #154R S3 입문 이벤트 페이지

할 수 있게 된 것


  • S3 버킷 만들기 S3 버킷 만들기
  • S3 객체의 조작 (확인, 업로드, 다운로드, 이동, 삭제)
  • S3 버킷 동기화
  • 웹 사이트 호스팅
  • 서명 된 URL 발행

  • ★교재 페이지

    S3 버킷 구축


    aws s3 mb s3://${S3_BUCKET_NAME} --region ${AWS_DEFAULT_REGION}\${S3_BUCKET_NAME}=버킷 이름을 지정했습니다. 고유할 필요가 있다.
    \${AWS_DEFAULT_REGION}=버킷을 생성할 리전입니다. 도쿄 리전은 'ap-northeast-1'.

    S3 객체 조작



    · 오브젝트 확인aws s3 ls s3://${S3_BUCKET_NAME}/
    · 객체 업로드aws s3 cp ${FILE_UPLOAD} s3://${S3_BUCKET_NAME}/\${FILE_UPLOAD}=복사 원본 지정

    · 객체 다운로드aws s3 cp s3://${S3_BUCKET_NAME}/${S3_OBJECT_NAME} ${FILE_DOWNLOAD}\${S3_BUCKET_NAME}/${S3_OBJECT_NAME}=S3의 객체를 지정합니다.
    \${FILE_DOWNLOAD}=로컬 다운로드 대상 지정

    · 객체 삭제aws s3 rm s3://${S3_BUCKET_NAME}/${S3_OBJECT_NAME}
    · 오브젝트 이동aws s3 mv s3://${S3_BUCKET_NAME_SOURCE}/${S3_OBJECT_PREFIX_SOURCE} \
    s3://${S3_BUCKET_NAME_DESTINATION}/${S3_OBJECT_PREFIX_DESTINATION}
    \${S3_BUCKET_NAME_SOURCE}/\${S3_OBJECT_PREFIX_SOURCE}=이동할 객체 지정
    \${S3_BUCKET_NAME_DESTINATION}/\${S3_OBJECT_PREFIX_DESTINATION}=이동 대상 객체 지정

    · 오브젝트 삭제(경로 단위)aws s3 rm --recursive s3://${S3_BUCKET_NAME}/${S3_OBJECT_PREFIX}recursive 지정으로 경로 포함하여 삭제.

    S3 버킷과 동기화



    미리 git 저장소에서 로컬로 clone하여 데이터를 업로드합니다.cd ${DIR_S3_TRANSFER} \
    && aws s3 sync . "s3://${S3_BUCKET_NAME}/" \
    --exclude "${S3_SYNC_EXCLUDE}" --acl public-read
    exclude ${S3_SYNC_EXCLUDE}=동기화 대상에서 제외할 파일을 지정합니다. (".git*")
    acl public-read=개체 공개 읽기 허용

    가상 호스팅 엔드포인트 얻기S3_BUCKET_ENDPOINT=" \
    ${S3_BUCKET_NAME}.s3.$( \
    \ aws s3api get-bucket-location \
    --bucket ${S3_BUCKET_NAME} \
    --output text \
    ).amazonaws.com" \
    && echo ${S3_BUCKET_ENDPOINT}

    가상 호스팅 끝점에 개체 경로 추가S3_OBJECT_NAME='img.jpg'
    URL_S3_OBJECT="${S3_BUCKET_ENDPOINT}/${S3_OBJECT_NAME}" \
    && echo ${URL_S3_OBJECT}
    \${URL_S3_OBJECT}를 브라우저에서 참조하면 객체의 img 파일을 볼 수 있습니다.

    S3 버킷 웹사이트 호스팅 설정



    웹사이트 호스팅aws s3 website "s3://${S3_BUCKET_NAME}" \
    --index-document ${S3_DOC_INDEX} \
    --error-document ${S3_DOC_ERROR}
    index-document\${S3_DOC_INDEX} 정상적으로 표시할 페이지 지정
    error-document\${S3_DOC_ERROR} 4XX 계열의 에러가 발생할 때 표시할 페이지를 지정

    엔드포인트 얻기S3_BUCKET_WEBSITE_ENDPOINT=" \
    ${S3_BUCKET_NAME}.s3-website-$( \
    aws s3api get-bucket-location \
    --bucket ${S3_BUCKET_NAME} \
    --output text \
    ).amazonaws.com" \
    && echo ${S3_BUCKET_WEBSITE_ENDPOINT}
    ※리전에 따라 엔드포인트의 형식이 바뀌므로 주의
    옛날부터 있는 리전:s3-website(버지니아 북부나 도쿄)
    새로운 리전 : s3-website. (서울과 오사카)
    자세한 내용은 아래 링크
    웹사이트 엔드포인트 정보
    리전별 엔드포인트

    서명된 URL 발급


    aws s3 presign s3://${S3_BUCKET_NAME}/${S3_OBJECT_NAME} \
    --expires-in ${S3_PRESIGN_SECONDS}
    presign s3://\${S3_BUCKET_NAME}/\${S3_OBJECT_NAME} 서명할 개체 이름 지정
    expires-in\${S3_PRESIGN_SECONDS} 서명의 만료일. 단위는 초.

    좋은 웹페이지 즐겨찾기