Category AWS

how-to-use AWS

EKS – Spring 프로젝트 ECR 업로드

Spring 프로파일 설정 이해 프로파일 구조 Spring 프로젝트에는 환경별로 다른 설정을 사용하기 위한 프로파일 시스템이 있다 프로파일 활성화 메커니즘 application.yml 이 설정을 prod로 변경하면 application-local.yml application-prod.yml 핵심: application.yml의 default 값과 각 프로파일 파일의 on-profile 값이 일치하면 해당 파일이 적용된다 Kubernetes…

EKS – Spring 배포를 위한 인프라 구성

배포 절차 개요 전체 배포 단계 사전 준비 상태 확인 다음 자원들이 이미 구성되어 있다고 가정한다 만약 클러스터가 완전히 새로운 상태라면, Route53 호스팅 영역 생성과 Ingress Controller 설치를 먼저 진행해야 한다 Amazon RDS 생성 및 설정 RDS 생성 AWS Console…

EKS – Spring 백엔드 서버 배포 아키텍처

Spring 백엔드 서버 배포는 두 단계로 진행한다 MSA와 Kubernetes를 같이 사용하는 이유 MSA 아키텍처는 Kubernetes와 궁합이 매우 잘 맞는다 따라서 MSA 아키텍처를 사용하는 기업에서는 Kubernetes(특히 EKS)로 배포 환경을 구성하는 경우가 많다. MSA 서버 배포까지 경험해야 Kubernetes 배포를 제대로 이해했다고 할…

EKS – Kubernetes Ingress

Ingress가 필요한 이유 Pod 접근의 한계 Kubernetes 클러스터가 구성되어 있다고 가정해보자. 컨트롤 플레인이 하나 있고, 워커 노드가 2대 실행되고 있다. 각 워커 노드에 Pod가 하나씩 배포되어 있는 상황이다 사용자가 Pod 안에서 실행 중인 애플리케이션의 데이터를 받으러면 어떻게 해야 할까? Pod로…

EKS – Kubernetes Deployment

Deployment의 기본 원리 및 ReplicaSet과의 관계 Deployment 스크립트 (nginx_deployment.yml) 롤링 업데이트 (Rolling Update) 전략 롤백 (Rollback)기능 latest 태그 이미지 관리 및 kubectl rollout restart 활용 실습 명령어 요약 Deployment 및 Service 생성 ReplicaSet 확인 Deployment 확인 Pod 확인 Nginx 버전…

EKS – Kubernetes ReplicaSet

Kubernetes에서 ReplicaSet과 Deployment는 Pod의 복제본을 생성하고 안정적으로 유지 관리하는 핵심 자원이다 ReplicaSet의 역할 ReplicaSet Yaml 실습을 통한 확인 nginx_replicaset.yml (ReplicaSet과 Service 정의) 자원 배포 Pod, Service, ReplicaSet 상태 확인 Pod 삭제 시 자동 복구 확인 Service를 통한 로그 밸런싱 확인…

EKS – Kubernetes Service

Kubernetes Service 클러스터 내에서 실행 중인 Pod 그룹에 안정적인 네트워크 접근 방법을 제공해주는 추상화된 자원이다. 이는 Pod의 동적인 생성 및 삭제, IP 주소 변경에 유연하게 대응하여 애플리케이션의 지속적인 접근성을 보장한다. Service는 기본적으로 로드 밸런싱과 라우팅 기능을 수행하며, 클러스터 내부의 다른…

EKS – Kubernetes Pod 생성 및 관리

Kubernetes에서 Pod를 생성하는 방법은 크게 두 가지가 있다. 명령줄 인터페이스(CLI)를 이용하는 방식과 YAML 스크립트를 이용하는 방식이다 명령줄 인터페이스(CLI)를 이용한 Pod 생성 kubectl run 명령어를 사용하여 Pod를 즉시 생성할 수 있다 Pod 생성 명령어 Pod 확인 Pod가 생성되었는지 확인한다. 기본적으로 default…

EKS – Kubernetes의 핵심 Pod

Kubernetes에서 가장 기본적인 배포 단위이자 핵심 개념은 바로 Pod(파드)이다. Pod는 Kubernetes 클러스터에서 실행되는 애플리케이션의 단일 인스턴스를 나타내며, 하나 이상의 컨테이너로 구성될 수 있다 Pod의 기본 개념 Cluster 내에 여러 Node가 있고 각 Node 안에는 Pod들이 존재하며, Pod 안에는 Container들이 포함되어…

EKS – Kubernetes 네임스페이스 이해 및 활용

Kubernetes 클러스터는 여러 개의 노드로 구성되며, 이 노드들은 다양한 애플리케이션과 서비스를 호스팅한다. 효율적인 자원 관리와 논리적인 분리를 위해 Kubernetes는 네임스페이스(Namespace)라는 개념을 도입했다. 네임스페이스는 클러스터 내의 리소스(Pod, Service, Deployment 등)를 논리적인 단위로 구분하는 역할을 한다 네임스페이스의 필요성 대규모 Kubernetes 환경에서는 여러…