#s3

라이너라이너· 3개월

S3를 컨테이너 레지스트리로 활용할 수 있다면?

AWS S3를 단순한 스토리지 서비스로만 생각하셨다면, 이런 가능성도 있는데요, S3를 컨테이너 레지스트리로 활용하여 Docker 이미지를 저장하고 배포할 수 있습니다. 특히 이미지 빌드와 배포 속도를 높이고자 하는 개발자들에게 유용한 방법이 될 수도 있습니다. S3를 컨테이너 레지스트리로 사용하는 방법 S3를 컨테이너 레지스트리로 활용하려면, S3 버킷을 HTTP를 통해 공개하고, 특정 경로에 이미지 파일을 업로드하면 됩니다. 이렇게 설정하면 docker pull 명령어를 통해 해당 버킷에서 이미지를 직접 가져올 수 있습니다. 예시: docker run --rm your-bucket-url/your-image 이 명령어를 실행하면 S3 버킷에 저장된 이미지를 가져와 컨테이너를 실행할 수 있습니다. S3와 ECR의 업로드 속도 비교 S3를 레지스트리로 사용하는 주요 이점 중 하나는 업로드 속도입니다. 테스트 결과, S3는 ECR보다 최대 8배 빠른 업로드 속도를 보였습니다. 이는 S3가 단일 레이어의 청크를 병렬로 업로드할 수 있기 때문입니다. 반면, ECR은 OCI 분산 사양을 준수하여 레이어를 순차적으로 업로드해야 하므로 속도가 느려집니다. 업로드 속도 비교: 서비스 최소 속도 최대 속도 ECR 24 MiB/s (8.2초) 28 MiB/s (7.0초) S3 115 MiB/s (1.7초) 190 MiB/s (1.0초) S3를 레지스트리로 사용할 때의 고려사항 S3는 전통적인 컨테이너 레지스트리가 아니므로, docker push 명령어를 직접 사용할 수 없습니다. 따라서 이미지를 S3에 업로드하려면 AWS SDK 등을 활용하여 수동으로 업로드해야 합니다. 또한, 인증 및 권한 관리를 위해 S3 버킷 정책을 적절히 설정해야 합니다. S3 버킷 정책 설정 예시: { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::your-bucket-name/*" } ] } 이러한 정책을 통해 모든 사용자가 버킷의 객체를 읽을 수 있도록 설정할 수 있습니다. 결론 S3를 컨테이너 레지스트리로 활용하면 업로드 속도를 크게 향상시킬 수 있습니다. 다만, 전통적인 레지스트리 기능이 부족할 수 있으므로, 프로젝트의 요구사항에 맞게 적절히 활용하는 것이 중요합니다. 특히 이미지 빌드와 배포 속도가 중요한 경우, S3를 활용한 레지스트리 구축을 고려해 볼 만합니다. 출처: Using S3 as a container registry
264
0
닥터핸닥터핸· 4년

[Node.js] Multer-S3를 이용한 이미지 업로드

[Node.js] Multer-S3를 이용한 이미지 업로드 AWS S3 버킷에 이미지 파일을 저장하고, DB엔 그 버킷의 이미지 파일 경로(이미지 주소)를 저장하고, 서버는 이 경로를 클라이언트로 응답합니다. velog.io 아마존의 AWS의 S3에 이미지를 업로드하고 업로드한 URL 경로는 DB에 저장하고자 하는 경우 Multer-S3와 AWS-SDK 모듈을 이용하여 구현하는 방법을 설명합니다😊 const multer = require('multer'); const multerS3 = require('multer-s3'); const aws = require('aws-sdk'); aws.config.loadFromPath(__dirname + '/../config/s3.json'); const s3 = new aws.S3(); const upload = multer({ storage: multerS3({ s3: s3, bucket: 'YOUR BUCKET NAME', acl: 'public-read', contentType: multerS3.AUTO_CONTENT_TYPE, key: function (req, file, cb) { cb(null, `${Date.now()}_${file.originalname}`); }, }), }); module.exports = upload;  
1.9K
2
0
라이너라이너· 4년

Amazon S3 Object Lambda 출시

Amazon S3 Object Lambda 소개 – 코드 기반 S3 검색 데이터 처리 기능 | Amazon Web Services Amazon Simple Storage Service (S3)에 데이터를 저장하면 여러 애플리케이션에서 사용하기 위해 쉽게 공유 할 수 있습니다. 그러나 각 애플리케이션에는 고유 한 요구 사항이 있으며, 데이터를 다르게 살펴 봐야 할 수도 있습니다. 예를 들어, 전자 상거래 애플리케이션에서 생성 된 데이터 세트에는 분석을 위해 처리 될 때 수정해야하는 개인 식별 정보 (PII)가 포함될 수 있습니다. 반면에 동일한 […] aws.amazon.com 아마존 S3 데이터가 여러가지 용도로 사용될 때 각 용도마다 애플리케이션을 만드는 것은 많은 수고가 필요합니다. 이 때 아마존 S3 Object Lamda를 사용하면 데이터를 반환하기 전에 자체 Lamda 함수 코드를 추가하여 데이터의 용도를 다양하게 할 수 있습니다. 즉, 중간에 데이터 포맷을 바꾼다든가 압축을 한다든가 워터마킹을 한다든가 등등의 엄청 다양한 전처리를 할 수 있습니다.
1.3K
1
2
0
kimho
kimho·2021-03-23
?