본문 바로가기
  • lakescript

aws25

[AEWS] 5-1. Amazon EKS - Autoscaling (HPA, KEDA, VPA) 사전 준비 더보기 위와 같이 사전 준비가 필요합니다. 저번 글에서 설명했듯이, EKS를 배포하기 위한 VPC를 생성하고, Public Subnet, Private Subnet을 생성합니다. 그 후 EKS Cluster에 접근하기 위한 bastion EC2를 미리 생성합니다. 추가로 지난번 실습 때 진행했었던 ExternalDNS와 AWS LB Controller, EBS csi driver 설치, gp3 스토리지 클래스 생성까지 해주시고, Prometheus와 Grafana까지 설치합니다. Autoscaling ChatGPT가 알려주는 Autoscaling Autoscaling은 컴퓨팅 리소스를 자동으로 조정하여 애플리케이션의 성능을 최적화하고 비용을 관리하는 기술입니다. 애플리케이션의 요구사항이 변할 .. 2024. 4. 1.
[AEWS] 4-3. Amazon EKS - Observability (Grafana) 사전 준비 더보기 위와 같이 사전 준비가 필요합니다. 저번 글에서 설명했듯이, EKS를 배포하기 위한 VPC를 생성하고, Public Subnet, Private Subnet을 생성합니다. 그 후 EKS Cluster에 접근하기 위한 bastion EC2를 미리 생성합니다. 추가로, 지난번 실습 때 진행했었던 ExternalDNS와 AWS LB Controller, EBS csi driver 설치, gp3 스토리지 클래스 생성까지 해주셔야합니다. 4-2. Amazon EKS - Observability (Prometheus) 에서 이어집니다. Grafana Grafana란? Grafana란 시계열 매트릭 데이터를 시각화하여 최적화된 대시보드를 제공해주는 오픈소스이며, Prometheus를 통해 수집된 T.. 2024. 3. 29.
[AEWS] 4-2. Amazon EKS - Observability (Prometheus) 사전 준비 더보기 위와 같이 사전 준비가 필요합니다. 저번 글에서 설명했듯이, EKS를 배포하기 위한 VPC를 생성하고, Public Subnet, Private Subnet을 생성합니다. 그 후 EKS Cluster에 접근하기 위한 bastion EC2를 미리 생성합니다. 추가로, 지난번 실습 때 진행했었던 ExternalDNS와 AWS LB Controller, EBS csi driver 설치, gp3 스토리지 클래스 생성까지 해주셔야합니다. 이번 포스팅에는 이전에 포스팅했던 블로그 글 에서 많이 인용하였습니다. Prometheus Prometheus란? Prometheus는 SoundCloud에서 처음 개발된 오픈 소스 시스템 모니터링 및 알림 툴킷입니다. 2012년에 시작된 이후로 많은 회사와 조.. 2024. 3. 29.
[AEWS] 3-2. Amazon EKS - NodeGroup (ARM Instance, Spot Instance) 사전 준비 더보기 위와 같이 사전 준비가 필요합니다. 저번 글에서 설명했듯이, EKS를 배포하기 위한 VPC를 생성하고, Public Subnet, Private Subnet을 생성합니다. 그 후 EKS Cluster에 접근하기 위한 bastion EC2를 미리 생성합니다. Amazon EKS NodeGroup ChatGPT가 알려주는 Amazon EKS의 NodeGroup Amazon EKS의 Node Group은 EKS 클러스터 내에서 애플리케이션을 실행하는 데 사용되는 워커 노드(또는 서버)의 집합입니다. EKS를 사용하면 Kubernetes 애플리케이션을 AWS 클라우드 인프라상에서 쉽게 실행, 관리 및 확장할 수 있습니다. 즉, Worker Node로 사용할 EC2 Instance의 묶음이라고 .. 2024. 3. 21.
[AEWS] 3-1. Amazon EKS - Storage (EBS, EFS) 사전 준비 더보기 위와 같이 사전 준비가 필요합니다. 저번 글에서 설명했듯이, EKS를 배포하기 위한 VPC를 생성하고, Public Subnet, Private Subnet을 생성합니다. 그 후 EKS Cluster에 접근하기 위한 bastion EC2를 미리 생성합니다 Kubernetes Storage Pod는 stateful하게 관리되는 리소스가 아니고 상태가 없는(Stateless) 애플리케이션이기 때문에 영구 스토리지가 없으면 Pod가 충돌하거나 종료되고, Pod의 데이터는 손실됩니다. 하지만 DB나 여러가지 데이터를 담고 있는 컨테이너들을 Pod로 만들어야 할 때 그 데이터들을 영구적으로 보존되게 해야 합니다. Kubernetes에서 Volume이라는 형태의 Storage 리소스를 제공하는데,.. 2024. 3. 19.
[AEWS] 2-5. Amazon EKS Networking - ExternalDNS 사전 준비 더보기 위와 같이 사전 준비가 필요합니다. 저번 글에서 설명했듯이, EKS를 배포하기 위한 VPC를 생성하고, Public Subnet, Private Subnet을 생성합니다. 그 후 EKS Cluster에 접근하기 위한 bastion EC2를 미리 생성합니다. ExternalDNS ChatGPT가 알려주는 ExternalDNS Kubernetes 클러스터 내의 서비스나 Ingress 리소스가 변경될 때 자동으로 DNS 레코드를 생성하거나 업데이트하는 역할을 합니다. 즉, K8s Serivce나 Ingress 생성 시 도메인을 설정하면, AWS(Route 53), Azure(DNS), GCP(Cloud DNS)에 A 레코드(TXT 레코드)로 자동으로 생성 및 업데이트 해주는 service t.. 2024. 3. 14.
[AEWS] 2-4. Amazon EKS Networking - Ingress 사전 준비 더보기 위와 같이 사전 준비가 필요합니다. 저번 글에서 설명했듯이, EKS를 배포하기 위한 VPC를 생성하고, Public Subnet, Private Subnet을 생성합니다. 그 후 EKS Cluster에 접근하기 위한 bastion EC2를 미리 생성합니다. Ingress ChatGPT가 알려주는 Ingress Ingress는 클러스터 외부에서 내부의 서비스로 HTTP와 HTTPS 트래픽을 관리하는 방법을 제공하는 API 객체입니다. 즉, Ingress를 사용하면 외부 요청을 적절한 서비스로 라우팅 할 수 있으며, 단일 IP 주소를 통해 클러스터 내의 여러 서비스에 접근할 수 있게 됩니다. 이는 특히 웹 애플리케이션에 유용하며, 로드 밸런싱, SSL 종료, 이름 기반의 가상 호스팅 등을 .. 2024. 3. 13.
[AEWS] 2-3. Amazon EKS Networking - Service 사전 준비 더보기 위와 같이 사전 준비가 필요합니다. 저번 글에서 설명했듯이, EKS를 배포하기 위한 VPC를 생성하고, Public Subnet, Private Subnet을 생성합니다. 그 후 EKS Cluster에 접근하기 위한 bastion EC2를 미리 생성합니다. Kubernetes Service란? Kubernetes에서 Pod는 언제든지 다른 노드로 이동하거나 삭제될 수 있습니다. 즉, 상태를 유지하지 않습니다.(stateless) 이렇게 이동되거나 생성될 때마다 새로운 IP를 할당받게 됩니다. 이로 인해 Pod는 외부와 지속적으로 통신하기엔 어려움이 있습니다. Kubernetes Service는 Cluster내에서 Pod들을 외부와 통신할 수 있도록 고정적인 IP를 부여하고 애플리케이션을.. 2024. 3. 13.
[AEWS] 1-3. terraform으로 EKS Cluster 배포하기 들어가며 eks cluster를 배포하는 방법에는 AWS managed console에서 직접 리소스를 클릭하면서 설정하여 배포하는 방법이 있고, eksctl, cloudformation, terraform 등의 방식이 있습니다. 이전 포스트에서 eksctl로 eks cluster를 배포하는 실습을 진행하였는데, 요즘 가장 많이 쓰는 IaC인 terraform을 통해 배포해보자! 싶은 생각이 들어 바로 진행해보았습니다. terraform 설치 먼저 테라폼을 설치해보겠습니다. Amazon Linux라는 전제하의 아래의 명령어로 설치해줍니다. 만약 다른 OS라면 공식문서를 참고해보세요! sudo yum install -y yum-utils sudo yum-config-manager --add-repo htt.. 2024. 3. 7.
[AEWS] 1-2. Amazon EKS Cluster 배포 AWS Resource 설정 이 글에선 작성되어 있지 않지만 이 포스팅을 원활히 이해하기 위해서는 VPC와 Subnet4개(public 2개, private 2개), 작업용 EC2 1대( 자신의 IP만 허용되는 보안그룹)을 먼저 생성해주셔야 합니다. 이 포스팅은 EKS Cluster에 대한 내용임으로 해당 리소스 생성에 대한 실습은 작성하지 않았습니다. 위 사진을 토대로 구성될 AWS Resource들을 살펴 보겠습니다. EKS Control Plane은 AWS에서 직접 관리를 해주기 때문에 신경쓰지 않으셔도 됩니다. 다만, WorkerNode(Data Plane)는 직접 관리를 해주어야 하기 때문에 이를 위해 Customer VPC를 192.168.0.0/16 으로 생성합니다. 그 후 PublicSub.. 2024. 3. 5.