본문 바로가기

AWS

(8)
aws Lambda를 통해 썸네일(이미지 리사이징)을 생성해보자 썸네일(이미지 리사이징)을 사용하는 이유 원본 이미지는 종종 상세한 정보를 담고 있어 파일 크기가 크고, 불필요한 데이터를 주고받게 된다. 하지만 대부분의 경우에는 페이지에서 사용되는 이미지는 전체 원본 크기나 해상도를 필요로하지 않을 수 있다. 이에 따라 Lambda를 통해 썸네일 이미지를 생성하여 성능 개선, 데이터 효율성, 자원 절약 등 여러 이점을 챙겨보자. build.gradle 작성 plugins { id 'java' id 'org.springframework.boot' version '3.1.9' id 'io.spring.dependency-management' version '1.1.4' } group = 'com.example' version = '0.0.1-SNAPSHOT' java {..
CodeDeploy를 통해 CICD/무중단배포를 해보자 CI/CD란 ? CI - 빌드/테스트 자동화 과정 과정 CI는 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을의미 CI를 성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 리포지토리에 통합되므로 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해결할 수 있음 CD - 배포 자동화 과정 CD는 지속적인 서비스 제공(Continuous Delivery) 또는 지속적인 배포(Continuous Deployment)를 의미하며 이 두 용어는 상호 교환적으로 사용됨 두 가지 의미 모두 파이프라인의 추가 단계에 대한 자동화를 뜻하지만 때로는 얼마나 많은 자동화가 이..
EC2 솔루션스 아키텍트 어소시에이트 레벨 탄력적 IP 인스턴스의 public ip는 인스턴스 중지 후 다시 시작하면 ip가 바뀌는데 탄력적 ip를 사용하면 ip주소가 바뀌지 않음 EC2 배치 그룹 클러스터 배치 그룹 모든 ec2 인스턴스가 동일한 랙(=동일한 가용영역 = 동일한 하드웨어)에 있다는 것이다. 장점 : 동일한 랙에 있기 때문에 인스턴스 간 네트워크 성능이 좋다. 단점 : 랙에 문제가 생기면 모든 인스턴스가 동시에 마비가 된다. => 매우 높은 대역폭과 짧은 지연 시간이 필요한 경우 선택하기 좋은 방법 분산 배치 그룹 모든 인스턴스가 각각 다른 랙(하드웨어)에 위치 6개의 인스턴스가 3개의 가용영역과 6개의 랙에 상주하는 모습 장점 : 여러 가용 영역에 걸쳐 있어 한 가용영역에 피해가 입어도 나머지 가용영역은 살아있음 단점 : 배치 ..
EC2 기초 EC2 : AWS에서 임대하는 가상의 서버(컴퓨터) EC2 사용자 데이터 스크립트 EC2 사용자 데이터 스크립트를 사용하여 인스턴스를 푸트스트래핑 할 수 있다. ※부트스트래핑 : 머신이 작동될 때(처음으로 부팅 될 때만) 자동화하고 싶은 작업이 자동으로 작동되는 것 ex)ㅇ업데이트, 소프트웨어 설치, 파일 다운로드 등 EC2 유형 ex) m5.2xlarge m: 인스턴스 클래스(m은 범용 인스턴스) 5: generation(세대) : aws가 새로운 하드웨어를 계속 출시. 숫자가 높을수록 최신, 좋은것 2xlarge : 인스턴스의 크기 (small ~ 4xlarget) -> 크기가 클수록 더 많은 메모리와 cpu 탑재 AWS에서 보안그룹 type: protocaol 유형 protocol : TCP/UDP..
AWS ECS, Fargate, ECR, EKS 도커란? 도커는 앱 배포를 위한 소프트웨어 개발 플랫폼이다. 컨테이너 앱이 패키징되는데 컨테이너는 표준화 되어 있어서 아무 운영체제에나 실행할 수 있다. 기기와 상관없이 실행 가능 호환성 문제 없음 행위 특성 예측 가능 유지 배포 쉬움, 모든 언어 운영체제 기술과 호환 마이크로서비스 아키텍쳐, 온프레미스 환경에서 클라우드로 앱을 리프트앤시프트 서버(EC2 인스턴스 입장에선 모두 도커 컨테이너로 보인다.) 도커 이미지는 어디에 저장될까 도커 리포지토리 Docker Hub public repository 많은 기술에 맞는 기본 이미지를 찾을 수 있다. Amazon ECR ( Amazon Elastic Container Registry) private repository Amazon ECR Public Gal..
AWS IAM IAM 권한 설정 방법 사용자에게 권한 직접 연결 역할에 맞는 사용자 그룹을 생성 및 권한 부여 후 유저를 그룹에 연결 IAM Policies Structure { "Version": "2012-10-17", "Id": "S3-Account-Permissions", "Statement": [ { "Sid": "1", "Effect": "Allow", "Principal" : { "AWS": ["arn:aws:iam::123456789012:root"] }, "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": "]"arn:aws:s3:::mybucket/*" } ] } Version : 정책 언어 버전 Id : 정책을 식별하는 ID (Optional) S..
AWS S3에 이미지를 업로드 해보자 사실 원래 계획에도 없던 S3와 CloudFront를 이용한 image CDN 구현이여서 조바심에 미리 구현해봤다. 사전 지식이 전무했기때문에 코드를 하나하나 chatGPT에 물어봐가며 주석처리하며 공부한 간단한 일지 참고한 블로그 AWS S3 이미지 업로드 Spring으로 사용해보기 (tistory.com) AWS S3 이미지 업로드 Spring으로 사용해보기 대부분의 이미지 서버를 구축할 때는 AWS S3를 보편적으로 사용합니다. 저희 또한, S3를 애플리케이션 이미지 업로드 및 다운로드 서버로 선택하게 되었습니다. 큰 이유가 있기 보다는.. 서버를 사 jane514.tistory.com 코드를 완전히 똑같이 가져와서 나중에 기회가 된다면 멘토님과 코드리뷰를 해봤으면 좋겠다. S3 버킷 생성 이미 전..
CDN(Contents Delivery Network) Contents Delivery Network -물리적으로 먼 사용자들에게 컨텐츠를 더 빠르게 제공가능(느린 응답속도/ 다운로드 시간을 극복) CDN의 장점 1. 로딩 속도 개선 2. 인터넷 회선 비용 절감 3. 컨텐츠 제공의 안정성 4. 웹사이트 보안 개선 CDN을 사용하지 않는다면? 수많은 사용자의 요청에 서버가 다 응답 -> 엄청난 트래픽 유발 -> 과부하로 서버 장애 초래 CDN을 사용한다면? 서버의 트래픽 부하를 막고 사용자에게 빠른 속도로 응답 및 서비스 제공이 가능 CDN 작동 원리 1. 최초 요청시에는 서버가 컨텐츠를 직접 사용자에게 전송하며 동시에 CDN캐싱장비에 저장 2. 두번쨰 이후의 모든 요청은 CDN업체에서 지정한 해당 컨텐츠 만료시점까지 CDN캐싱장비에 저장된 컨텐츠를 전송 3...