본문 바로가기

반응형

⌛ AWS 인프라 구성하기 (MiniProject)/✅ 개발환경 구성 (EKS)

(15)
EKS + CI/CD 구성하기 (1) - CodeBuild 생성 1. Git Repository 생성 Git Hub에 CodeBuild에서 사용할 Repository를 생성 한다. Repository의 이름은 eks-cicd-test 라고 설정한다. 2. AWS CodeBuild 생성 AWS CodeBuild 서비스로 이동 후 서비스를 생성한다. 코드빌드 → 빌드프로젝트 → 빌드 프로젝트 생성 클릭하여 아래와 같이 생성을 진행 한다. Source provider를 GitHub를 지정하고 Github에 인증하여 이전에 생성해둔 Repository를 사용 한다. Environment 에서는 아래와 같이 설정해준다. CodeBuild에서 도커 빌드를 진행할 예정이기 때문에 Privileged를 체크를 한다. 다음과 같이 EKS에 사용했던 VPC와 subnet을 추가해준다...
(미완성) CI/CD 환경 구성 (1) # 이전에 배포한 EKS 클러스터 환경에 CI/CD를 붙여보자. 구성할 CI/CD 배포 프로세스는 아래와 같다. # 위의 구성도를 활용하여 실제 CI/CD 파이프라인을 구성 해보자. 1. 우선 ArgoCD가 바라봐야할 Repository를 생성 한다. 여기서는 저장소를 ECR로 할 예정이므로 ECR 레포지토리에서 저장소를 생성 한다. 저장소의 이름은 cd-test-api-yaml 이라고 설정 하고 유형은 프라이빗으로 설정 한다. 2. EKS 환경에서 ArgoCD 설치 EKS 환경에서는 일반적인 로컬 환경과는 다르게 설정해야할 부분이 존재한다. 하나하나씩 설정을 진행하며 수행해보자. 첫번째, ArgoCD 설치 아래 명령어를 입력하여 Namespace를 생성하고 생성한 Namespace에 Argocd를 설치..
5. 생성한 이미지를 ECR로 업로드 하기 1. image를 tag하고 ECR로 Push 하기 - ECR에 로그인 하기 위해서는 접속한 인스턴스에 보안그룹 > IAM 역할 수정에서 해당 권한에 맞는 역할을 부여 해줘야 한다. - aws configure를 통해 보안자격증명을 등록해 준다. - 이미지를 태그 후 push 하기위해 Docker image를 생성한 서버에서 ECR로 로그인 한다. - 로그인은 아래의 명령어를 활용하여 진행한다. ECR login 수행 sudo $(aws ecr get-login --no-include-email --region ap-northeast-2) 2. Login Succeeded 메시지가 떴다면 정상적으로 로그인이 된 것으로 볼 수 있다. - 빌드위한 docker image 확인 ubuntu@ip-192-168..
4. 수동으로 Source 빌드 후 배포하기 # 예제 애플리케이션으로 개발한 게시판 프로그램 # 해당 게시판 프로그램을 dockerfile로 작성 후 빌드, ECR에 업로드를 수행 한다. 1. 소스코드 확인 해당 소스코드는 SpringBoot + mustache + html + javascript를 활용하여 개발 되었다. 해당 소스코드를 mobaxterm를 활용하여 BastionHost 서버로 옮긴다. 2. 빌드를 위한 dockerfile 작성 vim dockerfile 명령어를 통해 파일을 작성 한다. FROM adoptopenjdk:11-jdk-hotspot AS builder COPY gradlew . COPY gradle gradle COPY build.gradle . COPY settings.gradle . COPY src src RUN ..
3.EKS ALB 구성하기 & 테스트 Nginx 웹 서버 배포 # AWS Load Balancer Controller 관련 설치 정보 https://docs.aws.amazon.com/eks/latest/userguide/aws-load-balancer-controller.html Installing the AWS Load Balancer Controller add-on - Amazon EKS If your nodes don't have access to the Amazon EKS Amazon ECR image repositories, then you need to pull the following image and push it to a repository that your nodes have access to. For more information on how ..
2.EKS 기본 아키텍처 구성하기 (EKS 인프라 구성) # EKS 기본 아키텍처를 기반으로 인프라 구축하기 2022.05.11 - [AWS 인프라 구성하기 (MiniProject)/개발환경 구성 (EKS)] - EKS 기본 아키텍처 구성하기.1 (WorkFlow) EKS 기본 아키텍처 구성하기.1 (WorkFlow) # EKS 기본 구성도 기본 아키텍처는 EC2의 기본 아키텍처과 매우 비슷하다. 단지 Private Subnet에 어떤 자원이 존재하는가에 따른 차이만 다르다. EC2 기본 아키텍처에는 EC2 인스턴스가 존재 하였지만 may9noy.tistory.com 1. Network 리소스를 설치 (VPC, Subnet, 등등) CloudFormation을 통한 네트워크 리소스를 설치한다. 내용은 AWS에서 기본으로 제공하는 자료이고 아래와 같다. 아래의 ..
1.EKS 기본 아키텍처 구성하기 (WorkFlow) # EKS 기본 구성도 기본 아키텍처는 EC2의 기본 아키텍처과 매우 비슷하다. 단지 Private Subnet에 어떤 자원이 존재하는가에 따른 차이만 다르다. EC2 기본 아키텍처에는 EC2 인스턴스가 존재 하였지만 EKS 기본 구성에는 Worker Node가 구성된다. 차이점은 EKS 구성에는 Master Node가 VPC 외부에 존재하여 Worker Node를 컨트롤 한다는 점이다. ① 유저는 사용자와 개발자 등 모두를 포함하는데 유저들은 인터넷을 통해 요청을 수행한다. ② 인터넷 환경을 통한 접근이다. ③ 인터넷 환경을 통해 인터넷 게이트웨이로 접근을 한다. ④ 인터넷 게이트 웨이를 통해서 public 망으로 접근한 트래픽은 ALB에서 우선적으로 받는다. ⑤ ALB를 통해서 들어온 트래픽은 부하를..

728x90
반응형