Backend/AWS


이번 포스팅에서는 AWS 인프라를 포함한 시스템을 모니터링 할 수 있는 서비스인 AWS CloudWatch의 주요 구성 요소에 대해서 살펴보려고 한다. AWS Cloudwatch CloudWatch는 AWS에서 제공하는 모니터링 서비스로 다양한 AWS 서비스와 애플리케이션의 로그, 지표, 이벤트 등의 운영 데이터를 수집하고 시각화할 수 있다. 운영 데이터 수집: 로그(Log), 지표(Metric), 이벤트(Event) 등 다양한 형태의 데이터를 수집한다.모니터링 및 시각화: 실시간 대시보드로 데이터를 시각화하고 시스템 상태를 모니터링할 수 있다.경보(Alarm) 기능: 특정 조건에 따라 경보를 생성하고, SNS, Lambda, EC2 Auto Scaling 등과 연계해 자동화된 대응을 수행할 수 있다..


이번 포스팅은 Spring Application에서의 RDS의 Connection 방법과, Secrets Manager를 활용하여 데이터베이스의 Connection 정보를 관리해보려고 한다. Amazone Secrets Manager의 필요성 spring: datasource: driver-class-name: org.mariadb.jdbc.Driver url: jdbc:mariadb://localhost:3307/wisefee-database?characterEncoding=UTF-8&serverTimezone=UTC username: root password: 1111 기존에는 환경 변수에 위의 예시처럼 Connection에 필요한 자격 증명 정보들을 설정하여 사용하는 방식..


이번 포스팅에서는 프로비저닝한 RDS 서비스에 접근하기 위한 인증 방식과, 그것을 활용한 접근 방법에 대해서 살펴보려고 한다. RDS 인증 방식 1. 전통적인 User/Password 기반 인증일반적인 DB 사용자명과 비밀번호를 사용하여 인증AWS Secrets Manager와 연동 가능, 비밀번호 자동 관리 및 보안 강화2. 추가 인증 방식: IAM 기반 인증IAM 사용자 또는 역할을 통해 RDS에 접근 가능비밀번호 없이 안전한 접근을 제공하며, AWS 환경에서 보안성을 강화하는 방식임시 토큰을 생성하여 인증 수행RDS에서 IAM 인증을 허용할 사용자(User)를 사전에 설정해야 함토큰 생성을 위해 IAM 정책에 rds-db:connect 권한이 필요 Public Subnet에 위치한 DB ..


이번 포스팅에서는 AWS에서 제공하는 관계형 데이터베이스 서비스인 RDS의 기능 및 프로비저닝 설정 과정에 대해서 포스팅해보려고 한다. 1. DB 엔진 설정2. 가상 머신(EC2) 및 스토리지 설정3. VPC 설정 및 보안 그룹 - DB Subnet Group4. 백업5. 암호화6. 읽기 전용 복제본7. RDS Multi AZ - RDS Multi Region8. 데이터베이스 설정 및 파라미터 - DB Parameter Group9. Cloudwatch 지표 및 로그 수집 RDS (Relational Database Service) AWS의 관계형 데이터베이스 (RDBMS)하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업 등 관리 작업 자동화, 유연한 용량 제공가상 머신(EC2)에서..


그리스 신화에 등장하는 아테나는 지혜와 전략, 전쟁, 기술, 예술을 관장하는 신으로 알려져 있으며, 지식과 분석 능력을 상징한다.이름에서 유래되었듯 Amazone Athena는 S3, DynamoDB 등의 데이터 소스에 대해서 SQL Query를 실행하여 데이터를 질의하고 분석할 수 있는 서비스이다. Amazone Athena Amazon Athena는 S3 등에 저장된 데이터 소스를 SQL을 사용해 간편하게 분석할 수 있는 대화식 쿼리 서비스이다.서버리스 서비스로 인프라를 관리할 필요가 없으며, 실행한 쿼리에 대해서만 비용이 청구된다.Athena는 Glue에서 생성한 스키마를 사용하여 데이터를 효율적으로 조회할 수 있다.주요 사용 사례로 로그 필터링, 이벤트 데이터 분석 및 정보 추출 등이 있다..


