AWS S3 생성
AWS의 대표적인 저장소 서비스인 S3에 대해 알아보고 테라폼을 통해 생성해본다.
AWS S3란?
AWS S3(Amazone Simple Storage Service)는 인터넷용 스토리지 서비스이다. 이 서비스는 개발자가 웹 규모 컴퓨팅 작업을 보다 쉽게 수행할 수 있도록 설계되었다.
Amazon S3는 엄청난 양의 데이터를 저장할 수 있고, 빠른 검색이 가능하다. 그리고 S3는 높은 확장성과 신뢰성을 갖춰 이를 이용해 빠르고 경제적인 데이터 스토리지 인프라를 구축할 수 있다.
Amazon S3 기본 개념
버킷
버킷은 S3에 저장된 객체에 대한 기본 컨테이너이다.
모든 객체는 어떤 버킷에 포함된다.
버킷이 사용되는 용도는 아래와 같다.
- S3 네임스페이스를 최상위 수준으로 구성한다.
- 스토리지 및 데이터 전송 요금을 담당하는 계정을 식별한다.
- 액세스 제어에 사용된다.
- 사용량 보고를 위한 집계 단위로 사용된다.
객체
객체는 S3에 저장되는 기본 개체이다. 객체는 객체 데이터와 메타데이터로 구성된다.
메타데이터는 객체를 설명하는 이름-값 페어의 집합이다. 여기에는 마지막 수정 날짜와 같은 몇 가지 기본 메타데이터 및 Content-Type 같은 표준 HTTP 메타데이터가 포함된다.
객체는 키 및 버전 ID를 통해 버킷 내에서 고유하게 식별된다.
키
키는 버킷 내 객체의 고유한 식별자이다. 버킷 내 모든 객체는 정확히 하나의 키를 갖는다. 버킷, 키 및 버전 ID의 조합은 각 객체를 고유하게 식별한다.
예를 들어 https://bucket_cont.s3.amazonaws.com/2021-05-17/AmazonS3.jpg
의 URL에서 bucket_cont
는 버킷 이름이고, 2021-05-17/AmazonS3.jpg
는 키이다.
Regions
사용자는 S3 버킷을 어느 지역에 생성할 지 AWS 리전에서 선택할 수 있다. 특정 리전에 저장된 객체는 사용자가 명시적으로 객체를 다른 리전으로 전송하지 않으면 해당 리전을 벗어나지 않는다.
테라폼으로 S3 생성
S3 버킷을 생성해본다.
- s3.tf
resource "aws_s3_bucket" "s3" {
bucket = "20210517-terraform"
}
S3 bucket을 생성할 때는 aws_s3_bucket
리소스를 사용한다. bucket
argument는 버킷의 이름을 적는다. 이때 s3 버킷은 전세계적으로 유일한 이름이여야 한다. 만약 bucket
arguemnt를 사용하지 않으면 테라폼이 랜덤으로 고유한 이름을 지정해준다.
terraform plan
terraform apply
생성한 S3 버킷에 파일을 업로드해본다.
cp
명령어를 통해 앞서 생성한 S3 버킷 경로에 파일을 업로드한다.
aws s3 cp [파일 이름] s3://[버킷 이름]/[경로]
만약 s3 버킷에서 다운로드 받고 싶다면 경로를 반대로 적어준다.
aws s3 cp s3://[버킷 이름]/[경로] .
Author And Source
이 문제에 관하여(AWS S3 생성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dojun527/AWS-S3-생성저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)