일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 1차원 DP
- 2차원 dp
- 99클럽
- @BeforeAll
- @BeforeEach
- @Builder
- @Entity
- @GeneratedValue
- @GenericGenerator
- @NoargsConstructor
- @Query
- @Table
- @Transactional
- Actions
- Amazon EFS
- amazon fsx
- Android Studio
- ANSI SQL
- api gateway 설계
- api gateway 필터
- ApplicationEvent
- argocd
- assertThat
- async/await
- AVG
- AWS
- aws autoscaling
- aws eks
- aws iam role
- AWS KMS
- Today
- Total
목록AWS (13)
기록

1. 시작하면서Spring Boot 멀티모듈 프로젝트를 기반으로, 자동화된 CI 파이프라인을 구성하고 AWS ECR에 최적화된 Docker 이미지를 푸시하는 것을 목표로 한다. 단순한 배포가 아니라, 가능한 최소한의 메모리, 스토리지, 네트워크 리소스를 사용하는 이미지를 만드는 데 집중하였다. 이를 위해 빌드 도구나 소스코드를 최종 이미지에 포함시키지 않고, 필요한 실행 파일만을 남기는 Multi-stage Build를 적용하고, eclipse-temurin:21-jre-alpine과 같은 경량화된 베이스 이미지를 선택했다.2. 인프라 기본 구성먼저, GitHub Actions가 AWS에 직접 접근할 수 있도록 OpenID Connect(OIDC)를 이용해 인증을 구성하였다. IAM Role을 생성하여 ..

쿠버네티스 환경에 CI/CD 파이프라인을 구축하기 위해 Jenkins를 설치하고자 한다. 이번 글에서는 Helm Chart를 활용해 Jenkins를 설치하는 과정을 자세히 다루고, 설치 후 접속까지 정상적으로 되는지 확인하는 흐름을 정리한다. 이 실습은 Infra 계정과 Dev 계정 간 VPC Peering을 완료한 상태에서 진행된다.1. 설치 배경개발/운영 파이프라인을 체계적으로 관리하기 위해 Jenkins를 기반으로 CI/CD 환경을 구성하려 한다. Jenkins는 오픈 소스 기반으로 매우 강력한 기능을 제공하는 툴이며, Helm을 이용해 빠르고 손쉽게 쿠버네티스 클러스터에 배포할 수 있다. 이번 작업은 Jenkins 설치 및 초기 설정까지를 목표로 삼는다.2. Jenkins 설치 준비Helm Rep..

들어가며개발을 하다 보면 환경 변수나 설정 파일에 비밀번호, API 키, DB 접속 정보 같은 민감한 데이터를 넣어야 할 때가 자주 있다. 초기에는 .env 파일에 그대로 두거나, Git에 커밋되지 않게만 조심하면 된다고 생각하기 쉽다.하지만 운영 환경에 배포하거나 여러 명이 협업하는 상황에서는 그 접근이 너무 위험할 수 있다. 나는 이 문제를 보다 안전하게 해결하기 위해 AWS의 Key Management Service(KMS) 를 활용해보기로 했다.이번 글에서는 다음 내용을 중점적으로 정리한다:AWS 콘솔에서 KMS 키를 생성하는 방법로컬에서 AWS CLI로 암복호화를 테스트하는 절차KMS 과금 정책과 주의할 점실습을 위한 단계부터 실제 운영 적용까지 이어질 수 있는 기반을 마련하는 것이 목표다.KM..

개요로컬에서 환경 설정 파일을 관리할 때, .gitignore를 이용해 민감 정보가 Git에 업로드되지 않도록 할 수 있습니다. 하지만 로컬에서 직접 관리하다 보면 파일 갱신을 동료에게 수동으로 공유해야 하는 불편함이 있었습니다. 이를 해결하기 위해 여러 대안을 검토했고, 최종적으로 AWS Systems Manager Parameter Store를 활용하기로 결정했습니다.1. 기존의 문제점로컬 환경 변수 관리의 불편함기존에는 .env 파일을 .gitignore에 추가하여 관리했습니다.하지만 팀원 간 환경 변수를 공유할 때, 별도의 방식(메신저, 이메일 등)으로 전달해야 했습니다.파일 업데이트 시 동기화가 어려웠으며, 실수로 Git에 올라가는 경우도 발생할 위험이 있었습니다.보안 문제환경 변수 파일을 안전..

