
지난 글에서 Docker CI/CD 구성하여 자동배포 하기를 했는데 그 다음 순서로 Docker Compose까지 적용해보자 EC2 인스턴스에 compose 설치해주기 https://docs.docker.com/compose/install/linux/ Install the Compose plugin docs.docker.com https://zosystem.tistory.com/324 CentOS 7 - Docker, Docker-compose 설치 docker 설치(repository추가 및 install) # yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # yum install docker-c..

그동안 Docker를 로컬/ec2 인스턴스에서 적용해본다거나 Docker Compose를 로컬에서 띄워본다거나 동시에 3개의 app을 클러스터링 해본다거나 등등은 해보았으나 CI/CD까지 구성해보진 못했었다. 이번 글에서는 test용 인스턴스 생성 -> test용 repository 생성 + NestJS 코드 import -> Dockerizing (Dockerfile 만들기) + 이미지 생성 -> CI/CD 구성하여 인스턴스에 자동 배포 순서로 해보려고 하고, github repo, github action, ec2 instance, ECR, NestJS 등등을 사용한다. test용 인스턴스 생성 test용 repository 생성 + NestJS 코드 import 내 팀 깃허브에 레포를 하나 만들었다..

이후 docker-image.yaml 코드를 작성하면서 발생한 오류들을 차근차근 살펴보자. 바보같은 오류도 있었지만 하나하나 리뷰하려고 한다. 1. import worker-gridge code 과정에서 missing Dockerfile 에러메시지 : ERROR: failed to solve: rpc error: code = Unknown desc = failed to solve with frontend dockerfile.v0: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount2011953406/Dockerfile: no such file or directory 문제 : Dockerfile을 로컬에서만 만들고 git에는 안올렸었다. ..

여러가지 CI/CD 툴을 찾아보다가 가장 많이 쓰이는 Jenkins는 어차피 레퍼런스가 많으니 언제든 해볼 수 있고, 레퍼런스가 아주 적은 툴인 Travis CI를 사용해봤다. github 레포에 최신화된 React.js 웹 코드를 올리고, s3 버킷에 build된 폴더를 올려 배포하는 형태로 진행했다. 코드 language: node_js node_js: - '16' install: - npm install script: - CI=false npm run build deploy: provider: s3 access_key_id: $AWS_ACCESS_KEY_ID secret_access_key: $AWS_SECRET_ACCESS_KEY bucket: 'test-s3-bucket' local_dir: b..

13번의 시도 동안 어떤 에러였는지 어떻게 해결했는지 써보겠다! 1. dory-test 대상 : AWS::EC2::EIPAssociation 에러 메시지 : The networkInterface ID 'eni-0b76d551207121168' does not exist (Service: AmazonEC2; Status Code: 400; Error Code: InvalidNetworkInterfaceID.NotFound; Request ID: 5ec40d3a-ccb6-42ce-a75c-f3049cfdd437; Proxy: null) 문제 : networkInterfaceId를 입력하는데 networkInterface는 EIP가 생성되고 나서 나오기때문에 지정하는 것이 불가능함 솔루션 : networkIn..
이번에는 ECS에 대해 알아보자. Amazon Elastic Container Service로 컨테이너화된 애플리케이션의 손쉬운 배포, 관리 및 크기 조정을 지원하는 완전 관리형 컨테이너 오케스트레이션 서비스이다. 구성요소는 다음과 같다. 1. Amazon ECR (Elastic Container Registry) 아마존에서 지원하는 컨테이너 이미지 저장소로 ECR 레포지토리에서 이미지 URI를 이용해 빌드한 이미지를 푸시하거나 가져올 수 있다. 완전 관리형 컨테이너 레지스트리로, 이미지와 아티팩트를 어디서나 쉽게 보관, 관리, 공유 및 배포하도록 지원한다. 2. 태스크 정의 (Task Definition) 애플리케이션을 구성하는 컨테이너를 설명하는 텍스트(JSON)이다. 3. 태스크 (Task) 태스크..
AWS의 관계형 데이터베이스인 Amazon RDS를 통해 관계형 데이터베이스를 생성해보자. DB 구성 과정에서 필요한 두가지의 항목을 먼저 준비해야 한다. 1. 데이터베이스 인스턴스의 인바운드, 아웃바운드 규칙을 제어하는 Security Group 2. 데이터베이스의 위치를 제어하게 될 Subnet Group 데이터베이스 인스턴스의 인바운드, 아웃바운드 규칙을 제어하는 Security Group 생성하기 RDS를 생성하는 과정에서도 SG를 만들 수 있지만 SG의 소스가 나의 IP로 자동 지정 되어서 SG 메뉴로 다시 돌아가 소스의 IP 대역을 다시 수정하는 번거로움이 있기 때문에 미리 RDS에서 사용하기 위한 SG를 만든다. VPC > SG > Create SG VPC는 내가 RDS를 만들 VPC 선택한..

사용하게된 이유 회사에서 CloudFormation을 사용하여 개발 환경 구성을 템플릿화해보자고 하여 도입하게 될 CloudFormation의 사전 리서치를 해보자! IaC(Infrastructure as Code) 일단 CloudFormation은 IaC이다. IaC(Infrastructure as Code)는 코드형 인프라로, 코드를 통해 인프라를 관리 및 프로비저닝 하는 것을 말한다. (프로비저닝이란? IT 인프라를 설정하는 프로세스이며, 사용자와 시스템에서 사용할 수 있도록 데이터와 리소스에 대한 액세스를 관리하는데 필요한 단계이기도 하다.) AWS CloudFormation이란? AWS의 대표적인 IaC 기반 서비스이며, 리소스를 수동 생성할 필요 없이 리소스들을 템플릿(코드)로 구성하고 스택을..
- Total
- Today
- Yesterday
- Docker
- RDS
- Grafana
- ci/cd
- Hook
- ecr
- github action
- CSS
- Workflow
- Service
- react
- springboot
- ALB
- EC2
- subnet
- LOKI
- SG
- 리액트
- ECS
- AWS
- 로깅
- VPC
- 인프라
- Grafana Alert
- html
- redux
- 서버
- javascript
- 모니터링
- js
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |