🔹RcloneView

[RCloneView] AWS S3 생성 방법

terranbin 2025. 2. 7. 15:08
728x90
SMALL

1. Remote 시작

  1. 첫 화면에서 "Add Remote" 버튼 클릭


2. AWS S3 Remote 추가

2-1) Provider 추가

  • S3를 선택 후 "Next" 클릭

2-2) 옵션

  • provider > AWS 선택
  • 필요한 입력값이 많다. 설명 및 권장 값 작성 
    옵션 이름 설명 선택 가능한 값 권장 값
    env_auth EC2/ECS 환경 변수를 통한 인증 여부 설정. true, false false (직접 입력 시)
    access_key_id AWS IAM 사용자의 Access Key ID. AWS에서 생성된
    Access Key ID
    AWS 콘솔에서 확인
    secret_access_key AWS IAM 사용자의 Secret Access Key. AWS에서 생성된
    Secret Access Key
    AWS 콘솔에서 확인
    region 연결할 S3 버킷의 리전 정보. 예: ap-northeast-2, us-east-1 AWS S3 버킷 리전 확인
    endpoint S3 호환 스토리지를 사용하는 경우 사용자 지정 엔드포인트 입력. (AWS S3 사용 시 비워둠) 예: https://s3.amazonaws.com 빈 값 (AWS S3 사용 시)
    location
    constraint
    S3 버킷 생성 시 사용된 리전 정보. 예: ap-northeast-2 빈 값 (기존 버킷 사용 시)
    acl S3 객체의 접근 권한을 설정. private, public-read, authenticated-read private
    server side encryption S3에 저장된 데이터를 암호화하는 방식. AES256, aws:kms AES256
    sse_kms_key_id KMS 암호화를 사용하는 경우 KMS 키 ID 또는 ARN. (AES256 사용 시 빈 값) 예: arn:aws:kms:region:account-id:key/key-id 빈 값 (AES256 사용 시)
    storage_class 객체를 저장할 때 사용하는 S3 스토리지 클래스. STANDARD, STANDARD_IA, GLACIER, DEEP_ARCHIVE STANDARD
    • 기본적으로는 access_key_id / secret_key_id / region 만 입력해도 된다
    • acl, kms 등 설정하였다면, 아래 cloudshell 사용하여 필요 입력 값 확인 가능
      • cloudshell 내 사용하는 check_s3_info.sh 공유. 아래 스크립트 입력 조회 가능
더보기

전부 조회를 위한 shell script

#!/bin/bash

# S3 관련 정보 확인 스크립트 (버킷 이름을 첫 번째 파라미터로 전달받음)

# 첫 번째 파라미터로 S3 버킷 이름을 받음
bucket_name="$1"

# 버킷 이름이 전달되지 않은 경우 에러 출력
if [ -z "$bucket_name" ]; then
  echo "Usage: $0 <bucket-name>"
  echo "Example: $0 sungbin-s3-demo-bucket-ap-northeast-2"
  exit 1
fi

echo "==== S3 Bucket 정보 확인 중 ===="

echo "==== 환경 변수로 설정된 인증 정보 확인 ===="
# env_auth: AWS 환경 변수에 설정된 인증 정보 확인
env | grep -i AWS

echo "==== AWS CLI에 설정된 Access Key와 Secret Access Key 확인 ===="
# Access Key와 Secret Access Key 확인
echo "Access Key ID:"
aws configure get aws_access_key_id
echo "Secret Access Key:"
aws configure get aws_secret_access_key

echo "==== 현재 설정된 리전(region) 확인 ===="
# CLI에 설정된 리전 확인
aws configure get region

echo "==== 특정 버킷의 위치(location) 확인 ===="
# S3 버킷의 위치 (리전) 확인
aws s3api get-bucket-location --bucket "$bucket_name"

echo "==== S3 버킷의 제약 조건(constraint) 확인 ===="
# S3 버킷의 LocationConstraint 값 확인
aws s3api get-bucket-location --bucket "$bucket_name"

echo "==== S3 버킷의 액세스 제어 리스트(ACL) 확인 ===="
# S3 버킷의 ACL 정보 확인
aws s3api get-bucket-acl --bucket "$bucket_name"

echo "==== S3 버킷의 서버 측 암호화(server side encryption) 설정 확인 ===="
# S3 버킷의 서버 측 암호화 설정 확인
aws s3api get-bucket-encryption --bucket "$bucket_name" || echo "No encryption found for this bucket."

echo "==== S3 버킷에서 KMS 키 ID(sse_kms_key_id) 확인 ===="
# S3 KMS Key ID 확인 (server-side encryption 설정 확인 시 함께 출력됨)
aws s3api get-bucket-encryption --bucket "$bucket_name"

echo "==== S3 버킷의 모든 객체 및 스토리지 클래스(storage_class) 확인 ===="
# S3 버킷의 모든 객체 리스트 가져오기
aws s3 ls "s3://$bucket_name" --recursive | awk '{print $4}' > object_list.txt

# 각 객체의 스토리지 클래스 확인
while IFS= read -r object_key; do
  echo "Object Key: $object_key"
  aws s3api head-object --bucket "$bucket_name" --key "$object_key" | grep StorageClass || echo "No StorageClass found for this object."
done < object_list.txt

# 스토리지 클래스 조회
cat object_list.txt

# 임시 파일 삭제
rm -f object_list.txt

echo "==== 모든 작업 완료 ===="
  • 권한 추가 / 스크립트 실행
chmod +x ./check_s3_info.sh
./check_s3_info.sh sungbin-s3-demo-bucket-ap-northeast-2
  • 실행 결과



 


2-3) 이름

 


2-4) 저장

2-5 ) 결과 확인

LIST