AWS 77

[K8S 환경에 Kafka 및 EFK 배포] EKS 구성

1.  AWS CLI 설치로컬 환경에 AWS CLI 설치https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/install-cliv2.html AccessKey 생성$ aws configureAWS AccessKey ID [********HTZD]:AWS Secret Access Key [******RhfT]:Default region name [ap-northeast-2]:Default output format [json]: 2.  Kubectl 설치로컬에서 쿠버네티스 클러스터를 kubectl로 제어해야하므로 로컬 OS에 맞게 curl로 kubectl을 설치한다. kubectl 설치https://docs.aws.amazon.com/eks/latest/user..

AWS/Project 2024.04.18

AWS EKS

참고 블로그: https://velog.io/@rockwellvinca/EKS-AWS-EKS%EC%9D%98-%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0-%EC%97%94%ED%8A%B8%ED%8F%AC%EC%9D%B8%ED%8A%B8%EB%9E%80 EKS(Elastic Kubernetes Service) Public + Private Endpoint Access EKS Cluster: Public + Private Control Plane(api server): Public Worker Node: Private Nodegroup 생성할 때, Nodegroup에 왜 Public Subnet 할당이 안되나 했음 ㅡㅡ (에러는 해당 서브넷이 IPv4 자동 Public IP 할당 활성화..

AWS/Service 2024.04.15

[K8S 환경에 Kafka 및 EFK 배포] 구성도

참고 블로그https://potato-yong.tistory.com/126https://coding-start.tistory.com/m/383 쿠버네티스 로깅 파이프라인 이번에 CKA 자격증 따면서 배운 쿠버네티스와 AWS 강의 들으며 흥미 돋은 Kafka와EFK 조합을 사용하여 쿠버네티스 로깅 파이프라인을 구성해보려고 한다.  구성도fluentd  →  kafka  →  elasticsearch  →  kibana  →  visualizationlogstash 없어도 될듯 ..?  fluentd 여러 다양한 리소스에서 로그 및 이벤트를 수집하여 이를 여러 대상으로 전달하도록 설계주로 컨테이너 로그 수집daemonset으로 생성 kafkahelm을 사용하여 설치  (https://coding-start..

AWS/Project 2024.04.08

Amazon MSK

참고 블로그: https://velog.io/@dlatkdrb980219/AWS-MSKApache KafkaProducer∙ 메세지(이벤트)를 생산(Write)하는 주체∙ 프로듀서는 메세지 전송 시 토픽을 지정∙ 파티션은 라운드로빈 방식 혹은 파티션 번호를 지정하여 넣을 수 있음∙ 같은 키를 갖는 메세지는 같은 파티션에 저장되며 순서 유지Kafka 클러스터∙ Kafka의 Broker들의 모음∙ Kafka는 확장성과 고가용성을 위해 Broker들이 클러스터로 구성되어 있다.Broker∙ 각각의 Kafka 서버∙ 메시지를 저장하고 복제하는 서버∙ 동일 노드에 여러 Broker를 띄울 수 있다.Zookeeper∙ Kafka 클러스터 정보 및 분산처리 관리 등 메타 데이터가 저장된 스토리지∙ Kafka를 띄우기..

AWS/Service 2024.04.04

DocumentDB mongo셸로 DB 접근 및 Fail-over(장애 조치)

Mongo 셸 통해 DB 접근 참고 문서: https://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/connect-ec2.html#connect-ec2.connect Amazon Linux에서 mongo 셸 설치 리포지토리 파일 생성 echo -e "[mongodb-org-5.0] \nname=MongoDB Repository\nbaseurl=https://repo.mongodb.org/yum/amazon/2/mongodb-org/5.0/x86_64/\ngpgcheck=1 \nenabled=1 \ngpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc" | sudo tee /etc/yum.repo..

AWS/Project 2024.02.09

AWS Backup

