본문 바로가기

전체 글183

[AWS] ECS 운영 중 발생한 주요 사례 Case별로 정리 위 내용은 ECS 운영 중 발생한 사례(Case)를 정리한 것으로, 개인적인 의견이 아닌 AWS SA(Solution Architect) 담당자와의 질의응답을 바탕으로 작성된 내용입니다.01. ECS 이슈 사례이슈의 경우 Case별로 구분하여 정리.Case 01 : Blue/Green ALB, NLB 사용 가능여부 및 Canary 지원 여부ECS Blue/Green을 사용하는 경우 NLB/ALB 모두 사용이 가능하다. 하지만 NLB를 사용하는 경우 CodeDeployDefault.ECSAllAtOnce를 통한 배포만 가능하며 Canary, Linear 배포는 불가능하다. 그렇기에 Canary, Linear 배포를 진행 하려면 ALB를 사용해야 한다.Case 02: 운영중인 ECS의 Service Depl.. 2025. 4. 25.
[Terraform] Terraform 버전 관리 window tfenv 설정 Backend Type: s3 | Terraform | HashiCorp DeveloperTerraform can store and lock state remotely in Amazon S3.developer.hashicorp.com사내 Terraform 환경에서는 S3 버킷을 사용해 Terraform 상태(state) 파일을 저장하고 있으며, 상태 파일의 동시 수정 문제를 방지하기 위해 DynamoDB Table을 활용해 파일 잠금(Locking) 처리하고 있다. 하지만 최근 Terraform에서 DynamoDB 없이도 S3 자체만으로 상태 파일 잠금을 지원하는 기능이 도입된 것을 알게 되었다. 하여, 이를 활용하기 위해 기존 Terraform 1.9.5 버전에서 Terraform 1.11.4로 업그레.. 2025. 4. 19.
[AWS] Opensearch 설치 및 클러스터링 환경 구성 사내 Opensearch를 통해 Vector DB를 사용하여 유사 검색을 구현할 수 있는 환경을 구축해야 하는 경우가 존재하였다. 하여, 이번 포스팅에서는 Opensearch를 설치하고 클러스터링 하는 방법에 대해 간략히 알아보자. 자세한 내용은 생략하였으며, 설치 및 클러스터링에만 집중한다. 추가로, EC2에 cordi+master & data 노드 클러스터링 환경을 설정하는 스크립트도 있으니 참고 하면 된다.우선 OpenSearch를 *.tar 파일 형태로 다운로드해보자. yum을 통한 설치 방법도 있지만, 이번에는 테스트 목적이며 폐쇄망 환경이기 때문에 tar 파일 기반으로 설치한다.01. Opensearch 설치(EC2) search-opensearch-c01 : cordi(01번) / maste.. 2025. 4. 15.
[AWS] SSM Parameter Store 01. SSM Parameter Store서버를 구성하고 애플리케이션을 구축하는 과정에서, 애플리케이션 내에 노출되어서는 안 되는 민감한 정보들이 존재했다. 필자의 경우 Terraform을 활용해 EC2 위에 Atlantis 서버를 구축하는 과정에서, user_data로 전달되는 Shell 스크립트에 GitHub 토큰을 포함해야 하는 상황이 있었다. 이러한 상황에서 SSM Parameter Store를 활용하면 민감 정보를 보다 안전하게 관리할 수 있을 것이라 판단하여, 관련 내용을 포스팅하게 되었다.우선, Paramter Store의 특징은 어떤 부분이 있는지 간략히 살펴보고 넘어가자.01-1. Parameter Store 특징설정 값은 key - value 형태로 저장데이터 저장 유형은 아래 3가지 .. 2025. 4. 12.
[AWS] 사설 IP, 공인 IP, NAT 정리 01. 아이피(IP)란IP(Internet Protocol)란 인터넷에 연결된 모든 장치들(컴퓨터, 서버 장비, 스마트폰)을 식별할 수 있도록 각 장비에 부여된 고유 주소다른 사람에게 우편물을 보낼 때 우리는 국가, 지연, 아파트, 호수를 기재 후 발송하는 경우가 있음네트워크 데이터(패킷)가 우리에게 도달해 네이버 같은 페이지를 보여주려면 정확한 주소 정보가 필요함예를 들어 아래와 같은 경우가 있다고 가정한다철수는 짱구 집에서 보기로 약속을 잡은 상태이다철수가 짱구 집을 가려면 어떻게 해야 하는가?철수는 짱구가 어디에 살고 있는지 정확한 집 주소를 알아야한다ex) 경기도 성남시 분당구 내정로 xx, x 아파트 x동 x호이렇듯 인터넷 상에서도 정확한 정보가 있어야 목적지에 도달할 수 있음01-2. IP 종.. 2025. 4. 4.
[AWS] ECS ALB, NLB 멀티 타겟그룹 연결 CLI AWS ECS를 운영하다보면, 1개의 ECS Service에 N개의 Target Group을 매핑시켜야 하는 경우가 발생한다. AWS 콘솔 UI 상에서는 멀티타겟 그룹 설정을 지원하지 않기 때문에, 위 설정은 AWS CLI를 기반으로 설정해야 한다. 하여, 멀티타겟 그룹 설정 관련하여 간략히 정리한다.01. ECS ALB, NLB 멀티 타겟그룹 연결01-1. 타겟 그룹 2개 지정(ALB:TG, NLB:TG)# ECS 멀티타겟 지정aws ecs update-service \\--cluster xx-cluster-prod \\--service xx-service-nlb-prod \\--task-definition xx-td-prod:44 \\--desired-count 5 \\--health-check-gr.. 2025. 4. 4.
[Grafana] Grafana Table 패널 추가 후 Transform 사용 방법 사내 검색 시스템에서 지연이 발생한 시점의 검색 키워드를 추출해야 하는 상황이 있었다. 검색 시스템의 경우 Nginx 로그를 검색 엔진에 저장하고 있었기에, “Grafana에 굳이 추가를 해야 할까?” 라는 고민이 있었지만, 위 정보만으로는 어떤 검색 키워드에 의해 오류가 발생했는지를 알 수 없었기에, 추후 알림 설정이나 빠른 피드백을 위해 해당 지표를 대시보드에 추가해야 겠다는 결론을 내렸다.01. Grafana 대시보드 추가01-1. Grafana Add Panel 후 Table 패널 생성 우선 Grafana 상의 Add Panel 버튼을 클릭 후 Add a new panel 버튼을 선택한다. 그러면 다음과 같은 위와 같은 화면이 출력된다. 후에, 우측 상단의 패널 타입은 Table을 선택하고 좌측 .. 2025. 3. 27.
[Network] HTTP / HTTPS / TLS+SSL / 대칭키+비대칭키 이번 시간에는 웹의 기본 통신 규약인 HTTP부터 통신의 보안을 위한 HTTPS와 TLS/SSL에 대해 알아보자.01. HTTP?HTTP는 HyperText Transfer Protocol의 약자이며, 웹(Web)상에서 클라이언트와 서버 간에 데이터를 주고받는 통신 규약을 의미한다. HTTP는 기본적으로 다양한 리소스(HTML, TEXT, 이미지, 영상, 음성, 파일, JSON, XML.. 등)를 전달할 수 있으며, 기본적으로 암호화 되지 않는 평문으로 이루어져 있다. 또한, HTTP는 TCP/IP 통신 위에서 동작하게 된다.01-1. HTTP 통신 구조클라이언트(Client)와 서버(Server)는 왜 분리되어 있을까?HTTP는 기본적으로 클라이언트(Client)가 요청을 보내고, 서버(Server)가.. 2025. 3. 26.
[AWS] 리전, 가용영역, 엣지 로케이션이란? AWS를 사용하는 사용자라면 당연히 알고 있는 개념이겠지만, 막연하게 알고 넘어가는 경우가 많다. 그렇기에, 이번 시간에는 AWS의 기초 개념인 리전(Region), 가용 영역(Availability Zone), 엣지 로케이션(Edge Location)에 대해 알아보자.01. AWS 인프라 구조기본적으로 AWS의 인프라 구조는 크게 AWS 서비스가 존재하고, 그 안에 리전(Region)이라는 개념이 존재한다. 또한, 이러한 리전(Region) 안에 가용 영역(Availability Zone)이 존재하는 형태로 구성이 된다.02. 리전이란?리전(Region) : 하나의 국가(대한민국, 일본, 중국, 미국)이라 볼 수 있다.AWS는 단일 국가가 아닌 여러 국가에서 서비스를 제공하는 글로벌 클라우드 서비스다... 2025. 3. 20.
[AWS] 가비아 도메인 구입 후 Route53을 통한 EC2 연결 방법 이번 포스팅에서는 가비아에서 구입한 도메인을 AWS Route 53에 연결하는 과정을 다뤄본다. 이렇게 연결된 도메인은 새로 생성한 EC2 인스턴스로 트래픽을 전달하도록 설정할 예정이며, 도메인의 레코드 관련된 내용도 간략히 정리한다.01. 도메인 구입01-1. 가비아 도메인 검색 페이지 이동우선 가비아 도메인 페이지로 이동하면 도메인 검색 화면을 확인할 수 있다. 이번 포스팅에서는 테스트를 위해 EC2에 도메인을 연결하는 과정을 다룬다. 이를 위해 youngmin.shop 도메인을 검색해보자.01-2. 도메인 검색 후 신청xxx.shop 도메인은 가비아에서 이벤트가 진행 중인 도메인 중 하나로, 500원이라는 가격에 구매할 수 있다. 원하는 도메인을 선택한 후, “신청하기” 버튼을 클릭하여 구매 절차를.. 2025. 3. 18.