docker
-
[AWS] ECS Fargate + Prometheus + Grafana (with Terraform)Infra/AWS 2024. 4. 1. 11:34
ECS Fargate에 모니터링 시스템을 구축하고자 한다. 조사해보니 Prometheus + Grafana 조합이 가장 합리적이라고 판단했다. 무료이면서 아웃풋이 괜찮다. 자세히 알고 싶다면, 검색하길 바란다. 각설하고, 주요 과정을 기록하고자 한다. 결과는 정말 별거 없지만, 삽질을 며칠 했다.. 자, 먼저 인프라 구성부터 살펴보자. 백엔드와 프론트엔드 서비스 각각에 prometheus/node-exporter container를 추가했다. terrafom 코드로 IoC 작업을 했다. ... resource "aws_ecs_task_definition" "example" { container_definitions = jsonencode([ { name = "node-exporter" image = "..
-
[Github Action] 알리바바 클라우드에 무중단 서버 배포해보기(blue/green)Infra/DevOps 2023. 7. 5. 19:07
이전 글에서 알리바바 클라우드에 서버를 배포해 보았다. 2023.06.26 - [Infra/DevOps] - How to deploy service to ECS of Alibaba Cloud.(use github actions) How to deploy service to ECS of Alibaba Cloud.(use github actions) 중국 알리바바 클라우드 ECS에 프로젝트를 빌드&배포 하는 cicd github actions를 작성했다. 기본적으로 배포는 tag로 버전 관리를 했고, tag push를 trigger로 활용했다. 도커 이미지는 기본적으로 ACR에 push bekusib.tistory.com 이번엔 무중단으로 배포를 해보려고 한다. 배포 방식은 Blue/Green을 선택했다. ..
-
How to deploy service to ECS of Alibaba Cloud.(use github actions)Infra/DevOps 2023. 6. 26. 19:16
중국 알리바바 클라우드 ECS에 프로젝트를 빌드&배포 하는 cicd github actions를 작성했다. 기본적으로 배포는 tag로 버전 관리를 했고, tag push를 trigger로 활용했다. 도커 이미지는 기본적으로 ACR에 push를 하고, ECS에서 가져온다. 알리바바 클라우드는 aws와 네이밍이 조금 다르다, EC2 = ECS ECR = ACR 기본적으로 ECS에 도커가 설치돼 있어야하고, docker-compose.yaml가 저장되는 위치에 .env 파일을 미리 업로드해 놔야한다. 빌브와 배포는 아래 yaml 코드를 활용하면 된다. 그리고 아래 글을 먼저 참고하면 이해가 쉽겠다. 2023.06.14 - [back-end] - github actions을 사용해 ec2에 docker 서버 빌..
-
github actions을 사용해 ec2에 docker 서버 빌드배포하기(ci/cd)Infra/DevOps 2023. 6. 14. 19:12
프로젝트를 클라우드 환경에서 테스트를 하는데, 매번 파일을 업로드하고 빌드/실행 하는게 번거로워서 Github Actions를 이용해 간단한 CI/CD를 만들었다. 적용된 프로젝트는 nestjs로 만든 서버이다. 1. Dockerfile 생성 나의 경우 node 18.12.1 버전으로 개발했지만, 최신 버전을 사용하려면 lts를 붙이면 된다. (latest의 약자다.) FROM node:18.12.1 ARG PORT=9090 RUN mkdir -p /usr/src/app WORKDIR /usr/src/app COPY . ./ RUN yarn install RUN npx prisma generate RUN yarn build:prod EXPOSE $PORT CMD [ "yarn", "start:prod" ..
-
(letsencrypt) error no valid A records found for ; no valid AAAA records found forBackend 2023. 4. 11. 18:40
소스코드 : https://github.com/wmnnd/nginx-certbot 무료 ssl을 발급받기 위해 letsencrypt 사용하려고 한다. 맥북환경에서 같은 작업을 했을때 계속 되지 않아서, AWS에 ubuntu ec2를 생성해서 시도해봤다. 작업 도중 아래와 같은 에러가 발생했다. $ sudo ./init-letsencrypt.sh 도메인 레코드가 A 또는 AAAA가 아니라고 한다. 말도 안된다. 분명하게 A라도 적혀 있다. 하지만, 도메인을 cafe24에서 발급 후 aws에 네임서버를 등록한 상태라, 그 부분이 좀 걸렸다. 구글링 중 아래 캡쳐를 보면 public한 IP 주소를 사용해야 한다고 한다. 이거 때문인가? 의문이 생겼다. 결과는 위의 이유가 아니었다. 도메인과 연결된 웹 사이트가..
-
[AWS] EKS 시작하기(2) - EKS 시작Infra/AWS 2020. 7. 24. 19:10
2020/07/24 - [aws] - [AWS] EKS 시작하기(1) - 사전 준비과정 (ECR & Tools) 이번엔 앞 포스터에 이어서 EKS로 서버를 배포해본다. IAM Role 생성 EKS 생성시 적용시킬 Role을 만든다. 'Create role' 버튼 클릭 AWS service -> EKS -> EKS = Cluster 선택 다음 다음 완료 CloudFormation Stack 생성 Create stack -> With new resources(standard) 아래 주소 복사 https://amazon-eks.s3.us-west-2.amazonaws.com/cloudformation/2020-06-10/amazon-eks-vpc-private-subnets.yaml Amazon S3 URL에..
-
[AWS] EKS 시작하기(1) - 사전 준비과정 (ECR & Tools)Infra/AWS 2020. 7. 24. 14:33
ECR에 도커 이미지 PUSH IAM User 생성 (access key / secret key 발급) 사전 준비 kubectl 설치 $ curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/darwin/amd64/kubectl" % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 47.8M 100 47.8M 0 0 10.1M 0 0:00:04 0:00:04..