본문 바로가기

S3

(6)
[AWS] S3 객체 생애주기 S3 워크로드 중 상당수는 백업 아카이브 작업이 수반됩니다. 잘 설계된 백업 아카이브 작업의 결과, 점점 더 많은 백업 아카이브가 정기적으로 누적됩니다. 백업 아카이브 작업에는 기존 아카이브 버전을 유지하는 일도 중요하지만, 스토리지 비용 및 공간 관리를 위해 구 버전을 삭제하거나 폐쇄하는 작업도 필요하며, S3는 이를 위해 자동화된 백업 관리 기법인 버전 관리 및 생애주기 관리 기법을 제공합니다. 버전 관리(Versioning) 다수의 파일 시스템은 하나의 저장 공간에서 동일한 이름이 붙은 파일을 여러 번 업데이트하면서 새로운 파일로 기존의 파일을 덮어쓰는 경우가 많습니다. 이후 사용자는 최신 버전의 파일을 쓰게 되지만, 때에 따라서 기존 버전의 파일을 가져와야 할 때가 있으며, 실수에 의해 덮어쓰기 ..
[AWS] S3의 내구성 및 가용성(Eventual Consistency) S3는 객체 저장을 위해 다양한 스토리지 클래스를 제공하며, 조건에 따라 다양한 클래스를 선택적으로 사용할 수 있습니다. 조건은 다음과 같습니다. 1. 내구성 - 어떤 조건에서도 데이터가 유지돼야 하는지 2. 가용성 - 신속하게 데이터를 인출할 수 있는지 3. 비용 효율성 - 비용을 얼마나 절약할 수 있는지 하나씩 자세히 살펴보도록 하겠습니다. 내구성(Durability) S3의 내구성 S3의 내구성은 99.999999999%에 달하며(11개의 9), 이는 대부분의 S3 클래스 및 Amazon Glacier에 해당됩니다. 저장된 객체에 대한 연간 평균 손실 가능성은 0.0000000001%이며, 이는 만약 S3에 10,000,000개의 객체를 저장했다면, 10,000년마다 단 하나의 객체가 손실될 수 있..
[AWS] S3의 암호화 웹사이트의 경우 외부에 공개하는 정보가 아닌 이상 S3에 저장하는 데이터는 기본적으로 암호화할 필요가 있습니다. S3에 데이터를 저장할 때는 암호화 키를 이용할 수도 있고, Amazon의 암호화된 API 엔드포인트를 이용해 S3에서 다른 서비스 또는 리소스로 전송되는 데이터를 암호화할 수 있습니다. 서버측 암호화 https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/serv-side-encryption.html 서버 측 암호화를 사용하여 데이터 보호 - Amazon Simple Storage Service 서버 측 암호화를 사용하여 데이터 보호 서버 측 암호화는 데이터를 받는 애플리케이션 또는 서비스에 의해 해당 대상에서 데이터를 암호화하는 것입니다...
[AWS] S3 대용량 객체 업로드 이론적으로 버킷에 저장할 수 있는 데이터의 총용량에는 제한이 없지만 객체 하나의 용량은 5TB를 초과할 수 없으며, 한 번의 업로드 작업은 5GB를 초과할 수 없다. 이와 같은 용량 제한 문제를 피하기 위한 방법으로, AWS는 100MB 초과 객체의 경우 멀티파트 업로드(Multipart Upload) 기능을 사용할 것을 권장한다. 멀티파트 업로드 https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html Uploading and copying objects using multipart upload - Amazon Simple Storage Service It is possible for some other request received..
[AWS] AWS CLI를 이용하여 S3로 데이터 백업 하기 AWS 명령줄 인터페이스(AWS CLI) 설치하기 pip를 이용하여 awscli를 설치합니다. $ pip3 install --upgrade --user awscli ... Successfully installed PyYAML-5.4.1 awscli-1.22.26 botocore-1.23.26 colorama-0.4.3 docutils-0.15.2 jmespath-0.10.0 pyasn1-0.4.8 python-dateutil-2.8.2 rsa-4.7.2 s3transfer-0.5.0 urllib3-1.26.7 다양한 패키지들이 설치되게 됩니다. AWS 계정 환경 설치하기 AWS CLI를 AWS 계정에 연결하기 위해 액세스 키가 필요합니다. AWS 콘솔에서 오른쪽 상단의 계정명을 클릭하여 '보안 자격 증명..
[Python] boto3를 이용한 Flask-S3 연동 (파일 업로드 및 다운로드) boto3 설치 pip install boto3 s3 config file 정의 # m_config.py AWS_ACCESS_KEY = "SDKNFLWKEFNWEFKEFJA" AWS_SECRET_ACCESS_KEY = "fWEKLFWKLENWK" AWS_S3_BUCKET_REGION = "ap-northeast-2" AWS_S3_BUCKET_NAME = "file-storage" s3 connect 함수 및 파일 업로드/다운로드 함수 정의 # import module import boto3 from .m_config import AWS_ACCESS_KEY, AWS_SECRET_ACCESS_KEY from .m_config import AWS_S3_BUCKET_NAME, AWS_S3_BUCKET_REGIO..