최신 포스트
-
CloudFront Request Header Null 값
AWS CloudFront를 사용하면서 요청 헤더를 활용하는 경우가 있는데, 그 중 사용자의 국가 정보를 포함하는 헤더인 CloudFront-Viewer-Country 헤더를 기반으로 콘텐츠를 맞춤 제공하거나 액세스 제한을 설정할 수 있다. 그러나 해당 헤더의 값이 비어 있는 경우가 발생하는 경우가 있는데, 이는 AWS CloudFront가 3rd Party 지리적 데이터베이스 서비스(ex. MaxMind)를 사용하여 CloudFront-Viewer-Country와 같은 사용자의 위치 정보를 조회하고 각 필드에 맞는 값을 표기하기 때문이다. 정리 하면 아래와 같은 이유로 값이 비어 있을 수 있다.데이터베이스에 정보가 없는 경우: MaxMind 데이터베이스에 특정 IP 주소의 위치 정보가 없을 경우, Cl..
2024.10.24
-
비용 소모 없이 DynamoDB Item 삭제
DynamoDB 개념Item (항목): DynamoDB 테이블의 각 행(Row)을 나타내는 데이터 레코드Attribute (속성): 각 항목(Item) 내에 포함된 개별 데이터 필드, 열(Column)이라고 생각하면 편함{ "UserID": "12345", "Name": "Alice", "Age": 30, "Address": "123 Main St"}전체가 **item**, 각 "UserID", "Name", "Age", "Address"가 **attribute**삭제 비용이 발생하는 이유DynamoDB에서 Item이나 Attribute를 삭제하는 작업도 쓰기 요청으로 처리되며, 삭제 작업을 수행할 때마다 데이터 양에 따라 **WCU(Write capacity units)**이 사용되고, 삭제할 ..
2024.10.24
-
LangSmith 설치
베하~ 안녕하세요 1-Tier팀 입니다.이번에는 LangSmith 설치 방법에 대해 알아보려고 합니다.생각보다 설치는 간단하니 관심있으면 직접 해보셔도 좋을 것 같습니다! 그럼 시작하겠습니다~!설치 과정github에서 하위 파일 3개를 원하는 위치에 복사하여 가져옵니다.docker-compose.yamlusers.xml.env.example* .env.example 파일은 .env로 이름을 변경하여 사용* user.xml 파일은 그대로 사용 했습니다. 본 포스팅에서는 /data001/langsmith 경로에서 생성 및 진행했습니다.# docker-compose.yamlservices: langchain-playground: image: langchain/langsmith-playground:${_..
2024.10.14
-
Karpenter의 k8s 효율적인 자원관리
karpenter는 node를 정리 및 통합하는 디-프로비저닝(de-provisioning) 메커니즘이 있다.pod가 별로 없거나 놀고 있는 node를 정리하여 비용을 아낄 수 있겠다.1. Consolidation (통합)기능: consolidation은 클러스터 내에서 자원이 비효율적으로 사용되고 있을 때, 노드를 통합하여 자원을 최적화하는 기능작동 방식:Karpenter가 클러스터 내의 자원 사용률을 모니터링자원 사용률이 낮은 노드들에서 실행 중인 파드를 다른 노드로 이동할 수 있는지를 체크이동이 가능하다면, 자원이 덜 사용되고 있는 노드들을 통합하여 불필요한 노드를 종료❓ 어떤 노드를 통합할지는 Karpenter 내부 최적화 알고리즘에 의해 결정되는 것 같다. spec: consolidation..
2024.09.27
-
MaaS (Metal as a Service)
베하~ 안녕하세요 1-Tier 팀 입니다.오늘은 수십, 수백대의 서버의 OS 환경을 관리할 수 있는 베어메탈 서비스인 MASS에 대해 알아보고자 합니다.그럼 MASS 가 뭔지 바로 알아볼까요?MAAS (Metal as a Service) 란?베어 메탈 서버와 가상 머신을 관리하기 위한 클라우드 플랫폼으로, 네트워크, 머신 및 OS 이미지에 대한 확장 가능한 자동화, 재구성 및 안정성을 위한 단일 제어 지점을 만듭니다.물리적인 서버들을 관리하기 위한 용도로 사용하며 같은 네트워크 대역대의 서버 환경을 중앙 제어할 수 있도록 하고 콘솔 뿐만 아니라 GUI 환경도 제공하여 편리하고 직관적으로 파악 및 조작이 가능합니다. 주요기능- 하드웨어 리소스 관리- 관리 대상 노드에 대한 모니터링- DHCP / DNS ..
2024.09.09
-
Teams Workflow 생성하기
베하~!! 안녕하세요 1-Tier 팀 입니다.Teams Webhook 기능 Expire 에 따라 알림 수신 대체재로 Workflow를 사용해야 하는 상황이 발생했습니다.MS 측에서 기한을 늘려줬으나 실무에서 사용중이었던 모든 Teams Webhook을 수정해야 하는 번거로움이 발생했고 해당 업무를 수행하며 Workflow 생성 과정을 정리하면 좋을 것 같아 본 게시물을 작성하게 되었습니다. 대상 앱: Incoming Webhook ( OS365 connector)신규 앱 생성 중단일: 2024-08-15기존 앱 작동 중단일: 2024-10-01 => 2025.12 에 중단으로 변경되었으나 2024년 12월 31일 이후에도 사용하려면 URL 업데이트가 필요하며 만료 90일 전 Teams 측에서 지침 전송..
2024.08.20
-
API Gateway 개별 Cache 삭제 방법
먼저 API gateway 서비스에서는 단계별 메소드 별 Cache 기능을 제공하고 있으며, 콘솔 및 ‘FlushStageCache’ API 를 통해 전체 캐시를 무효화하는 기능을 제공하고 있다. 그러나 API gateway 에서 개별 캐시 항목을 직접 삭제하는 기능은 따로 제공되지 않아, 특정 캐시 항목만 삭제하는 데 제한이 있다. 이런 기능을 제공하지 않는 이유는 API gateway 의 캐싱은 전체 API 스테이지에 대한 캐시를 생성하는 방식으로 동작하고, 성능 및 일관성의 유지를 위한 최적화를 때문인데, 아무래도 캐시를 개별 관리하게 되면 리소스 소모량이 많아져 성능에 영향을 미치게 되는 이유지 않나 싶다. 물론 ‘Cache-Control: max-age=0’ 헤더 사용를 사용하여 특정 요청에 대..
2024.08.13
-
API Token Bucket
Token Bucket 알고리즘이란Token Bucket 알고리즘은 네트워크 속도 제어 알고리즘 중 하나로, 특정 양의 데이터를 일정한 속도로 전송하고자 할 때 사용된다고 한다.AWS에서 Token Bucket 알고리즘이란?AWS 모든 서비스는 API 기반으로 동작하고, Amazon API Call은 토큰 기반으로 동작하며, Token Bucket 알고리즘을 따른다고 한다.Bucket에 Token을 넣어두고, 패킷(API)이 전송될 때마다 이 Bucket에서 Token을 소비하도록 하는데, Token이 충분하다면 패킷을 전송하고, Token이 부족하다면 패킷을 버린다. → (API Throttle)여기서 Bucket의 크기는 한 번에 전송할 수 있는 최대 데이터 양을 의미하며, Token을 생성하는 속도..
2024.07.22