Home Knowledge base Skyline Cloud S3 호환 오브젝트 스토리지 시작하기 KNOWLEDGE BASE

S3 호환 오브젝트 스토리지 시작하기

S3 호환 오브젝트 스토리지가 무엇인지, 그리고 Skyline Cloud에서 버킷을 만들고 액세스 키를 발급해 AWS CLI로 파일을 업로드·다운로드·동기화하는 방법을 단계별로 알아봅니다. 데이터는 사우디아라비아 내에 보관되어 PDPL 데이터 거주 요건에 부합합니다.

S3 호환 오브젝트 스토리지 시작하기

S3 호환 오브젝트 스토리지란?

오브젝트 스토리지는 기존 디스크 스토리지의 전통적인 폴더-블록 방식 대신, 버킷(bucket) 이라고 하는 평면적인 컨테이너 안에 파일을 개별 오브젝트(object) 로 저장합니다. "각 오브젝트는 자신의 데이터, 고유한 키(이름), 그리고 메타데이터를 함께 담고 있습니다."

Skyline Cloud 오브젝트 스토리지는 S3 호환이므로 AWS CLI, s3cmd, rclone, MinIO 클라이언트, 그리고 다양한 SDK를 비롯한 여러 도구가 매끄럽게 작동합니다. 핵심적인 차이점은 데이터의 위치에 있습니다. "데이터가 사우디아라비아 왕국 내부에 보관되므로 PDPL 데이터 거주 요건에 부합하는 상태를 유지할 수 있습니다."

오브젝트 스토리지를 사용해야 할 때 (그리고 사용하지 말아야 할 때)

오브젝트 스토리지가 적합한 경우 블록/디스크 스토리지가 적합한 경우
백업, 아카이브, 스냅샷 낮은 지연 시간의 무작위 I/O가 필요한 데이터베이스
정적 자산: 이미지, 동영상, PDF 운영 체제 / 부팅 볼륨
웹/모바일 앱의 사용자 업로드 파일 mmap을 사용하거나 POSIX 파일 시스템이 필요한 앱
데이터 레이크, 로그, 대용량 비정형 데이터 집합 마운트된 드라이브를 기대하는 소프트웨어

"오브젝트 스토리지는 수십억 개의 오브젝트까지 확장되고, 내구성이 높으며 기가바이트당 비용이 저렴하고, URL을 통해 접근할 수 있습니다. 그러나 이는 파일 시스템이 아닙니다."

1단계: 버킷 생성하기

Skyline Cloud에 가입한 후 Object Storage 섹션을 열고 버킷을 생성하세요.

주요 이름 지정 요건:

  • 버킷 이름은 엔드포인트 내에서 전역적으로 고유해야 하며 DNS에 유효해야 합니다. 소문자, 숫자, 하이픈만 사용하고, 3~63자이며, 밑줄이나 대문자는 사용할 수 없습니다
  • 기본적으로 Private(비공개) 접근을 선택하세요
  • 버킷 세부 정보에서 엔드포인트 URL리전(region) 을 확인해 두세요

2단계: 액세스 키 생성하기

S3는 키 쌍으로 인증합니다:

  • Access Key ID — 어느 정도 공개되는 식별자
  • Secret Access Key한 번만 표시됨

"애플리케이션이나 환경별(스테이징과 프로덕션 등)로 별도의 키를 생성하여, 하나를 폐기해도 다른 키가 중단되지 않도록 하세요. 키를 Git에 커밋하거나 클라이언트 측 코드에 붙여넣지 마세요."

3단계: AWS CLI 구성하기

설치 후 이름이 지정된 프로필을 구성하세요:

# Install (Linux/macOS)
pip install awscli   # or: brew install awscli

aws configure --profile skyline
# AWS Access Key ID     [None]: <YOUR_ACCESS_KEY_ID>
# AWS Secret Access Key [None]: <YOUR_SECRET_ACCESS_KEY>
# Default region name   [None]: <YOUR_REGION>
# Default output format [None]: json

모든 명령은 --endpoint-url과 프로필을 사용하여 Skyline 엔드포인트를 대상으로 합니다:

# List your buckets
aws s3 ls --profile skyline \
  --endpoint-url https://<YOUR_ENDPOINT>

# List objects in one bucket
aws s3 ls s3://acme-app-uploads --profile skyline \
  --endpoint-url https://<YOUR_ENDPOINT>

