일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 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
- assertThat
- async/await
- AVG
- AWS
- aws eks
- AWS KMS
- aws 연동
- AWS 프리티어
- Azure
- Today
- Total
목록DevOps (23)
기록
1. 테스트만 먼저 하고 싶은 욕심CI 파이프라인을 설정하면서 gradle build는 시간이 너무 오래 걸려서, 먼저 gradle test만 실행해보는 경우가 많다. 전체 빌드가 아니라 테스트만 확인하면 더 빠르게 문제를 캐치할 수 있기 때문이다.나도 Jenkins에서 프로젝트 빌드 전에 먼저 테스트만 돌려보기 위해 아래와 같은 스크립트를 작성했다../gradlew test그런데 의외로 아주 기본적인 부분에서 에러가 발생했다. 분명 로컬에서는 잘 돌아가던 테스트가 Jenkins에서는 아래처럼 터진다:2. 발생한 에러 메시지> Could not determine the dependencies of task ':test'.> Could not resolve all dependencies for config..
프리티어는 t2.micro 인스턴스 한 대를 무료로 제공해 주기 때문에, 간단한 서비스나 테스트 용도로 사용하기에 꽤 유용하다. 하지만 단점도 있다. 계정마다 리소스 한도가 제한되어 있기 때문에, 여러 개의 계정을 운영하거나 계정 간에 인프라를 동일하게 구성해야 할 일이 자주 생긴다.이럴 때 매번 콘솔을 통해 수동으로 VPC를 만들고, 서브넷과 라우팅 테이블, EC2 인스턴스를 구성하는 일은 번거롭고 시간이 많이 든다.그래서 이를 코드화해두면 여러 계정에서도 복사-붙여넣기만으로 동일한 인프라를 쉽게 구축할 수 있다. 이번 글에서는 AWS CloudFormation 템플릿을 통해 프리티어 기반의 ECS(EC2 LaunchType) 인프라를 구성하는 과정을 소개한다.1. 네트워크 구성 - VPC, 퍼블릭 서..
시작하면서프로젝트를 자동화할 때 Makefile을 잘 활용하면 반복적인 커맨드를 단순화할 수 있다. 여기서는 기본 사용법과 매개변수(인자) 전달 방법을 간략하게 정리한다.Makefile 기본 구조: 예시:build: ./gradlew buildrun: docker-compose up -d터미널에서 실행:make buildmake run여러 명령어 연결full-deploy: ./gradlew build docker-compose build docker-compose up -d매개변수 전달 방법Makefile 내부에서 쉘 변수를 받아 사용하는 방법이 있다.방법 1: 환경변수 형태로 전달print-env: echo $(MY_VAR)실행:make print-env MY_VAR=hello결과:hello방법 2: ..

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

1. 개요블루그린 배포(Blue-Green Deployment)는 애플리케이션 배포 중에도 사용자 경험을 유지할 수 있는 무중단 배포 방식입니다. 이를 통해 새 애플리케이션 버전을 테스트하고, 안정적으로 운영 환경에 반영할 수 있습니다.본 가이드는 GitHub Actions, Docker, Nginx, Spring Boot, AWS를 활용하여 블루그린 배포를 구현하는 방법을 다룹니다. 주요 내용은 다음과 같습니다:블루그린 배포 아키텍처CI/CD 파이프라인 구성배포 스크립트와 관련 설정Blue와 Green 환경 간 트래픽 전환2. 블루그린 배포 아키텍처2.1. 주요 개념Blue 환경: 현재 사용자 요청을 처리 중인 운영 환경.Green 환경: 새로운 버전의 애플리케이션을 배포하고 테스트하는 대기 환경.트래..

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

시작하면서AWS 프리티어를 초과하여 예상치 못한 비용이 발생하게 되면서, 기존 계정을 정리하고 새로운 계정을 생성하여 리소스를 이관하는 작업을 진행했습니다. 그러나 새로운 리소스를 생성하고 기존 리소스를 종료하는 과정에서 여전히 비용이 부과되는 문제에 직면했습니다. 이 글에서는 그 비용 발생 원인을 분석하고 해결했던 과정을 공유하려고 합니다.비용 발생 원인 분석1. 비용 분석: 청구서와 Cost Explorer 활용먼저 AWS 청구서와 Cost Explorer는 AWS의 비용 관리 도구로, 특정 기간 동안의 비용과 사용량을 분석하고 각 서비스별로 발생한 비용을 시각적으로 확인할 수 있는 기능을 제공합니다. 이를 통해 비용이 발생하는 주요 서비스를 보다 쉽게 파악할 수 있습니다. Cost Explorer를..

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