본문 바로가기

👾 Server27

AWS ElastiCache for Redis에서 발생한 Network bandwidth out allowance exceeded와 대처 방안 최근 신규 프로젝트 개발을 마치고 릴리즈를 앞두고 있었습니다. 릴리즈 전 부하테스트를 하다 AWS ElastiCache for Redis에서 네트워크 대역폭의 허용 범위를 넘게 되었는데요. 겪었던 문제와 해결한 경험을 가볍게 소개드리려 합니다. 목차 1. 네트워크 대역폭이란? - 네트워크 대역폭의 기본 개념 - AWS ElastiCache for Redis에서의 대역폭 중요성 2. Network Bandwidth Out Allowance Exceeded의 의미 - AWS ElastiCache for Redis 인스턴스 스펙 - Baseline bandwidth vs Burst bandwidth 3. 해결 방법 - 데이터 압축 - 요청 딜레이 적용 - 스케일업 및 스케일 아웃 마치며 Reference 1... 2024. 1. 21.
SpringBoot 3.2에서 AWS SecretsManager 사용하여 패스워드 및 인증 관리하기 목차 1. 시작하며 1.1 패스워드 및 인증 관리 서비스 1.2 글의 목적과 범위 소개 2. AWS 라이브러리 선택 2.1 org.springframework.cloud vs io.awspring.cloud 3. 의존성 추가하기 3.1 Spring Cloud AWS Dependencies와 Starter Secrets Manager 추가 4. AWS SecretsManager 사용 방법 4.1 비용 4.2 AWS Console에서 SecretManager 생성과 secret 값들 생성하기 4.3 SpringBoot 실행하는 곳에 권한 설정하기 (AWS Login, IAM Role, STS) 4.4 SpringBoot에서 SecretManager를 통한 secret 데이터 접근 및 관리 (코드) 5. 마.. 2024. 1. 6.
REST API Response(JSON)를 CDN을 활용하여 캐싱하기 목차 - 웹서비스에서 캐싱 대상과 방법 - 캐시 대상 - 캐시 방법 - REST API Resonse(JSON)를 CDN을 활용하여 캐싱하기 - CDN을 활용한 캐싱의 장단점 - 캐싱하기 예제 (조건, 구현, Cache-Control) - 마치며 웹 서비스에서 캐싱 대상과 방법 웹 서비스에서 캐싱은 중요합니다. 사실 필수적이라고도 볼 수 있죠. 캐싱 덕분에 서버의 응답 시간과 부하를 크게 줄일 수 있습니다. 캐싱 대상 이미지, 동영상부터 html, js, css, json 등 클라이언트와 서버가 주고받는 데이터들은 모두 캐싱 대상으로 볼 수 있습니다. 컨텐츠가 자주 안 바뀌고(정적), 바뀌는(동적) 기준으로도 구분하기도 합니다. - 정적 컨텐츠(*.html, *. js, *. css, image, vid.. 2023. 5. 5.
AWS SDK for Java 1.x가 AWS credentials를 가져오는 5가지 방법 AWS SDK for Java 1.x 를 사용하고 있는 Java/Spring Boot 서비스에서 AWS credentials을 가져오지 못하는 문제를 만나게 되었습니다. 해당 문제를 분석하며 AWS SDK for Java 1.x 에서 AWS credentials를 가져오는 방법을 정리해 보았습니다. DefaultAWSCredentialsProviderChain AWS SDK for Java 1.x에서는 DefaultAWSCredentialsProviderChain를 사용하여 편리하게 AWS credentials를 가져올 수 있습니다. // DefaultAWSCredentialsProviderChain 사용 예 private void getCredentials() { credentialsProvider =.. 2023. 4. 23.
레디스를 5가지 방법으로 설치/구축하기 : Terraform + AWS ElastiCache 잘못된 내용이나 의견 있다면 편하게 말씀해주세요.🙏🏻 개발/테스트 목적의 단일 노드 Redis(Remote Dictionary Server)를 구축하는 5가지 방법을 소개합니다. (1. 로컬, 2. docker-compose, 3. Embedded Redis, 4. Testcontainers, 5. AWS ElastiCache, Terraform) 운영 목적의 아키텍처(Replication, Sentinel, Cluster)는 아닙니다. 글 목록 [Redis] 레디스를 5가지 방법으로 설치/구축하기 : 로컬, docker-compose [Redis] 레디스를 5가지 방법으로 설치/구축하기 : Embedded Redis, Testcontainers [Redis] 레디스를 5가지 방법으로 설치/구축하기 : .. 2022. 12. 10.