9장 이미지 저장 장소 준비하기


S3

EC2 인스턴스에서 스토리지를 제공한다. EBS(Amazon Elastic Block Store)라고 한다.
EBS를 사용하면 다음과 같은 문제가 있다.

이런 문제를 해결해줄 수 있는 스토리지 S3(Amazon Simple Storage Service)가 있다.

S3의 작업 범위와 비용

S3도 매니지드 서비스이다. 사용자는 데이터 관리에 집중할 수 있다.
또한 내구성이 99.999..% 에 달해서 데이터를 손상없이 저장할 수 있다.

비용도 EBS의 비용에 5분의1 수준으로 매우 낮다.

성능과 비용 측면에서 압도적으로 좋지만, 외부 스토리지 서비스라는 한계가 있다.

S3와 VPC의 관계

S3는 외부 스토리지이기 때문에 VPC 외부에 위치한다.
S3에 접근하는 방법으로는 2가지를 들 수 있다.

  1. 접근 정책을 가진 IAM 의 역할을 생성하고 EC2에 적용
  2. 역할에 포함된 정책을 이용해서 S3에 접근
Note

S3에 접근할 수 있는 정책을 가진 사용자를 만들어서 사용자 권한+ 엑세스 키 조합으로 접근할 수도 있지만, 위의 방법을 더 많이 사용.

S3 시스템

버킷은 S3에서 관리하는 데이터를 하나로 모은 단위이다.
버킷 안에 데이터인 객체로 저장한다.
여러 객체를 폴더로 묶어서 시스템적으로 관리할 수도 있다.

버킷 생성하기

S3 -> 버킷 -> 생성

Attachments/Picture/Pasted image 20231207221950.png
이 S3는 인터넷으로부터 접근이 아닌 VPC로부터 접근만 허용할 것 이기 때문에 퍼블릭 엑세스를 차단해줬다.

역할 생성해서 EC2에 적용하기

역할 생성

IAM -> 역할 -> 생성

엔티티와 사용사례

Attachments/Picture/Pasted image 20231208153229.png|500
AWS서비스와 EC2 선택

권한 추가

Attachments/Picture/Pasted image 20231208153336.png|500
모든 S3의 권한 정책인 AmazonS3FullAccess 를 추가해준다.

이후 이름을 지정하고, 할당된 엑세스 권한 정책을 확인한 후 생성해준다.

EC2에 역할 적용하기

EC2 -> 인스턴스 -> 작업 -> 보안 -> IAM 역할 수정

Pasted image 20231208153738.png|500
생성한 IAM 역할을 적용하여 업데이트 해준다.

작동 확인하기

연결한 EC2 에 간단한 text파일을 만들어서 S3에 업로드하여 작동을 확인해보자.

aws s3 cp text.txt s3://{버킷이름}

Attachments/Picture/Pasted image 20231208154251.png

S3 대시보드에서 업로드된 객체를 확인할 수 있다.