
지난 글에서 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에는 안올렸었다. ..

Launch Template과 Application Load Balancer로 Auto Scaling Group을 만들어보자 Launch Template과 Launch Configuration 두가지로 고를 수 있다. 버전 : 템플릿에서 변경사항이 발생 했을 때 새로운 버전을 만들 수 있음 Launch Template을 재정의해서 커스텀으로 인스턴스의 속성을 지정하거나 수동으로 인스턴스의 유형을 추가할 수 있다. Auto Scaling을 통해 생성되는 인스턴스 타입이나 종류를 더 상세하고 유연하게 설정할 수 있다. 인스턴스 속성 지정 : 인스턴스 속성을 기준으로 인스턴스의 CPU와 메모리 요구사항을 설정하여 인스턴스를 설정하는 옵션 수동으로 인스턴스 유형 추가 : 직접 인스턴스의 타입을 선택하여 인스턴스..

private 영역의 ec2 인스턴스를 타겟으로 하는 ALB(Application Load Balancer)를 구성해보자 웹서버를 외부와 직접적인 통신이 가능한 public 영역에 그대로 두는 것은 실제 웹서비스를 제공하는데 있어 보안 측면에서 그렇게 적절한 방법은 아니다. 따라서 웹서버를 외부와 직접적인 통신이 제한되어 있는 private 영역에 두고, 이를 ALB를 통해 트래픽을 분산하고 웹 서비스를 제공할 수 있는 환경을 구성해보자 target group 생성 로드 밸런서 생성하기 로드밸런서의 타겟이 private subnet들인데 네트워크 맵핑이 public subnet인 이유는? ec2 인스턴스 같은 리소스들처럼 로드밸런서도 네트워크 인터페이스의 ip를 통해서 통신을 하게 되는데 외부 인터넷과 ..

private 영역에 EC2 인스턴스를 만들고 통신이 가능한 환경을 구성해보자 EC2 인스턴스 생성하기 나머지는 이전 public ec2 만들 때와 동일한 옵션으로 생성한다. 다운로드 받았던 pem 키페어를 이용하여 인스턴스에 접근할 수 있었다. public-ec2-a1에 ec2-private-seoul.pem키를 생성하기 public-ec2-a1에서 private-ec2-a1에 SSH로 접근하기 public-ec2-a1을 통해서 private-ec2-a1에 접속하였다. public-ec2-a1은 private-ec2-a1에 접속하기 위한 중개 서버가 되는데 이를 Bastion host라고 한다. bastion이란? 수호자, 요새 Bastion host는 내부 네트워크와 외부 네트워크를 연결해주는 일종의..

나만의 머신 이미지를 만들고 Custom AMI를 사용하여 EC2 인스턴스를 생성해보기 머신 이미지 만들기 재부팅 안함 : 이미지가 생성되는 과정에서 EC2 인스턴스가 재부팅 되지 않도록 하는 옵션 생성된 Custom AMI로 새로운 AZ(Availability Zone, 가용성 영역) c에 EC2 인스턴스 만들기 AZ : 지역마다 존재하는 데이터센터라고 보면 됨 (서울에는 4개 존재) public-ec2-a1을 만들 때에는 유저데이터를 추가하여 인스턴스를 생성하는 과정에서 LAMP 웹서버 구성에 필요한 주요 패키지들을 설치했었는데 해당 패키지들이 이미 설치된 인스턴스의 이미지로 만든 AMI를 사용하기 때문에 별도로 설치 및 설정하지 않아도 됨 Elastic IP 생성하여 public-ec2-c1에 할당..

이번에는 public EC2 인스턴스를 생성하고 탄력적 IP 할당 후 서버에 연결하여 php 코드를 띄워보자 EC2 인스턴스 생성 AMI : Amazon Machine Image 서버를 시작하는데 필요한 운영체제나 관련 어플리케이션, 소프트웨서 패키지 등이 포함된 템플릿이라고 볼 수 있다. 내 AMI : 사용자가 직접 커스텀하여 만든 AMI AWS Marketplace AMI : 써드파티라고 부르는 외부 기업들이 특정 목적이나 기능에 포커스를 두고 커스텀해 제작 커뮤니티 AMI : 다른 유저들이 만들고 배포한 AMI를 검색하거나 사용할 수 있음 인스턴스 패밀리 + 인스턴스 세대 +인스턴스 크기 : t + 2 + micro 인스턴스를 생성한 이후 인스턴스에 접근하기 위한 키 키페어 유형 : 알고리즘 방식 ..
- Total
- Today
- Yesterday
- springboot
- Service
- 인프라
- ECS
- LOKI
- ci/cd
- redux
- github action
- react
- ALB
- AWS
- subnet
- 리액트
- Hook
- VPC
- javascript
- 로깅
- RDS
- Docker
- CSS
- 서버
- html
- SG
- ecr
- 모니터링
- Grafana Alert
- Workflow
- EC2
- Grafana
- 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 | 31 |