AWS Backup 백업 계획 백업 시간과 백업 대상 리소스 등을 정의하는 정책 표현식이다. AWS Backup은 자동으로 백업 계획에 따라 자동으로 백업을 작성하고 유지한다. 유의할 점은 Daily 백업과 Monthly 백업을 함께 지정할 경우, Monthly 백업은 실행되지 않고, Daily 백업만 실행된다. 백업 볼트 백업에 대한 메타 데이터 저장소이다. 정상적인 백업 내역을 확인할 수 있는 부분이다. 유의할 점은 백업 계획당 백업 볼트 하나만 지정할 수 있으므로 백업 대상 리소스가 1개 초과일 경우에는 리소스별 백업 계획 및 백업 볼트를 각각 구성하는 것을 권장한다. 운영팀 입장에서, 모든 리소스에 대한 백업 내역을 한 대시보드로 관리하기는 어렵기 때문이다. 리소스 할당 IAM 기본 역할로 백업 ..

AWS/Service 2024.02.09

Security Group(보안그룹)

공통 Source IP들을 대상으로 여러 포트를 Open해야할 경우, Source IP들을 리스트로 만들면 보안그룹을 만들때마다 일일이 지정하지 않고 한 번에 지정할 수 있어 편리하다. 이는 SG in SG 으로는 불가하고, Prefix List 를 생성하여 지정해야 했다. Managed Prefix List(관리형 접두사 목록) 접두사 목록의 최대 항목이 30인데, 처음에 생성될 때 접두사 목록을 2개만 작성해도 최대 사이즈인 30으로 잡히므로 접두사 목록 크기 조정으로 조정이 필요하다. 접두사 목록이 5개 항목이 있다고 가정할 경우, 단점은 보안그룹을 생성할 때, 규칙 하나에 포트와 접두사 목록을 연결한다면 규칙이 5개 (포트* 접두사 항목 수)로 카운팅 된다는 것이다. 그래서 보안그룹 내 규칙 갯수..

AWS/Service 2024.02.09

AWS ALB (Application LoadBalancer)

ALB 규칙을 사용해 http를 https로 리다이렉션다음은 ALB 리스너 및 규칙이다.크게 HTTP:80과 HTTPS:443으로 리스너를 구성하였다http로 들어온 트래픽은 https로 리다이렉션하기 위해 http:80으로 들어온 트래픽은 https로 리다이렉션한다. 다음은 HTTPS:443 리스너 규칙이다.기본값은 고정 응답 코드 200을 반환하도록 구성한다.400으로 구성할 경우, ALB HealthCheck할 때 정상적으로 확인이 안되므로 유의한다. ALB TargetGroup HealthCheck보통 개발자들에게 healthcheck 용 더미(웹페이지)를 제공 받는다.상태 검사 경로는 상대경로이다.서버 내 해당 트래픽 포트로 돌고 있는 응용 프로그램의 루트 경로에서부터 healthcheck 페이..

AWS/Service 2024.02.09

AWS LandingZone

참고 사이트: https://www.lgcns.com/blog/cns-tech/aws-ambassador/40970/ Landing Zone(랜딩 존) 랜딩 존은 확장성과 안전성을 갖춘 잘 설계된 다계정 AWS 환경이다. 매번 집을 지을 때마다 수도관, 가스관 작업을 일일이 하면서 복잡해졌다. 기존 구성의 보수작업 및 신규 작업이 더 어려워지고 시간, 비용, 효율성, 관리 면에서 문제가 발생한다. 바로 여기서 랜딩존의 장점이 나타난다. 처음 기반 작업을 할때 아예 언제든 확장이 가능한 구조로 수도관, 가스관, 전기선을 포설한다. 즉, 이후 들어오는 집은 그저 연결만 하면 된다. 랜딩 존도 계정 및 네트워크, 보안 요소가 이미 완성되어 있기 때문에, 랜딩 존 위에 또다른 새로운 시스템을 구축하고자할 때, ..

AWS/Service 2024.01.14