공부/AWS
-
AWS Systems Manager - Parameter Store (with NestJs)공부/AWS 2025. 4. 23. 23:16
개발을 하면서 환경변수 관리를 어떻게 해야 할지 고민이 많이 될 것이라고 생각합니다. 저도 EC2에서 서버를 실행할 때 env 파일을 어떤 식으로 관리해야 할지 고민하였습니다. 파일을 직접 생성하여 관리하는 쪽으로 선택하였습니다. 이전에는 잘못된 방식이지만 깃에 직접 올렸던 적도 있었습니다. 다른 방식보다 AWS에서 실행 중인 서비스가 있으시다면 AWS Systems Manager를 사용해 보는 것을 추천드립니다. 제가 생각하는 환경변수 관리는 직접관리, AWS Systems Manager(=ssm), Secret Manager 가 존재합니다. 1. 직접관리는 기존에 했던 방식이며, 유실의 위험이 존재하고 관리가 한 곳이 아닌 다른 곳에서 된다는 점이 불편하게 느껴졌습니다.2. Secret Manage..
-
ECR에 이미지 업로드공부/AWS 2025. 3. 29. 19:44
EC2에서 실행하던 서버를 ECS로 바꾸는 과정에서 ECR에 이미지 업로드 과정을 작성하려고 합니다. ECR은 Elastic Container Registry의 약자입니다. ECR은 도커 허브와 같은 역할이라고 생각하시면 좋을 거 같습니다.1. ECR 생성 권한이 있는지 확인합니다.- 권한이 없는 경우 권한을 부여해야 합니다.- AmazonEC2ContainerRegistryFullAccess 권한을 부여합니다.- IAM에서 사용하시는 사용자의 권한을 부여해야 합니다.2. Private ECR 생성- 프라이빗 리포지토리 탭에서 우측 상단에 리포지토리 생성 클릭- 리포지토리 이름을 작성합니다.- 이미지 태그 변경 가능성, 암호화는 초기 지정된 값으로 유지합니다.- 리포지토리를 생성하면 지정한 이름으로 리포..
-
NestJS + Bitbucket pipelines + EC2 + CodeDeploy (CI/CD) - 2공부/AWS 2025. 1. 20. 00:21
지난번에 작성했던 부분을 이어서 작성하도록 하겠습니다. 혹시라도 전 부분을 확인 안 하셨다면 읽으신 다음에 동일하게 진행 부탁드리겠습니다.https://baam.tistory.com/413 NestJS + Bitbucket pipelines + EC2 + CodeDeploy (CI/CD) - 1Nestjs로 CI/CD를 구축하면서 여러 가지를 시도해 보고 해결을 했던 부분을 기록하려고 합니다.제가 성공했던 방법은 총 2가지 입니다. 1. NestJS + Bitbucket Pipelines 만을 이용하여 CI/CD2. NestJS(PM2로 실행baam.tistory.com 1. Bitbucket Pipelines 작성image: node:18definitions: // 공통된 부분은 definitions..
-
Bitbucket Pipelines + EC2 + NestJS공부/AWS 2025. 1. 19. 23:30
작성하는 글은 codedeploy를 사용하지 않고 EC2에 바로 bitbucket pipelines가 배포할 수 있도록 하는 방법입니다.하지만, 이 방법은 그리 추천하지 않습니다. 이유는 .pem 키로 접속하는 것을 할 수 없도록 하기 때문입니다.초기설정Session Manager를 이용할 수 있도록 등록이 필요합니다. 제가 작성한 블로그 글을 통해서 등록하시기 바라겠습니다.( 링크 ) 1. Bitbucket에서 내 Repository에 Repository Settings를 선택 후 pipelines 탭에서 SSH Keys 선택- Generate keys를 클릭하여 키를 생성합니다. 2. 생성된 키를 Copy합니다. 3. 해당 키를 EC2에 등록합니다.(키를 등록하기 전에 기존에 있던 키를 복사해 두세요..
-
NestJS + Bitbucket pipelines + EC2 + CodeDeploy (CI/CD) - 1공부/AWS 2025. 1. 14. 00:36
Nestjs로 CI/CD를 구축하면서 여러 가지를 시도해 보고 해결을 했던 부분을 기록하려고 합니다.제가 성공했던 방법은 총 2가지 입니다. 1. NestJS + Bitbucket Pipelines 만을 이용하여 CI/CD2. NestJS(PM2로 실행) + Bitbucket Pipelines + S3 + CodeDeploy + EC2모두 가능하지만, 1번의 경우는 뭔가 아니라는 생각이 들었습니다.(그 이유는 추가적으로 설명드리도록 하겠습니다.)2가지 모두 이번 글에서 작성하도록 하겠습니다.다만, 개인적인 생각에 다른 분들이 작성한 글과 내용을 기반으로 했을 때, 2번이 더 안정적인 방법이라고 생각이 들었습니다.방법 1. NestJS(PM2로 실행) + Bitbucket Pipelines + S3 + C..
-
AWS Session Manager 생성공부/AWS 2025. 1. 9. 00:05
EC2에 접근을 하려면 .pem키를 사용하거나 ec2 인스턴스 연결로 접근을 하는 방법이 있습니다. 하지만 항상 .pem키를 가지고 있거나 EC2 인스턴스에 접근할 수 있도록 보안그룹을 설정하는 것들이 불편할 수 있습니다. 이 부분을 개선할 수 있는 것이 Session Manager를 이용하면 접근이 가능합니다. EC2 인스턴스를 생성할 때 보통 SSM Agent가 설치됩니다. 설치가 되는 인스턴스는 링크에서 확인이 가능합니다.운영체제에서 실행 중인지 설치됐는지도 링크에서 command를 입력하면 확인이 가능합니다.설치가 안된 인스턴스를 사용 중에는 설치를 해야 합니다. 1. 인스턴스에 보안에서 IAM이 구성된 상태이신지 확인합니다.- 현재 IAM이 설정된 상태가 아닙니다.- 만약 있으신 분이라면 권한을..
-
[RDS MariaDB] Error: Too many connections공부/AWS 2024. 9. 16. 15:44
회사 업무를 진행하던 중 dbeaver로 개발 DB에 접근 후 데이터를 가져오려는 시도 하려고 했더니, Too many connections라는 문구와 함께 접근이 되지 않았습니다.또한, 해당 에러를 보고서 개발 서버를 확인했더니 실제 로그에도 Too many connections라는 에러를 확인할 수 있었습니다.해당 에러를 해결하기 위해서 구글링을 하였고, 해당 방법으로 해결을 하여 공유하려고 합니다. 1. 1차적으로 DB의 Connections 수를 확인- RDS에서 해당 DB 선택 후 카테고리에서 구성 선택 후 DB 인스턴스 파라미터 그룹 선택- 보통 RDS를 생성할 때 Defaut 값으로 설정이 돼 있을 것입니다.- 저의 경우 LEAST({DBInstanceClassMemory/25165760},..
-
EC2 CPU 상승 알림 (SNS + Lambda + CloudWatch)공부/AWS 2024. 7. 28. 21:18
서비스를 운영하다 보면 CPU가 상승하는 현상을 자주 확인할 수 있습니다. 제한된 리소스로 최대의 효율을 내고, 안정적으로 운영할 수 있도록 하는 것이 항상 생각하고 가져가야 할 의무라고 생각합니다.오늘은 EC2의 CPU 상승을 확인하고, 특정 임계치를 넘는 경우 알림을 받을 수 있도록 하는 기능을 설명하려고 합니다.(참고에 작성하였지만, 거의 이분 블로그 를 참고하였다.)1. SNS 주제 생성- 알림을 수집하고 보내기 위해서는 SNS의 주제를 생성해야 합니다.- 표준으로 설정합니다.- 이름, 표시이름 2가지 모두 작성합니다. 2. Lambda 함수 생성- 람다는 Cloud Watch의 경보가 SNS로 전달이 된 후 Lambda를 실행하여 알림을 보낼 수 있도록 합니다. 2-1. Lambda 함수 코드..