본문 바로가기

Categories1754

S3 Lifecycle 설정 시 주의 사항 S3 Lifecycle 설정은 객체 관리와 비용 최적화에 유용하며, 설정 시 아래 내용들을 알아두면 좋겠다.1. Prefix와 적용 범위prefix는 해당 경로 아래의 모든 객체에 적용된다.prefix 자체도 규칙에 포함된다.예를 들어:prefix: hamster/abc/적용 대상: hamster/abc/file1.txt, hamster/abc/def/file2.txt2. 와일드카드 미지원Lifecycle 규칙의 prefix에는 와일드카드(*)를 사용할 수 없다.필요한 경우 각각의 경로를 별도로 지정해야 한다.예:hamster/abc* ❌ (불가)hamster/abc1/, hamster/abcd/ ✅ (가능)3. 기존 객체에도 규칙 적용Lifecycle 규칙은 생성 이후에도 기존 객체를 대상으로 적용된다.. 2024. 12. 6.
k8s KEDA 사용하기 KEDA는 HPA와 달리 여러 종류의 스케일링을 지원하는데, 원하는 metadata를 선택하면 그에 해당 하는 조건의 autoscaler를 생성할 수 있다.Scaling을 위한 HPA를 KEDA가 생성하고 참조하기에 기존 HPA가 있을 경우 충돌할 수 있다.기존 HPA 소유권 이전도 된다고 한다.KEDA 설치설치 방법 (Helm)$ helm repo add kedacore $ helm repo update$ helm install keda kedacore/keda --namespace keda --create-namespace --set installCRDs=true잘 설치 되었는지 helm list -A 명령어로 확인할 수 있다. 또한 yaml 설치도 가능하다.KEDA | Deploying KEDA K.. 2024. 11. 25.
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. 9. 27.
MaaS (Metal as a Service) 베하~ 안녕하세요 1-Tier 팀 입니다.오늘은 수십, 수백대의 서버의 OS 환경을 관리할 수 있는 베어메탈 서비스인 MASS에 대해 알아보고자 합니다.그럼  MASS 가 뭔지 바로 알아볼까요?MAAS (Metal as a Service) 란?베어 메탈 서버와 가상 머신을 관리하기 위한 클라우드 플랫폼으로, 네트워크, 머신 및 OS 이미지에 대한 확장 가능한 자동화, 재구성 및 안정성을 위한 단일 제어 지점을 만듭니다.물리적인 서버들을 관리하기 위한 용도로 사용하며 같은 네트워크 대역대의 서버 환경을 중앙 제어할 수 있도록 하고 콘솔 뿐만 아니라 GUI 환경도 제공하여 편리하고 직관적으로 파악 및 조작이 가능합니다. 주요기능- 하드웨어 리소스 관리- 관리 대상 노드에 대한 모니터링- DHCP / DNS .. 2024. 9. 9.
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. 8. 20.