전체 글 썸네일형 리스트형 Karpenter 1.0.1 -> 1.8.1 crd 업그레이드 이슈 서론EKS 1.34 버전으로 업그레이드 함에 따라 관련 패키지도 업그레이드해야 한다.운영환경에 Karpenter 1.0.1 버전을 사용하고 있었고 가장 최신 버전인 1.8.1로 업그레이드하는 과정중 다음과 같은 에러가 발생했다.Error: UPGRADE FAILED: cannot patch "ec2nodeclasses.karpenter.k8s.aws" with kind CustomResourceDefinition: CustomResourceDefinition.apiextensions.k8s.io "ec2nodeclasses.karpenter.k8s.aws" is invalid: status.storedVersions[0]: Invalid value: "v1beta1": missing from spec.v.. 더보기 Karpenter 1.8.1 버전 업그레이드하기(w. Terraform) 서론EKS 클러스터 버전 업그레이드에 따라 Karpenter 버전도 업그레이드 한다.나는 Karpenter 1.0.1 버전을 사용중이었고, EKS 클러스터 버전을 1.34로 올리며 Karpenter 1.8.1 버전으로 설치하고자 한다.버전별 주요 변경사항버전별 주요 변경사항을 확인하고, 어떤 점에 주의하여 설정할지 판단한다.https://karpenter.sh/docs/upgrading/upgrade-guide/ Upgrade GuideLearn about upgrading Karpenterkarpenter.sh 1.0.1 부터 1.8.1 까지 변화들을 살펴보니, 메트릭 이름 변경 등 특이한 점은 없었다.다만, 1.7.0+ 버전 이후로는 다음과 같은 역할이 추가적으로 필요하단다. iam:ListInsta.. 더보기 ELK 구축하고 Filebeat로 로그 수집하여 확인해보기 시스템 로그는 중요하다. 서비스가 성장함에 따라 보안요건도 까다로워진다. 그 보안요건 중 하나가 사용자 로그인에 대한 추적 및 증적을 남기는 것이다. 이를 달성하기 위해 ELK와 Filebeat로 각 서버의 syslog를 수집하고 시각화 해보자. 인스턴스 사양 M6g.large Arm 기반 AWS Graviton2 프로세서 vCPU 2 Mem 8GiB ELK 설치 ##라이센스 받아오기 wget -qO - | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg sudo apt-get install apt-transport-https echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyr.. 더보기 랜딩페이지, S3로 이전 기존 랜딩페이지는 AWS EC2에서 Apache2를 통해 호스팅되고 있었다. 그러나 랜딩페이지의 동적컨텐츠가 모두 제거되어, 더 이상 호스팅을 위해 서버 자원을 사용하는 것은 낭비라 판단했다. 따라서 S3로 소스파일을 옮겨 정적 호스팅을 하고자 했다. 요구사항 이전 시, 접속이 안되는 일은 없어야 한다. Jenkins 배포자동화를 구성한다. 개발자를 위해 테스트 도메인을 하나 더 준비한다. 작업순서 테스트 도메인 S3 정적 호스팅 S3 업로드 자동화 도메인을 Cloudfront에 등록 Cloudflare DNS 등록 S3 정적 호스팅 고유한 이름으로 S3를 생성한다. 호스팅을 위해서 퍼블릭 액세스 차단을 해제한다. 속성에서 “정적 웹 사이트 호스팅”을 활성화 해준다. 인덱스 문서는 index.html 이.. 더보기 Opensearch로 Cloudfront의 access_log를 실시간으로 분석해보자 💡 참고자료 [AWS 공식블로그] Kinesis Data Stream 생성 Kinesis 콘솔 데이터 스트림 생성 이름 cloudfront-real-time-log-data-stream 지정 온디멘드 요금 설정 성공 Cloud Front 배포, 실시간 로그 활성화 Cloud Formation 활용하여 손쉽게 배포 생성된 S3에 정적파일 업로드 Cloud Front 콘솔 원격측정 > 로그 실시간 로그 구성 > 구성 생성 이름 CloudFrontRealTimeConfigName 샘플링 속도 100 원하는 필드 선택 생성한 Kinesis data stream ARN 등록 배포, 기본 캐싱 설정 성공 Kinesis Firehose에서 로그 처리용 Lambda 함수 생성하기 람다 콘솔 함수 생성 이름 cf-rea.. 더보기 [lambda]Task timed out after 3.00 에러메시지 { "errorMessage": "2022-07-24T04:46:35.238Z 98b1f53f-30ec-4c41-a8fa-31bb4586eba0 Task timed out after 3.08 seconds" }람다 실행 최대 시간이 3초여서 그 안에 작업을 끝내지 못했음. 람다는 쿼리를 날려주는 것이므로 좀 걸릴 수가 있음. 그래서 실행 최대 시간을 늘려주면 해결! 더보기 [Lambda]Cannot find module 에러 메시지 { "errorType": "Runtime.ImportModuleError", "errorMessage": "Error: Cannot find module 'athena-express'\nRequire stack:\n- /var/task/index.js\n- /var/runtime/index.mjs", "trace": [ "Runtime.ImportModuleError: Error: Cannot find module 'athena-express'", "Require stack:", "- /var/task/index.js", "- /var/runtime/index.mjs", " at _loadUserApp (file:///var/runtime/index.mjs:726:17)", " at asy.. 더보기 S3로 정적 호스팅 하기 정적콘텐츠 생성 💡 참고자료 [HTML 공식문서 첫시작] HTML 문법에 따라 index.html 파일 생성 버킷생성 💡 참고자료 [AWS 버킷정책] 고유한 버킷이름 설정 서울리전 퍼블릭 액세스 차단 설정 해제 index.html 파일 업로드 속성 > 정적 웹 사이트 호스팅 > 활성화 버킷 정책 추가(모든 사용자가 버킷의 Object 를 읽을 수 있음) { "Version": "2012-10-17", "Id": "Policy1658302034241", "Statement": [ { "Sid": "Stmt1658302033161", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::access-lo.. 더보기 이전 1 2 3 4 ··· 12 다음