1. CORS 개요CORS란?CORS(Cross-Origin Resource Sharing)는 웹 브라우저에서 다른 출처(origin)의 리소스에 접근할 수 있도록 하는 보안 메커니즘입니다. 여기서 "출처"란 프로토콜(http/https), 도메인, 포트의 조합을 의미합니다. 왜 필요한가?- Same-Origin Policy(동일 출처 정책): 브라우저는 보안상의 이유로 다른 출처의 리소스 접근을 제한합니다.- 현대 웹에서는 프론트엔드와 백엔드가 서로 다른 도메인에 호스팅되는 경우가 많아 CORS 설정이 필수적입니다. 2. CORS 동작 원리Preflight 요청브라우저는 실제 요청 전에 OPTIONS 메서드를 사용해 서버에 예비 요청(preflight)을 보냅니다. httpOPTIONS /api/da..
오픈 소스 인프라 관리 툴 OpenTofu의 1.9.0-alpha1 프리릴리즈가 공개되었습니다. 이 버전은 여러 커뮤니티 기여를 반영한 다양한 개선 사항과 기능을 제공합니다. 특히 다중 리전 및 특정 리소스 관리의 유연성을 높여주는 새로운 기능들이 추가되었는데, 본 포스팅에서는 주요 기능과 주의사항을 상세히 살펴보도록 하겠습니다. Terraform과 마찬가지로 OpenTofu는 for_each를 통해 다중 리전 인프라 배포 시 코드 효율성을 크게 높이며, -exclude 옵션을 통해 특정 리소스를 제외한 계획 수립을 지원합니다. OpenTofu 1.9.0-alpha1의 주요 기능1. for_each 프로바이더 구성 블록OpenTofu는 프로바이더 블록에서도 for_each 구문을 활용해 여러 인스턴스를 ..
RabbitMQ IntegrationAgentRabbitMQ의 Prometheus 플러그인 버전은 Datadog Agent의 Python 3 지원이 필요하므로 Agent v6 이상에서만 지원될 수 있습니다. 통합의 Prometheus 플러그인 버전을 구성하기 전에 에이전트가 업데이트 되었는지 확인해야 합니다.rabbitmq.d/conf.yamlinit_config:instances: - prometheus_plugin: url: http://:15692prometheus_plugin옵션을 사용할 때 관리 플러그인과 관련된 설정은 무시됩니다.엔드포인트에서 스크래핑도 가능합니다. 데이터독은 /metrics/detailed 엔드포인트에서 데이터를 수집할 수도 있습니다. (개체별 메트릭을 사용하는 것..
교환기(Exchange) 관련 중요 메트릭rabbitmq.exchange.messages.publish.count설명: 교환기에 게시된 총 메시지 수중요성: 메시지 흐름의 정상 여부를 확인하는데 유용합니다.갑작스러운 급증 또는 감소는 애플리케이션 문제를 의미할 수 있습니다.rabbitmq.exchange.messages.publish_out.rate설명: 교환기에서 큐로 전달되는 메시지 속도(초당)중요성: 교환기의 라우팅 성능을 평가하며, 라우팅 병목 현상을 파악할 수 있습니다.rabbitmq.exchange.messages.unroutable.returned.count설명: 라우팅되지 못한 메시지 수(반환된 메시지)중요성: 라우팅 오류를 조기에 감지하고 잘못된 설정을 빠르게 수정할 수 있습니다.노드(N..
데이터독 주요 메트릭RabbitMQ 관리 플러그인 (Management Plugin) 관리 플러그인 통합시 활성화되는 대시보드RabbitMQ Prometheus 플러그인 (Prometheus Plugin) 큐 기반 통계 추적:큐 크기 (Queue size)소비자 수 (Consumer count)미확인 메시지 수 (Unacknowledged messages)재전송된 메시지 수 (Redelivered messages)노드 기반 통계 추적:대기 중인 프로세스 수 (Waiting processes)사용 중인 소켓 수 (Used sockets)사용 중인 파일 디스크립터 수 (Used file descriptors)큐 기반 지표는 메시지 처리 및 소비와 관련된 상태를 추적하고,노드 기반 지표는 서버 리소스와 관련된..
본 콘텐츠는 coredns와 coredns 모니터링에 대한 내용을 다룹니다.coredns에 대한 이해기본적으로 kubedns는 Kubernetes용 SkyDNS 구현체로, coredns는 kubedns의 보완할 리소스로 처음 등장하게 되었습니다. CoreDNS는 인터넷 도메인 이름에 대한 요청을 해결하고 Kubernetes 클러스터 내에서 서비스 검색을 제공할 수 있는 오픈 소스 DNS 서버입니다. Kubernetes 클러스터에서 플러그인은 기본적으로 활성화되어 있으므로 클러스터를 시작하자마자 많은 주요 메트릭을 모니터링할 수 있습니다 .기본적으로 각 coredns 파드는 prometheus 플러그인을 사용하여 자체 엔드포인트를 오픈하고 있습니다. 포트는 9153번을 사용하고 있습니다. 해당 내용은 다음..
1. OpenTofu란?OpenTofu의 첫 등장은 2023년 8월입니다. Hashicorp가 전 제품을 BSL (Business Source License)로 변경을 발표하며, 테라폼의 상업적 사용에도 제동이 걸리게 되었습니다. 따라서 이에 반대하는 OpenTF 매니페스토에 참여한 온라인 커뮤니티와 각종 단체, 개인들에 의해서 개발된 IaC 도구입니다. 2023년 8월 첫 선을 보이고, 2023년 9월에 Linux Foundation의 프로젝트가 되어 CNCF에 가입되었습니다.그 출발이 테라폼의 상용화에 반한 내용이다 보니 그 목적과 사용법 역시 종전의 테라폼의 출발과 비슷하다 할 수 있습니다. 2. OpenTofu의 주요 기능인프라 프로비저닝 자동화OpenTofu는 클라우드 서비스, 네트워크, 가상 ..
안녕하세요, 이번 포스팅은 Karpenter on EKS Fargate 배포에 대해서 포스팅을 올립니다.CloudNet@의 테라폼 스터디 내용을 기반하고 있습니다. 오늘 사용할 Karpenter는 Kubernetes 클러스터 오토스케일러이고,EKS Fargate는 관리형 서버리스 컨테이너 실행 서비스입니다. 먼저 git clone 후 하기 디렉토리로 이동합니다. 1. git clonegit clone https://github.com/aws-ia/terraform-aws-eks-blueprintscd terraform-aws-eks-blueprints/patterns/karpenter tree 명령어를 수행하면 다음과 같이 확인됩니다. versions.tf는 다음과 같습니다. 2. versions.tf ..