튜토리얼: S3 Express One Zone 시작하기
튜토리얼: S3 Express One Zone 시작하기 (Tutorial: Getting started with S3 Express One Zone)
Amazon S3 Express One Zone은 단일 가용 영역을 선택하고 객체 스토리지와 컴퓨팅 리소스를 함께 배치할 수 있는 최초의 S3 스토리지 클래스로, 가능한 가장 높은 접근 속도를 제공해요. S3 Express One Zone의 데이터는 가용 영역에 있는 디렉터리 버킷에 저장돼요. 디렉터리 버킷에 대한 자세한 내용은 "디렉터리 버킷 (Directory buckets)"을 참고해요.
S3 Express One Zone은 요청 지연 시간을 최소화하는 것이 중요한 모든 애플리케이션에 이상적이에요. 그런 애플리케이션은 인간이 개입하는 워크플로우일 수 있는데, 예를 들어 영상 편집처럼 창작 전문가가 사용자 인터페이스에서 콘텐츠에 반응성 있게 접근해야 하는 경우가 있어요. S3 Express One Zone은 데이터에서 비슷한 반응성 요구 사항을 갖는 분석 및 머신러닝 워크로드, 특히 작은 접근이 많거나 많은 수의 무작위 접근이 있는 워크로드에도 유리해요. S3 Express One Zone은 Amazon EMR, Amazon Athena, AWS Glue Data Catalog, Amazon SageMaker Model Training 같은 다른 AWS 서비스와 함께 사용해 분석 및 AI/ML 워크로드를 지원할 수 있어요. S3 Express One Zone 스토리지 클래스와 디렉터리 버킷은 Amazon S3 콘솔, AWS SDK, AWS Command Line Interface(AWS CLI), Amazon S3 REST API로 다룰 수 있어요. 자세한 내용은 "S3 Express One Zone이란 무엇인가요?"와 "S3 Express One Zone은 어떻게 다른가요?"를 참고해요.
목표: 이 튜토리얼에서 게이트웨이 엔드포인트를 만들고, IAM 정책을 만들고 연결하며, 디렉터리 버킷을 만든 뒤 가져오기(Import) 작업으로 일반 목적 버킷에 저장된 객체를 디렉터리 버킷에 채우는 방법을 배워요. 또는 디렉터리 버킷에 객체를 수동으로 업로드할 수도 있어요.
- 사전 조건 (Prerequisites)
- 1단계: S3 Express One Zone 디렉터리 버킷에 도달하는 게이트웨이 VPC 엔드포인트 구성
- 2단계: S3 Express One Zone 디렉터리 버킷 만들기
- 3단계: S3 Express One Zone 디렉터리 버킷으로 데이터 가져오기
- 4단계: S3 Express One Zone 디렉터리 버킷에 객체 수동 업로드
- 5단계: S3 Express One Zone 디렉터리 버킷 비우기
- 6단계: S3 Express One Zone 디렉터리 버킷 삭제
- 다음 단계 (Next steps)
사전 조건 (Prerequisites)
이 튜토리얼을 시작하기 전에 올바른 권한을 가진 AWS Identity and Access Management(IAM) 사용자로 로그인할 수 있는 AWS 계정이 있어야 해요.
- AWS 계정 만들기
- AWS 계정에서 IAM 사용자 만들기(콘솔)
- IAM 정책을 만들고 IAM 사용자 또는 역할에 연결하기(콘솔)
AWS 계정 만들기
이 튜토리얼을 완료하려면 AWS 계정이 필요해요. AWS에 가입하면 AWS 계정이 Amazon S3를 포함한 AWS의 모든 서비스에 자동으로 가입돼요. 사용한 서비스에 대해서만 요금이 부과돼요. 요금에 대한 자세한 내용은 S3 요금을 참고해요.
AWS 계정에서 IAM 사용자 만들기(콘솔)
AWS Identity and Access Management(IAM)는 관리자가 AWS 리소스에 대한 접근을 안전하게 제어하도록 돕는 AWS 서비스예요. IAM 관리자는 누가 인증(로그인)되고 인가(권한 보유)되어 S3 Express One Zone의 객체에 접근하고 디렉터리 버킷을 사용할 수 있는지를 제어해요. IAM은 추가 비용 없이 사용할 수 있어요.
기본적으로 사용자는 디렉터리 버킷에 접근하고 S3 Express One Zone 연산을 수행할 권한이 없어요. 디렉터리 버킷과 S3 Express One Zone 연산에 대한 접근 권한을 부여하려면 IAM으로 사용자나 역할을 만들고 해당 자격 증명에 권한을 연결하면 돼요. IAM 사용자 만드는 방법은 IAM User Guide의 "IAM 사용자 만들기(콘솔)"를 참고해요. IAM 역할을 만드는 방법은 IAM User Guide의 "IAM 사용자에게 권한을 위임하는 역할 만들기"를 참고해요.
단순하게 하기 위해 이 튜토리얼은 IAM 사용자를 만들어 사용해요. 이 튜토리얼을 마친 뒤에는 IAM 사용자를 삭제하는 것을 잊지 마세요. 프로덕션 사용에는 IAM User Guide의 "IAM 보안 모범 사례"를 따르는 것을 권장해요. 모범 사례 중 하나는 인간 사용자가 ID 공급자와의 페더레이션으로 임시 자격 증명을 사용해 AWS에 접근하도록 하는 거예요. 또 다른 모범 사례는 워크로드가 IAM 역할과 함께 임시 자격 증명을 사용해 AWS에 접근하도록 요구하는 거예요. AWS IAM Identity Center로 임시 자격 증명을 가진 사용자를 만드는 방법은 AWS IAM Identity Center User Guide의 "시작하기"를 참고해요.
경고: IAM 사용자는 장기 자격 증명을 보유해 보안 위험이 있어요. 이 위험을 줄이려면 작업을 수행하는 데 필요한 권한만 이 사용자에게 제공하고, 더 이상 필요하지 않을 때는 사용자를 제거할 것을 권장해요.
IAM 정책을 만들고 IAM 사용자나 역할에 연결하기(콘솔)
기본적으로 사용자는 디렉터리 버킷과 S3 Express One Zone 연산에 대한 권한이 없어요. 디렉터리 버킷에 대한 접근 권한을 부여하려면 IAM으로 사용자·그룹·역할을 만들고 해당 자격 증명에 권한을 연결하면 돼요. 디렉터리 버킷은 S3 Express One Zone 접근을 위한 버킷 정책이나 IAM 자격 증명 정책에 포함할 수 있는 유일한 리소스예요.
S3 Express One Zone으로 리전 엔드포인트 API 연산(버킷 수준 또는 컨트롤 플레인 연산)을 사용하려면 세션 관리를 수반하지 않는 IAM 인가 모델을 사용해요. 권한은 작업별로 개별적으로 부여돼요. 존 엔드포인트 API 연산(객체 수준 또는 데이터 플레인 연산)을 사용하려면 CreateSession으로 데이터 요청의 저지연 인가에 최적화된 세션을 만들고 관리해요. 세션 토큰을 검색·사용하려면 자격 증명 기반 정책이나 버킷 정책에서 디렉터리 버킷에 대한 s3express:CreateSession 작업을 허용해야 해요. Amazon S3 콘솔, AWS Command Line Interface(AWS CLI) 또는 AWS SDK로 S3 Express One Zone에 접근하면 S3 Express One Zone이 사용자 대신 세션을 만들어 줘요. 자세한 내용은 "CreateSession 인가"와 "S3 Express One Zone용 AWS Identity and Access Management(IAM)"를 참고해요.
IAM 정책을 만들고 IAM 사용자(또는 역할)에 정책을 연결하려면
- AWS Management Console에 로그인하고 IAM 관리 콘솔을 열어요.
- 탐색 창에서 Policies(정책)를 선택해요.
- Create Policy(정책 만들기)를 선택해요.
- JSON을 선택해요.
- 아래 정책을 정책 편집기 창에 복사해 넣어요. 디렉터리 버킷을 만들거나 S3 Express One Zone을 사용하려면 먼저 AWS Identity and Access Management(IAM) 역할 또는 사용자에게 필요한 권한을 부여해야 해요. 이 예제 정책은 CreateSession API 연산(다른 존 또는 객체 수준 API 연산과 함께 사용)과 모든 리전 엔드포인트(버킷 수준) API 연산에 대한 접근을 허용해요. 이 정책은 모든 디렉터리 버킷에 대해 CreateSession API 연산을 허용하지만, 리전 엔드포인트 API 연산은 지정된 디렉터리 버킷에 대해서만 허용해요. 이 예제 정책을 사용하려면 사용자 입력 자리 표시자를 자신의 정보로 바꿔요.
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "AllowAccessRegionalEndpointAPIs",
"Effect": "Allow",
"Action": [
"s3express:DeleteBucket",
"s3express:DeleteBucketPolicy",
"s3express:CreateBucket",
"s3express:PutBucketPolicy",
"s3express:GetBucketPolicy",
"s3express:ListAllMyDirectoryBuckets"
],
"Resource": "arn:aws:s3express:us-east-1:111122223333:bucket/amzn-s3-demo-bucket--usw2-az1--x-s3/*"
},
{
"Sid": "AllowCreateSession",
"Effect": "Allow",
"Action": "s3express:CreateSession",
"Resource": "*"
}
]
}
- Next(다음)를 선택해요.
- 정책 이름을 지정해요. 참고: S3 Express One Zone에서는 버킷 태그가 지원되지 않아요.
- Create policy(정책 만들기)를 선택해요.
- IAM 정책을 만들었으니 이제 IAM 사용자에게 연결할 수 있어요. 탐색 창에서 Policies(정책)를 선택해요.
- 검색 창에 정책 이름을 입력해요.
- Actions(작업) 메뉴에서 Attach(연결)를 선택해요.
- Filter by Entity Type(엔티티 유형으로 필터링)에서 IAM users(IAM 사용자) 또는 Roles(역할)를 선택해요.
- 검색 필드에 사용하려는 사용자 또는 역할의 이름을 입력해요.
- Attach Policy(정책 연결)를 선택해요.
다음 단계 (Next steps)
이 튜토리얼에서 디렉터리 버킷을 만들고 S3 Express One Zone 스토리지 클래스를 사용하는 방법을 배웠어요. 튜토리얼을 마친 뒤에는 S3 Express One Zone 스토리지 클래스와 함께 사용할 관련 AWS 서비스를 둘러볼 수 있어요.
특정 저지연 사용 사례를 지원하기 위해 S3 Express One Zone 스토리지 클래스와 함께 다음 AWS 서비스를 사용할 수 있어요.
- Amazon Elastic Compute Cloud(Amazon EC2) – Amazon EC2는 AWS 클라우드에서 안전하고 확장 가능한 컴퓨팅 용량을 제공해요. EC2를 사용하면 하드웨어에 미리 투자할 필요가 줄어들어 애플리케이션을 더 빨리 개발·배포할 수 있어요. EC2로 필요한 만큼의 가상 서버를 실행하고, 보안과 네트워킹을 구성하며, 스토리지를 관리할 수 있어요.
- AWS Lambda – Lambda는 서버를 프로비저닝하거나 관리하지 않고 코드를 실행할 수 있게 해 주는 컴퓨팅 서비스예요. 버킷에 알림 설정을 구성하고, 함수의 리소스 기반 권한 정책에 Amazon S3가 함수를 호출할 권한을 부여해요.
- Amazon Elastic Kubernetes Service(Amazon EKS) – Amazon EKS는 AWS에서 자체 Kubernetes 컨트롤 플레인을 설치·운영·유지할 필요가 없게 해 주는 관리형 서비스예요. Kubernetes는 컨테이너화된 애플리케이션의 관리, 확장, 배포를 자동화하는 오픈 소스 시스템이에요.
- Amazon Elastic Container Service(Amazon ECS) – Amazon ECS는 컨테이너화된 애플리케이션을 쉽게 배포·관리·확장하도록 돕는 완전 관리형 컨테이너 오케스트레이션 서비스예요.
- Amazon EMR – Amazon EMR은 AWS에서 Apache Hadoop과 Apache Spark 같은 빅데이터 프레임워크를 실행해 막대한 양의 데이터를 처리·분석하기 쉽게 해 주는 관리형 클러스터 플랫폼이에요.
- Amazon Athena – Athena는 표준 SQL을 사용해 Amazon S3의 데이터를 직접 쉽게 분석할 수 있게 해 주는 대화형 쿼리 서비스예요. Athena로 Apache Spark를 사용해 리소스를 계획·구성·관리하지 않고도 데이터 분석을 대화형으로 실행할 수도 있어요. Athena에서 Apache Spark 애플리케이션을 실행하면 Spark 코드를 제출해 처리하고 결과를 직접 받아요.
- AWS Glue Data Catalog – AWS Glue는 분석 사용자가 여러 소스의 데이터를 쉽게 검색·준비·이동·통합할 수 있게 해 주는 서버리스 데이터 통합 서비스예요. AWS Glue를 분석, 머신러닝, 애플리케이션 개발에 사용할 수 있어요. AWS Glue Data Catalog는 조직의 데이터셋에 대한 메타데이터를 저장하는 중앙 저장소예요. 데이터 소스의 위치, 스키마, 런타임 지표의 인덱스 역할을 해요.
- Amazon SageMaker Model Training – Amazon SageMaker는 완전 관리형 머신러닝 서비스예요. SageMaker로 데이터 과학자와 개발자는 머신러닝 모델을 빠르고 쉽게 구축·훈련하고, 프로덕션 준비가 된 호스팅 환경에 직접 배포할 수 있어요.
S3 Express One Zone에 대한 자세한 내용은 "S3 Express One Zone이란 무엇인가요?"와 "S3 Express One Zone은 어떻게 다른가요?"를 참고해요.