목록Infra (8)
고딩왕 코범석
안녕하세요! 지난 포스팅에서는 ECS 환경을 구축해보았습니다. 이번에는 Github Actions를 이용해 CI / CD 과정을 자동화해보겠습니다. 이번 포스팅은 아래와 같이 진행되며, 깃허브 리파지토리가 있다는 가정하에 시작합니다. 또한 Github Actions 관련한 기초적인 내용은 포스팅에서 제외합니다! 외부에서 AWS에 접근할 IAM 사용자 생성 및 정책 연결 IAM 사용자 정보를 Github Secret에 저장 Github Actions 스크립트 작성 task-definition.json 정의 실행 후 결과 확인하기 1. 외부에서 AWS에 접근할 IAM 사용자 생성 및 정책 연결 먼저 외부에서 AWS 서비스에 접근하려면 인증된 사용자가 필요합니다. 따라서 AWS IAM 사용자를 만들어야합니다...
안녕하세요! 이번에는 ECS EC2 환경을 구축해보는 포스팅을 진행해보겠습니다. 순서는 아래와 같이 진행됩니다. 이미지 아키텍처 관련하여 이슈가 있습니다. ECR에 이미지를 푸시할 때 --platform arm64로 빌드 후 다시 푸시해주세요. 이 내용은 맨 밑에 '컨테이너 확인과 실수'에 작성되어있습니다. ECS 클러스터 생성 태스크 정의 생성 서비스 생성 컨테이너 확인과 실수 1. ECS 클러스터 생성 AWS 콘솔에서 'Elastic Container Service'를 검색하여 접속해줍니다. ECS 콘솔에서 '클러스터 > 클러스터 생성'을 눌러줍니다. 클러스터 이름, 네트워킹, 인프라를 설정해야하는데요. 네트워킹 항목에서 저번 ECS 준비 포스팅에서 로드밸런서를 만들 때 설정했던 서브넷(가용 영역, ..
안녕하세요! 이번 포스팅에서는 ECS를 적용하기 전, 사전에 준비할 항목들을 포스팅해보겠습니다. 준비할 항목들은 아래의 순서로 진행됩니다. 포스팅을 보기 전 실험삼아 배포해볼 애플리케이션 이미지를 준비해주세요! ECR 생성 ECR에 샘플 이미지 푸시 IAM 역할 생성 보안 그룹 설정 1. ECR 생성 AWS 콘솔에서 Elastic Container Registry를 검색 후 들어가줍니다. 그리고 리포지토리 생성을 위해 시작하기를 눌러줍니다. 프라이빗 리파지토리로 설정하고, 리포지토리 이름을 붙인후 밑으로 스크롤하여 생성합니다. 2. ECR에 샘플 이미지 푸시 이제 샘플로 만든 애플리케이션 이미지를 지금 만든 ECR에 푸시해보겠습니다. 생성 직 후 만든 리포지토리에 들어가서 푸시 명령 보기를 눌러줍니다. ..
안녕하세요! 이번 포스팅에서는 AWS VPC 환경을 구축해보겠습니다. 먼저 이번 포스팅 진행 순서는 VPC 개념 VPC 구축 의 순서로 진행해보겠습니다. VPC 개념 VPC(Virtual Private Cloud) 개념 VPC는 사용자가 정의하는 가상 네트워크 입니다. 만약, EC2를 VPC 없이 생성하게 된다면 구분 없는 연결로 인해 복잡도가 늘어나며 비효율적일 것입니다. 만약 이 VPC를 통해 하나의 네트워크 공간에 묶어서 자원들을 할당한다면 묶은 네트워크 공간을 구분할 수 있고, 이 공간에 따라 설정할 수 있을 것입니다. 그림으로 표현해보면 아래와 같습니다. 이 VPC를 구축하기 위해서는 사설 아이피 대역으로 맞춰야합니다. 사설 아이피는 우리끼리 사용하는 아이피 주소 대역이며, 내부 네트워크 내에서..
안녕하세요! 이번 포스팅은 저번 시간까지 설정했던 수동 빌드 상태에서 지정된 git repository에 push가 되면 자동으로 빌드하는 과정을 살펴보겠습니다. 먼저, Webhook을 추가하기 위해 추가한 프로젝트의 repository에서 settings > webhooks > Add webhook를 클릭해주세요. 그 다음, Payload URL에 http://{젠킨스url}/github-webhook/을 기입해주고 완료를 누릅니다. 아참! 첫번째 포스팅부터 EC2에서 진행했기 때문에 EC2에 보안그룹규칙을 추가해야 합니다. https://api.github.com/meta에 가셔서 hooks에 있는 url들을 보안그룹 인바운드 규칙에 추가해줍시다. 추가하셨다면, 젠킨스에 플러그인을 설치해야합니다. G..
안녕하세요! 이번 시간에는 Github에서 코드를 푸시했을 때, 젠킨스가 자동으로 빌드하는 과정을 포스팅하려고 합니다. 진행하기 전에 저는 우선 스프링 프로젝트를 깃 레포지토리에 등록한 상황이고, 이번 포스팅에서는 수동으로 build 하는 것 까지만 진행할 예정입니다. blue green 배포를 하기 위해서는 조금 더 공부가 필요해서 빠른 시간내에 포스팅 하도록 하겠습니다. 바로 시작해볼게요! 먼저, 앞에 포스팅에서 진행했던 젠킨스를 접속한 다음, Jenkins 관리 > 플러그인 관리를 들어가서 Publish Over SSH 플러그인을 다운받아 줍시다. 다운로드 받은 후 재시작을 통해 성공적으로 플러그인이 다운받아졌는지 확인해봅시다. 방금과 똑같은 위치에서 설치된 플러그인 목록에서 Publish Over..
안녕하세요! 이번 포스팅에서는 jenkins를 aws ec2에서 설치하는 시간을 가져보겠습니다. 우선 본인의 ec2를 생성해주세요! 저는 ubuntu 20.04 환경에서 진행하도록 하겠습니다. 먼저, docker를 설치해야겠죠? ec2를 접속해주신 다음, 다음 명령어들을 실행해주세요. docker 공식 문서를 참조했습니다. sudo apt-get update # https에서 docker repository를 사용하게끔 해주기 sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release # gpg key 추가 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo g..
안녕하세요! 이번 시간에는 따라하며 배우는 도커와 CI환경 강의를 듣고 정리한 내용들을 포스팅해보겠습니다. 그럼 잘부탁드리겠습니다! 언제나 피드백은 환영해요! Docker????? 도커는 컨테이너 기반의 오픈소스 가상화 플랫폼입니다. 다양한 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이스로 제공하여 프로그램의 배포 및 관리를 단순하게 해줍니다. Docker의 사용 이유 어떤 프로그램 인스톨러를 다운로드 할 때, 이 인스톨러는 본인이 사용하는 pc의 os에 영향을 받습니다. 인스톨러 다운로드 사이트를 들어갈 때, 윈도우용 exe, 맥용 exe, 리눅스용 exe 으로 나눠져 있는 것 처럼요. 인스톨러를 다운 받고 실행할 때, 자신의 환경이 맞다 하더라도 분명 에러가 발생할 가능성이 있습니다. 도..