DevYGwan
AWS - S3 본문
S3 란?
- Amazon Simple Storage Service(Amazon S3)는 최고의 확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스입니다.
- 즉 파일 서버의 역할을 하는 서비스인데, 일반적인 파일 서버는 트래픽이 증가함에 따라서 장비를 증설하는 것과 같은 작업을 해야 하는데 S3는 이와 같은 것을 대행해줍니다.
- 사용자가 트래픽에 따른 시스템적인 문제를 걱정할 필요가 X
- 사용자는 자신이 쓴 비용만큼 비용을 지불하면 된다.
- 파일에 대한 접근 권한을 지정할 수 있어서 서비스를 호스팅 용도로 사용하는 것을 방지할 수 있습니다
따라서 이번엔 여러가지 AWS에서 제공하는 스토리지 옵션 중, S3를 사용해 작업을 해볼 예정입니다.
Mission:
S3에 정적인 웹사이트와 캡처된 사진을 올리고, 이를 접근해서 EC2 인스턴스로 만들어진 word-press 홈페이지에 해당 캡처된 사진을 올린다.
1. 버킷 만들기
버킷이란?
S3에서 생성할 수 있는 최상위 디렉토리의 개념으로 이름은 S3 리전 중에서 유일해야 합니다. 계정별로 100개까지 생성 가능하며 버킷에 저장할 수 있는 객체수와 용량은 무제한입니다. 버킷 단위로 지역(region)을 지정할 수 있고, 또 버킷에 포함된 모든 객체에 대해서 일괄적으로 인증과 접속 제한을 걸 수 있습니다.
버킷의 이름은 고유해야하고 저 같은 경우 모든 퍼블릭 엑세스를 차단을 해제하고 아래만 체크를 하였습니다. 이것 같은 경우 S3를 어떤 식으로 사용할 것인지에 따라 달라집니다.
2. 파일 업로드
해당 버킷을 생성하면, 일정 시간이 지난 후에 버킷이 생성되고 이 버킷에 파일을 업로드할 수 있습니다. 저는 정적인 페이지와 기본 스크린 페이지를 업로드해야 하므로 위의 사진에서 업로드 버튼을 클릭한 후, 제가 만든 정적인 페이지와 이미지를 업로드하였습니다. 업로드 버튼을 클릭하면 아래와 같은 페이지가 뜨고 이 페이지에서 파일 추가 버튼을 통해 제가 원하는 것을 버킷에 업로드합니다.
이렇게 생성한 후, 해당 파일의 url을 검색하면 아래와 같은 페이지가 뜬다.
이 문제를 해결하기 위해서는 버킷 정책을 수정해줘야한다.
버킷 -> 해당 버킷 클릭 -> 권한 -> 버킷 정책 -> 편집을 클릭 후, 아래의 코드를 작성한다.
이 코드에서 "버킷 이름" 부분만 해당 버킷 이름으로 작성하면 된다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1405592139000",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::버킷이름/*",
"arn:aws:s3:::버킷이름"
]
}
]
이 코드를 작성하면 버킷이 퍼블릭 엑세스가 가능하다고 뜸과 동시에 다시 url을 검색하면 위의 페이지(Access Denied)가 아닌 제가 원하는 이미지가 나오는 것을 알 수 있습니다.
'Study > AWS_Service' 카테고리의 다른 글
AWS - WordPress 환경 설정 (1) | 2022.05.15 |
---|---|
AWS - EFS 사용법 (0) | 2022.05.05 |
AWS - EBS 사용법 (0) | 2022.05.05 |