AWS/Service

S3 업로드 방식 및 웹 사이트용 주의사항

jih0ssang 2023. 12. 2. 15:54

S3 업로드 방식

  1. API와 SDK 사용
  2. 멀티 파트 업로드
  3. AWS Transfer for SFTP 
  4. AWS DataSync   (온프레미스와 연결 업로드이므로 다루지 않겠음)

API와 SDK 사용

서드 파티 도구를 활용해 파일을 업로드할 수 있다.

IAM 사용자에게 액세스 키와 보안 액세스 키를 발행하여 사용하고 싶은 도구에 설정한다.

 

멀티 파트 업로드

객체를 여러 개 나누어 세트 하나로 업로드할 수 있다.

관리 콘솔, CLI는 큰 파일을 업로드할 때 멀티 파트 업로드로 전환된다.

 

AWS Transfer for SFTP

SFTP를 사용하여 파일을 전송할 수 있는 서비스다.

SFTP 도구가 아닌 SFTP 서버를 제공하는 서비스이다.

SFTP 서버 엔드포인트를 설정하면 서드 파티의 SFTP 도구를 사용할 수도 있다.

초기 비용은 들지 않지만 SFTP 서버를 사용한 시간 및 데이터 전송량에 따라 과금된다.

 

 

버킷을 웹 사이트로 사용할 경우,  S3 버킷명과 도메인명 일치 해야하는가?

참고 블로그: https://longtermsad.tistory.com/45

 

S3 웹 사이트 엔드포인트

 

 

호스팅 영역의 A 레코드 추가

A(Alias)로 구성 시 반드시 S3 버킷명은 도메인명과 일치하여야 한다. 

S3 버킷명과 도메인명이 일치한다면 트래픽 라우팅 대상에 S3 버킷이 뜨지만,

일치하지 않는다면 "리소스를 찾을 수 없습니다." 문구가 뜬다.

 

호스팅 영역의 CNAME 레코드 추가

CNAME은 리다이렉션 기능이 있어서 버킷명과 도메인명이 일치하지 않아도 될 것 같지만,

일치하지 않으면 여전히 접속이 불가하다.

 

S3 버킷명과 도메인명이 불일치한 경우

참고 블로그: https://nykim.work/25

 

[AWS] S3 버킷으로 정적 웹사이트 호스팅하기

1. S3에 버킷을 만든다. 이때 이름은 웹사이트 도메인과 동일해야 한다. 예를 들어, 사이트 도메인이 thevitolabs.com 이라면 thevitolabs.com 이란 이름의 버킷을 만들어야 한다. 2. 기존 웹호스팅처럼 폴

nykim.work

 

S3 버킷 엔드포인트

https://thevitolabs.com.s3-website.ap-northeast-2.amazonaws.com

호스팅 영역
CNAME 레코드

<-------------서브도메인------------>

레코드명          (자동)                        도메인 주소
abcd               .thevitolabs.com         s3-website.ap-northeast-2.amazonaws.com

접속이 불가한 이유는 서브도메인명(abcd.thevitolabs.com)+AWS주소(s3-website.ap-northeast-2.amazonaws.com)접속하려 들기 때문이다.
저 서브도메인명으로 되어있는 버킷이 없기 때문에 접속이 불가능한 것이다.

가능하게 하려면 버킷을 2개 만들어서 

(도메인명과 일치하는 버킷 1, 내가 원하는 네임의 버킷 1) 

요청을 다른 도메인으로 리디렉션 설정을 해야 한다.

 

 

A(Alias)는 AWS 자원에 관한 쿼리에 대해서는 요금이 부과되지 않지만,

CNAME의 경우 쿼리에 관한 요금이 부과된다. 
불필요한 비용을 줄이기 위해서라도 A(Alias) 레코드 사용을 추천한다.

 

'AWS > Service' 카테고리의 다른 글

AWS CodeBuild  (0) 2023.12.16
Route53 Resolver  (0) 2023.12.02
Amazon S3  (1) 2023.12.02
라우팅 테이블  (1) 2023.11.26
Terraform vs CloudFormation  (1) 2023.11.25