팁: AWS_PROFILE=skyline을 export하고 셸에 엔드포인트를 설정하면 플래그를 생략할 수 있습니다. <YOUR_ENDPOINT><YOUR_REGION>을 버킷 세부 정보에 있는 값으로 바꾸세요.

4단계: 업로드, 다운로드, 동기화

EP="--endpoint-url https://<YOUR_ENDPOINT> --profile skyline"

# Upload one file
aws s3 cp ./logo.png s3://acme-app-uploads/logo.png $EP

# Download it back
aws s3 cp s3://acme-app-uploads/logo.png ./logo-copy.png $EP

# Sync a whole local directory to a bucket prefix
aws s3 sync ./public/assets s3://acme-app-uploads/assets $EP

# Delete an object
aws s3 rm s3://acme-app-uploads/old.zip $EP

"aws s3 sync은 변경된 파일만 전송하므로 증분 백업과 배포 파이프라인에 이상적입니다."

s3cmd를 선호하시나요?

s3cmd --configure   # set host_base / host_bucket to <YOUR_ENDPOINT>
s3cmd put ./report.pdf s3://acme-app-uploads/report.pdf
s3cmd ls s3://acme-app-uploads

5단계: 사전 서명 URL로 파일 공유하기

비공개 오브젝트에 시간이 제한된 임시 접근 권한을 부여하려면 사전 서명 URL(presigned URL)을 생성하세요:

aws s3 presign s3://acme-app-uploads/report.pdf \
  --expires-in 3600 \
  --endpoint-url https://<YOUR_ENDPOINT> --profile skyline

"이 링크는 한 시간 동안 작동한 뒤 만료됩니다. 송장 다운로드, 일회성 전달 링크, 사용자별 미디어에 적합한 패턴입니다."

6단계: 앱에 연동하기

애플리케이션의 S3 SDK가 Skyline 엔드포인트를 가리키도록 설정하세요. Laravel에서는 config/filesystems.php에서 s3 디스크를 구성합니다:

's3' => [
    'driver'   => 's3',
    'key'      => env('AWS_ACCESS_KEY_ID'),
    'secret'   => env('AWS_SECRET_ACCESS_KEY'),
    'region'   => env('AWS_DEFAULT_REGION'),
    'bucket'   => env('AWS_BUCKET'),
    'endpoint' => env('AWS_ENDPOINT'), // https://<YOUR_ENDPOINT>
    'use_path_style_endpoint' => true,
],

"use_path_style_endpoint(또는 AWS SDK for JavaScript의 동등한 forcePathStyle)을 true로 설정하여, 요청이 가상 호스팅 방식의 서브도메인 대신 endpoint/bucket/key 형식을 사용하도록 하세요."

모범 사례

  • 수명 주기 규칙(Lifecycle rules) — 오래된 오브젝트를 자동으로 만료시키거나 하위 등급으로 이동하여 비용을 관리하세요
  • 버전 관리(Versioning) — 대체 불가능한 데이터를 보관하는 버킷에는 버전 관리를 켜 두세요
  • 서버 측 암호화(Server-side encryption) — PDPL 적용 대상인 민감한 데이터는 저장 시 암호화하세요
  • 범위 제한 키(Scoped keys) — 서비스당 하나의 키를 사용하고, 정기적으로 교체 및 폐기하세요

"오브젝트 스토리지는 나머지 스택과 자연스럽게 어우러집니다. 사이트가 Skyline 클라우드 호스팅에서 실행되는 동안 버킷에서 자산을 제공하고, 비즈니스 이메일과 데이터베이스의 백업은 별도의 버전 관리되는 버킷에 보관하세요."

몇 분 만에 시작하기

"데이터를 사우디아라비아 내부에 보관하고, 투명한 요금제와 현지 아랍어 지원을 제공하는 S3 호환 버킷을 만들어 보세요. 무료 Skyline Cloud 계정을 만들고 오늘 첫 버킷을 생성하세요."

SKYLINE Engineering

@skyline

The engineering team at SKYLINE Industrial Solutions. We publish field-tested guides drawn from real KSA and GCC deployments.

See author profile
SKYLINE engineering services

Need this implemented for you?

Reading is free — building it right takes a team. SKYLINE engineers ship Skyline Cloud for Aramco vendors, banks, hospitals and government agencies across Saudi Arabia. Talk to us before you start.

Aramco Approved Contractor ISO 9001 · ISO 27001 SAMA CSF aligned NCA ECC ready 247+ KSA clients

Comments

0 total · 0 threads
Be the first to leave a comment.