분류 전체보기 203

[Terraform] 디렉터리 구조

.terraform 의존되는 파일들이 다운로드(외부, 로컬까지도) 되어 저장되는 공간이다.내부적으로 .tfstate의 정보 포함 .teeraform.lock.hcl의존성 관련 잠금파일이다. 의존되는 파일들에 대해 명시되어 있다.git과 같은 버전관리 시스템에서 .terraform 디렉터리를 업로드하지 않고 이 파일만 업로드한다. 다른 PC/유저들은 init 명령어를 사용하여 이 파일에 명시되어 있는 의존 파일들을 다운로드한다. terraform.tfstateTerraform의 상태 파일이다. apply를 통해 실제 인프라에 적용한 결과를 기억하는 파일이다.인프라 설계 인원이 많아질 경우 이 파일을 원격으로 공유하며 사용해야한다.각 로컬에서 관리할 경우 모든 이들의 tfstate가 다르므로 인프라가 꼬일 ..

IaC/Terraform 2024.06.11

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

참고 블로그https://waspro.tistory.com/762https://medium.com/musinsa-tech/%EB%AC%B4%EC%8B%A0%EC%82%AC%EC%9D%98-%EC%97%98%EB%9D%BC%EC%8A%A4%ED%8B%B1%EC%84%9C%EC%B9%98-muse-musinsa-elasticsearch-e6355516186a https://www.elastic.co/guide/en/cloud-on-k8s/master/k8s-deploy-eck.html EFK 구성1.  ElasticSearch 구성namespace 생성 마스터 노드 생성# elasticsearch-master-configmap.yaml---apiVersion: v1kind: ConfigMapmetadata:..

AWS/Project 2024.04.24

EFK 스택(ElasticSearch+Fluentd+Kibana)

참고 블로그: https://waspro.tistory.com/762 EFKElasticSearch- 저장을 위한 모듈 - 실시간 검색/분석 기능 - 분산환경에 저장된 로그를 통합으로 수집하여 통합 저장소 역할 - 구성 요소: 마스터 노드, 데이터 노드 - NoSQL DB로 데이터의 백업/복구를 관리하는 저장소 Master 노드클러스터 관리 인덱스의 메타 데이터(생성, 삭제), 클러스터 상태 정보, 데이터 저장 Data 노드 실제로 데이터 저장 및 처리 Client 노드 클라이언트 요청을 받아들이고 처리요청을 Master 및 Data 노드로 라우팅하며, 결과를 수신하여 클라이언트에 반환검색 요청을 분산, 보안 및 인증을 관리 FluentD- 수집 및 정제를 위한 모듈 - K8S 환경에 DaemonSet으..

AWS/Service 2024.04.24

[K8S 환경에 Kafka 및 EFK 배포] TroubleShooting

Instances failed to join the kubernetes clusterInstances failed to join the kubernetes cluster새로 추가한 서브넷을 라우팅 테이블로 연결 안해둬서.. 안됐음Helm 버전 에러helm version 2 설치하니 에러 생겨서 helm version 3.14.4로 진행...참고 블로그: https://helm.sh/ko/docs/intro/install/$ curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3$ chmod 700 get_helm.sh$ ./get_helm.sh $ kubectl --namespace kube-..

AWS/Project 2024.04.19

[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

[Terraform] 용어

Terraform 키워드 terraformprovider Terraform 자체에 대한 설정을 작성하는 블록 Terraform과 외부 서비스를 연결해주는 기능 resourcedata 인프라 구성요소 Terraform 외부에 정의되어 있는 정보를 가져와서 사용할 수 있게 해주는 기능 variablelocals개발자로부터 입력받는 변수. 재사용성 O지역변수 선언 키워드. 현재 파일에서만 사용 가능outputmodule인프라에 대한 정보를 명령줄에 노출(숨기기 가능)시킬 수 있으며 자식 모듈의 output 값에 접근하여 사용할 수 있게 해주는 기능하나의 폴더 내에 있는 Terraform 구성 파일들의 집합 terraformterraform {  required_providers {    aws = {   ..

IaC/Terraform 2024.04.02

[Terraform] 환경 구성

참조 문서: https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/getting-started-install.html 1. Terraform 설치VS Code에서 Extensions > HashiCorp HCL 설치환경변수 설정 2. AWS IAM 계정 생성AccessKey 발급: AWS Console 액세스가 아닌 프로그래밍 방식 액세스가 필요하므로, 자격 증명 유형은 액세스 키 이다. 3. AWS CLI 설치https://awscli.amazonaws.com/AWSCLIV2.msi설치 확인$ aws --versionaws-cli/2.15.34 Python/3.11.8 Windows/10 exe/AMD64 prompt/off 4. 액세스 키 설정$ aws c..

IaC/Terraform 2024.04.02