Terraform으로 NCP 구축하기(1) - Provider 및 모듈 설정
·
Infra
이번 프로젝트를 진행하면서, NCP 크레딧을 지원받게 되어 NCP로 인프라를 구축해볼 기회가 생겼다. 대부분 AWS 프리티어 플랜만 사용해서 인프라를 구축하다보니, NCP에 대해서는 처음이지만, AWS와 비슷한 비슷한 맥락으로 구축하면 될 것 같아 기존에 했던 경험을 반복할 것 같아 걱정이 됐다. 따라서 이번에는 Terraform을 사용해서 인프라를 구축이라는 새로운 경험을 해보려고 한다.Terraform으로 배포환경을 정의해놓으면, 배포 계정을 변경하더라도, 바로 동일한 환경을 구축할 수 있어 굉장히 유용하다. 주의 사항테라폼으로 인프라 서비스 생성한 리소스에 대해서, 콘솔에서 업데이트 하게되면, 테라폼 코드에도 반드시 반영해주어야 한다. 그렇지 않으면 정합성이 깨지게되어 테라폼을 통한 생성/수정/삭..
ECS - EC2 본격 배포하기 [4] - Github Actions로 CI/CD Workflow 구현
·
Infra
3편에서 설명했듯이, 기존의 EC2에 직접 접근해서 배포를 진행하는 워크플로우에서, ECS를 활용한 워크플로우로 변경하려고 한다. 이미지를 빌드하는 과정까지는 동일하기 때문에, 그 이후 이미지를 업로드하는 과정부터 두 프로세스가 달라진다.📦 EC2 직접 배포 방식 워크 플로우 설명코드 체크아웃 및 JDK 설정actions/checkout 으로 코드를 가져오고 setup-java로 JDK 21을 설정한다.application.yaml 생성GitHub Secrets에 저장된 환경 정보를 이용해 application.yaml을 만든다.Docker 이미지 빌드 및 Docker Hub 푸시Buildx를 사용하여 Docker 이미지를 빌드하고, Docker Hub로 푸시한다. EC2에 SSH 로 접속해 배포scp..
ECS - EC2 간단 배포하기 [3] - ci/cd 설계
·
Infra
프로젝트에서 자주 사용하는 CI/CD 파이프라인기존에 AWS 프리티어를 사용해서 자주하는 CI/CD 파이프라인은 아래 그림과 같다.깃헙 액션을 통해서 jar 파일을 빌드하고, 해당 파일을 이미지로 만든다.이미지를 도커 허브에 올린다.SSH 를 통해 EC2에 접속하여 도커 허브에 있는 이미지를 Pull 받는다EC2 인스턴스에서 해당 이미지를 실행한다. ECS를 활용한 CI/CD 파이프라인ECS(Elastic Container Service)를 활용한 CI/CD 파이프라인은 아래 그림과 같다 기존의 도커허브의 역할을 ECR이 해주고, EC2에서 직접 접속하여 서버를 실행하던 걸, ECS가 대신해주는 방식만 달라졌다. 아래와 같은 방식으로 실행해도, 프리티어 영역 내기 때문에 과금이 될 요소는 전혀 없다.깃헙..
ECS - EC2 간단 배포하기 [2] - 테스크 정의 및 배포
·
Infra
1. ECR(Elastic Container Registry) 생성 AWS Console > Amazon Elastic Container Registry > Private Repositories > [Create repository] 빨간 영역에 폴더 생성할 폴더명을 만들면된다. 해당 앞으로 이미지를 빌드하고 푸시할 때, 저장할 장소의 이름이라고 생각하면 편하다.이후 아래처럼 생성한 이름의 리포지토리가 만들어진 것을 확인할 수 있다. 2. EC2에서 ECR에 접근할 수 있는 IAM 생성AWS Console > Identity and Access Management (IAM) ****> Access management > Users > [Create user] IAM > 사용자 > kobaco-ecs-ia..
ECS - EC2 간단 배포하기 [1] - EC2에 ECS 에이전트 설정
·
Infra
클라우드 환경에서 컨테이너 애플리케이션을 배포할 때, 보통 EC2나 GCE(Google Compute Engine)에 Docker를 설치하고 컨테이너를 직접 띄우는 방식으로 운영했었다. 하지만, AWS에서는 ECS(Amazon Elastic Container Service)를 이용해 더 쉽게 컨테이너를 배포하고 관리할 수 있다고 들어서 오늘은 미루고 미뤄왔던 'ECS롤 통해서 배포'를 해보려고 한다.  그 중 오늘 다룰 목차는 이렇게 된다.1. IAM 역할 설정 -> EC2에 역할 부여2. ECS 클러스터 생성3. Docker 설정4. ECS 에이전트 설치 ✅ 1. IAM 역할 생성 (EC2가 ECS에 접근할 권한 부여)ECS에서 EC2를 정상적으로 실행하려면, EC2 인스턴스가 AWS ECS와 통신할 ..
[한국대학생IT경영학회] 큐시즘 개발파트 합격후기
·
카테고리 없음
한국 대학생 IT경영학회 큐시즘에 지원하고 합격하기까지의 과정과 느낀 점에 대해 포스팅해보려고 한다. 큐시즘 지원 시 다른 블로그에서 도움을 많이 받았기 때문에 다음 기수로 지원하려고 하는 누군가도 내 글을 보고 도움을 받을 수 있으면 좋겠다! 📄 모집 공고[큐시즘 모집 공고페이지]https://www.kusitms.com/recruit KUSITMS비전을 가지고 함께 성장하는 학회, 큐시즘의 공식 홈페이지입니다.www.kusitms.com해당 페이지에서 모집 절차와 활동 일정에 관한 궁금증을 해소할 수 있다.상반기에 1번 하반기에 1번 이렇게 1년에 2기수로 운영되고 있다! 📄 1차 : 자기소개서디자인, 기획, 개발 각자에 파트에 맞춰서 자기소개서 양식이 준비돼있고, 양식에 맞춰서 지금까지의 활동이..
시크릿키를 잘못올렸을 때
·
여러가지 모음집
git rebase -i b849c7eafe01f781d4fb48182a5dee351f0fe63d^ git rm src/main/resources/application.ymlgit commit —amend —no-edit git rebase —continue git push origin feat/#28 —force
당신의 EC2가 사망하는 이유 (feat. CpuCredit)
·
Infra
🚀 AWS EC2를 사용하다 보면 갑작스럽게 서버가 멈추거나 느려지는 경험을 한 적이 있을 거다. 특히 대학생이나 프리티어(Free Tier)를 사용하는 개발자라면 T2.micro 같은 저사양 인스턴스를 자주 활용하는데, 이 과정에서 서버가 "튕기는" 현상을 마주하기 쉽다. 처음에는 메모리 부족 때문이라고 생각하기 쉽지만, 사실 원인은 더 깊은 곳에 숨어 있다. 이번 글에서는 EC2가 꺼지거나 멈추는 주요 원인을 분석하고, 이를 해결할 수 있는 실용적인 방법을 정리해본다.⚠️ 문제의 시작: "갑자기 서버가 멈췄어!"💻 프로젝트 빌드 도중에 갑자기 서버가 응답하지 않거나, 접속이 끊기는 상황을 겪어본 적 있나? 나도 처음에는 "RAM이 부족해서 그런가?"라고 생각했다. T2.micro는 1GB의 메모리..