- SSL
- springboot
- 스프링부트
- ci/cd
- 데이터베이스
- 자바
- mysql
- java
- 문자열
- Docker
- sql
- spring security 6
- CloudWatch
- select
- spring boot
- @transactional
- PYTHON
- spring
- join
- ORM
- 1차원 배열
- spring mvc
- hibernate
- jpa
- 프로그래머스
- string
- nginx
- 스프링
- Django
- AWS
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
목록Architecture & Tool/AWS (16)
개발하는 자몽
지난 글에서는 AWS가 기본적으로 여러 네임스페이스와 지표를 제공하는 것을 확인했었다. 기본 제공 데이터 외에도 사용자가 커스텀 지표를 생성하여 이 지표가 속하는 네임스페이스를 생성할 수도 있다.커스텀 지표 수집커스텀 지표를 생성하는 이유는 AWS에서 기본 제공하는 지표로는 확인할 수 없는 항목들이 있기 때문이다. EC2 메모리 및 디스크와 관련된 지표들은 AWS에서 기본 제공하지 않고, EC2 인스턴스에 CloudWatch agent를 설치하여 커스텀 지표를 수집하도록 설정해야 한다. 진행하는 환경은 EC2 - Ubuntu 24.04 LTS이다. 🔗기본 제공하지 않고 OS에 설치해야 하는 이유 Agent 설치IAM 역할 생성EC2에게 부여할 IAM 역할부터 생성하자. 이 역할은 EC2가 지표를 수집하..
목적Amazon CloudWatch는 AWS, 온프레미스 및 기타 클라우드에서 리소스 및 애플리케이션을 관측하고 모니터링할 수 있는 서비스이다. 이를 이용하여 성능 변화에 대응하고 리소스 사용을 최적화하고, 운영 상태에 대한 인사이트를 얻을 수 있다. CloudWatch는 로그(수집, 보관 등) 및 수집하는 커스텀 지표 등이 적을 때는 비용이 크게 청구되지 않지만, 잘 모르고 사용하면 예상하지 못한 금액을 보게 되는 서비스라고 생각한다. 비용에 관한 자세한 내용은 공식 문서를 참고하자. 나도 많이 아는 건 아니지만, 알아두면 좋은 내용들을 기록 및 공유를 위해 작성하려고 한다. 다음 내용을 다룰 예정이며, 이 포스팅에서는 우선 용어 소개만 다루려고 한다. 알아두면 좋은 CloudWatch 용어 소개사..
꽤... 늦었는데, 지난번에 구축한 CI/CD에 블루-그린 무중단 배포를 적용해 보자.📌지난 글: 2025.07.28 - [Architecture & Tool/AWS] - CI/CD 구축하기: GitHub Actions (OIDC) + Amazon S3 + Amazon CodeDeploy 보안 그룹ALB 보안 그룹 생성ALB를 생성하기 전에 보안 그룹을 만들자. EC2 > 보안 그룹으로 이동하여 보안 그룹 생성을 클릭한다.아웃바운드 규칙은 건들지 않고 인바운드 규칙만 편집한다. 유형: HTTP소스 유형: 사용자 지정소스: 0.0.0.0/0EC2 보안 그룹 수정 애플리케이션에 대한 요청을 ALB를 통해서만 받을 수 있도록 이전 포스트에서 생성했던 EC2 보안그룹을 수정해야 한다. 이전 포스트에서 두 개..
📌공유도 있지만, 기록이 더 큰 목적... Windows 11, Gradle/SpringBoot.AWS에서 "아.. Fargate 좋은데... 안쓰나... 진짜 좋은데..." 라고 계속 홍보하는 것 같아서 이번 프로젝트에서는 도대체 얼마나 좋길래? 하고 사용해봤다. 후기! EC2 보다 비용이 좀(꽤) 나가지만, 서버 설정이 편리하다. 서버 설정 자체는 신경을 안쓰게 되긴하는데 인프라는 건들게 너무... 많다... 자세히는, 퍼블릭 서브넷에 배포한다면 정말 금방 끝낼 수 있다. 하지만 프라이빗 서브넷에 배포한다면 많은 설정들이 기다리고 있다. (이때 배포하는 과정에서 Private Link 관련으로 삽집을 많이해서 기록용으로 작성하게 됐다) 불편한 점이 꽤 있다. EC2로 배포하면 당연했던 것들이 서..
AWS EC2 인스턴스(Ubuntu 24.04) 한 대에 배포되고 있는 Gradle/SpringBoot 서버에 대해서 OIDC를 이용해서 CI/CD를 구축해 보는 글입니다. EC2 인스턴스 생성은 다루지 않습니다. ⏭️다음 글: CI/CD에 블루-그린 무중단 배포 적용하기: AWS ELB, AWS Auto Scaling Groups(ASG) ⭐항상 AWS 리소스를 다룰 땐 참고하고 있는 글이 최신 버전인지 확인하기⭐ 작성 계기GitHub Actions를 CI 툴로 사용하는 대부분의 소개글은 GitHub Actions에서 AWS로 접근하기 위해 IAM 액세스 키를 많이 사용한다. 이때 여러 가지를 고려했을 때 IAM 액세스 키보다는 OpenID Connect(OIDC) 사용을 더 권장한다고 한다...
RDS MySQL를 사용하는 프로젝트에서 시간대가 맞지 않음을 알게 되었다. 타임존 설정을 까먹은 것...! 해당 DB 인스턴스의 설정을 바꾸는 일이므로 DB 파라미터 그룹을 새로 생성하여 수정하기로 했다. DB 파라미터 그룹DB 파라미터 그룹은 하나 이상의 DB 인스턴스에 적용되는 구성 값의 모음이다. DB 파라미터 그룹을 지정하지 않고 DB 인스턴스를 만드는 경우 DB 인스턴스에서는 기본 DB 파라미터 그룹을 사용한다. 기본 DB 파라미터 그룹 설정은 수정할 수 없으므로 새 파라미터 그룹을 생성해야 한다. 그리고 원하는 파라미터 설정을 변경하고, DB 인스턴스나 DB 클러스터를 수정하여 새로 생성한 파라미터 그룹을 연결하면 된다. AWS 콘솔로 들어가서 파라미터 그룹을 생성하자. 설정하기..
기존에는 EC2 우분투 환경에서 운영되는 프로그램들의 로그를 AWS CloudWatch에 전송할 수 있도록, 우분투에서 CloudWatch Agent 패키지를 설치하고 관련 설정을 진행했다. 이번에는 EC2(마찬가지로 우분투 환경)에서 Docker 컨테이너로 띄운 프로그램의 로그를 AWS CloudWatch에 전송할 수 있도록 설정을 해보자. 관련 공식 자료는 여기를 참고하자. (딱히 좋은 글인 것 같지는 않다...) CredentialsEC2 상에서 운영되는 Docker 컨테이너의 로그를 AWS CloudWatch에 전송하기 위해서는 `awslogs` 로깅 드라이버를 사용해야 한다. 이를 위해 자격 증명(credentials)이 필요하며, 해당 자격 증명을 Docker 데몬에 전달해야 한다. 자격 증..
AWS Lambda 사용법을 조사하다가 Amazon API Gateway가 같이 언급되는 글이 많길래 왜 그런가 찾아봤다. 결론은 Lambda가 특별히 API Gateway가 필요해서 같이 붙어 다니는 건 아니었다. Lambda는 특성상 무거운 프로그램의 서버보다는, 한 가지 목적에 집중하는 가벼운 프로그램의 서버로 적합하다. 각 기능(인증, 스케쥴링, 모니터링 등)을 여러 개의 Lambda로 분리해서 API Gateway로 연결하는 편이 좋다. 다음은 API Gateway를 사용했을 때 얻을 수 있는 이점이다. Reusability Lambda 유무와 관계없이 API Gateway를 사용하면 새 프로젝트 시작할 때마다 인증 기능을 구현할 필요도 없다. 인증 기능이 배포된 서버를 API Gatewa..
상황EC2를 사용하고 있어서 SSL 적용을 ACM으로 해보려고 했는데 실패하고 Let's Encrypt를 사용했다. ACM SSL 인증서는 AWS Load Balancer, CloudFront, API Gateway를 통해서만 사용할 수 있다. 마침 로드 밸런싱을 Nginx로 하고 있었던 차에 ELB로 바꿔야지 하면서 ALB를 생성했었다. 생성하고 난 다음에, 문제는 ALB에서 보내는 헬스 체크 요청이 Nginx(웹서버)에 도달하지 않았다. ALB의 리스너 설정이나 대상 그룹 설정 등을 모두 확인했으나 Nginx에 요청이 도달하지 않았다. 나는 총 3개의 포트를 사용했던 것 같다. 아래 세 개 모두를 보안 그룹에 설정해 두었고, ALB 리스너 설정에도 추가해 두었다. (지금 생각해 보면 80, 443번 ..
ACM ACM(AWS Certificate Manager)은 우리의 AWS 웹사이트와 애플리케이션을 보호하는 SSL/TLS 인증서를 생성 및 저장, 갱신한다. 비용은 무료이며, 연마다 갱신할 필요가 없다. AWS Certificate Manager를 통해 프로비저닝 되는 퍼블릭 SSL/TLS 인증서는 무료이다. 애플리케이션 실행을 위해 생성한 AWS 리소스에 대해서만 비용을 지불하면 된다. 🔗 https://ap-northeast-2.console.aws.amazon.com/acm/home?region=ap-northeast-2#/welcome HTTPS 적용 Note ACM을 사용하려면 먼저 도메인이 등록되어 있어야 한다! ACM 요청 AWS 메뉴에서 Certificate Manager에 접속한다. 그..