시작하면서AWS에서 EC2 인스턴스를 SSM(Session Manager)을 통해 관리하는 것은 매우 유용합니다. 특히 SSH 포트를 개방하지 않고 안전하게 EC2에 접근할 수 있기 때문에 보안 측면에서 큰 장점이 있습니다. 이 작업은 보안을 강화하고 네트워크 관리의 복잡성을 줄이는 데 의미가 있습니다. 예를 들어, SSH를 사용하면 포트 관리, 키 관리 등에서 추가적인 보안 위험이 생길 수 있지만, SSM을 사용하면 이러한 문제를 해결할 수 있습니다. 따라서 SSM을 통한 연결은 보안과 편리함을 모두 충족시키는 방법입니다.이번 포스팅에서는 EC2 인스턴스를 SSM에 연결하는 과정을 단계별로 정리해보았습니다.1. EC2 인스턴스 생성먼저 EC2 인스턴스를 생성합니다. SSM 에이전트를 사용하기 위해 Am..

1. 시작하면서Amazon EC2는 매우 유연한 클라우드 컴퓨팅 환경을 제공하며, 초기 설정을 사용자 데이터(User Data)로 자동화할 수 있는 강력한 기능을 가지고 있습니다. 이 글에서는 EC2 인스턴스를 Ubuntu 환경에서 사용자 데이터를 통해 자동으로 도커를 설치하도록 설정하는 방법에 대해 설명하겠습니다. 또한, 이 과정의 각 단계를 이미지로 설명해 이해를 돕겠습니다.2. EC2 인스턴스 개요 및 사용자 데이터란?EC2 인스턴스를 생성할 때, AWS에서 제공하는 **사용자 데이터(User Data)**를 활용해 초기 설치 및 설정을 자동으로 진행할 수 있습니다. 이를 통해 서버 운영에 필요한 소프트웨어를 인스턴스 시작과 동시에 자동으로 설치하고 구성할 수 있어 운영의 효율성을 높일 수 있습니다..

1. 시작하면서AWS Elasticache는 클라우드 환경에서 인메모리 데이터 저장소를 제공하는 서비스로, 애플리케이션의 성능을 극대화하는 데 중요한 역할을 합니다. 특히, JWT(JSON Web Token)를 활용한 로그인 및 로그아웃 시스템에서는 세션 정보를 빠르게 저장하고 조회할 수 있는 환경이 필수적입니다. 이번 포스트에서는 AWS Elasticache를 생성하는 방법에 대해 자세히 안내하겠습니다.2. AWS Elasticache 생성2.1 Elasticache 서비스 선택로그인 후, 서비스 목록에서 "Elasticache"를 선택합니다. 이곳에서 Redis 또는 Memcached 중 원하는 인메모리 데이터 저장소를 선택할 수 있습니다. 이번 포스트에서는 Redis를 사용하는 방법을 다룹니다.2...
S3 Key로 암호화하기Amazon S3(Simple Storage Service)는 안전하고 확장 가능한 객체 스토리지 서비스를 제공하며, 데이터 보호를 위해 다양한 암호화 옵션을 지원합니다. 이번 포스팅에서는 S3에서 제공하는 암호화 방식인 SSE(S3, KMS, C)와 CSE(CLIENT-SIDE ENCRYPTION)에 대해 자세히 알아보겠습니다.1. SSE (Server-Side Encryption)SSE는 Amazon S3에서 관리되는 서버 측 암호화 방식으로, 데이터가 S3에 업로드가 된 직후 자동으로 암호화됩니다. SSE는 세 가지 주요 유형이 있습니다.1.1 SSE-S3 (S3 관리 암호화)SSE-S3는 AWS가 제공하는 기본적인 암호화 방식으로, AES-256 암호화를 사용합니다. 이 방..