S3 Static Hosting은 AWS의 S3를 이용하여 정적인 웹사이트를 호스팅하는 기능이다. 즉, 서버 없이도 HTML, CSS, JavaScript와 같은 정적 파일을 업로드하고 웹사이트를 제공할 수 있다. S3 Static Hosting 정적 웹사이트 호스팅 : HTML, CSS, JavaScript, 이미지, 동영상 등 정적 콘텐츠를 배포할 수 있음.서버리스(Serverless) 환경 : EC2 같은 서버를 직접 관리할 필요 없이 파일을 업로드하면 AWS가 자동으로 호스팅.확장성(Scalability) : S3의 기본적인 특성 덕분에 자동 확장이 가능하고, 많은 요청을 처리할 수 있음.비용 효율성 : 요청한 만큼만 비용을 지불하는 사용량 기반 과금(Pay-as-you-go) 방식 적용. 트..


이전 포스팅에서는 Spring 프로젝트에서 로컬 개발 환경과, EC2 프로덕션 환경에 따른 S3 연동 방법 및 기본적인 업로드와 다운로드를 구현해 보았었다. 이번 포스팅에서는 S3 업로드와 다운로드 방식을 고도화하여 Presigned URL을 사용하는 방법에 대해서 살펴보고, 업로드 시 여러개의 Chunk 단위로 분할 업로드하는 방식인 S3 Multipart Upload에 대해서도 함께 살펴보려고 한다. 1. Presigned URL - 업로드 및 다운로드 구현 (Spring + 바닐라 JS)2. Multipart 업로드 - 업로드 및 다운로드 구현 (Spring + 바닐라 JS) [AWS + Spring] S3 활용 : 파일 업로드와 다운로드 (1) (개발 환경 및 프로덕션 환경에서의 기본..


이번 포스팅에서는 기존 Local Stroage를 이용하여 파일 업로드 및 다운로드 API를 제공하던 Spring Application에 S3를 연동하는 작업을 해보도록 하겠다. 개발 환경에서의 S3 연동, EC2 프로덕션 환경에서의 S3 연동 두 가지로 나누어 비즈니스 로직을 작성해보자. 1. 로컬 스토리지 기반의 Spring 파일 업로드 및 다운로드 로직2. AWS S3 준비 3. 개발 환경 및 프로덕션 환경에 따른 AWS 서비스 연동 방법 및 자격 증명 방식4. S3 연동 : 로컬 개발 환경 4-1. IAM 사용자 생성 4-2. AWS CLI 설치 및 AWS Profile 설정 4-3. Spring 프로젝트에 SDK 의존성 추가 4-4. Spring 프로젝트의 환경변수 프로파일 설정 4-..


S3는 AWS에서 제공하는 스토리지 서비스이다. 높은 가용성 및 내구성을 제공하여 데이터를 안전하게 저장하고 어디에서나 접근할 수 있도록 서비스를 제공한다.이번 포스팅에서는 S3의 기본적인 개념 및 저장소 단위인 버킷에 대해서 살펴보려고 한다. 1. AWS S3 소개 2. S3 기능 - 주요 기능 : 업로드 및 다운로드, 버킷 정책, 스토리지 클래스, 버전 관리와 객체 잠금, 수명주기 제어, 암호화- 기타 기능 : 복제, S3 엑세스 로깅, 이벤트 기반 호출, AWS Athena, Transfer Acceleration3. 버킷 명명 규칙4. 버킷 정책 (Bucket Policy)5. S3 Object의 구성6. 스토리지 클래스 (Storage Class)7. 암호화8. 버킷 버전 관리9. 객체 잠금10..