AWS 14

[AWS] S3 - CloudFront 연결

CloudFront와 S3 연동의 장점- 글로벌 콘텐츠 전송 속도 향상전 세계 400개 이상의 엣지 로케이션에서 콘텐츠를 제공S3는 리전 단위 서비스 → CloudFront는 글로벌 캐시로 속도 대폭 향상- 비용 절감자주 요청되는 객체는 CloudFront에 캐싱되어 S3 호출 횟수와 데이터 전송 비용 감소 - 보안 강화S3 버킷을 public으로 만들지 않아도 CloudFront를 통해서만 접근 허용 가능WAF(AWS Web Application Firewall), HTTPS 인증서 (ACM)와 통합 가능CloudFront Signed URL/쿠키로 콘텐츠 접근 제어 가능 - 고급 기능 제공콘텐츠 압축(GZIP, Brotli)사용자 지리정보 기반 접근 제한요청/응답 헤더 기반 캐싱 전략 설정 - 모니터..

AWS 2025.03.31

[AWS] S3 Lifecycle, Glacier, Glacier Deep Archive

Amazon S3의 Lifecycle(수명 주기) 정책은 객체(오브젝트)의 저장 기간을 자동으로 관리하여, 비용 절감과 효율적인 스토리지 관리를 가능하게 해주는 기능이다. 예를 들어 오래된 로그 파일을 자동으로 저렴한 스토리지로 이동시키거나 삭제하는 작업에 활용된다.이전 RDS 스냅샷 생성 -> S3 이동 -> 삭제 로직에서 S3로 이동한 스냅샷에 대해 Lifecycle 정책 추가정책 파일 생성## apply_s3_lifecycle.sh#!/bin/bash# 설정할 S3 버킷 이름BUCKET_NAME="flashbox-rds-snapshot"# 정책 JSON 파일명POLICY_FILE="lifecycle-policy.json"# Lifecycle 정책 내용 생성cat $POLICY_FILE{ "Rul..

AWS 2025.03.31

[AWS] boto3 라이브러리로 RDS 스냅샷 생성 후 S3로 이동, 스냅샷 삭제 로직 구현하기

boto3란? AWS의 Python SDK이다.boto3를 사용하여 Python 코드로 AWS의 다양한 서비스들(S3, EC2, Lambda 등)을 쉽게 제어하고 관리할 수 있다.해당 글의 로직을 구현하면 스냅샷 저장 비용 대비 약 76% 리소스 비용을 절감할 수 있다.1. S3 버킷 생성암호화 유형 SSE-KMSKMS 키 생성사용 가능한 AWS KMS 키에서 생성한 KMS 키 선택2. EC2 IAM Role 생성신뢰할 수 있는 엔터티 EC2 선택 후 권한 정책 추가AmazonRDSFullAccessAmazonS3FullAccessAWSKeyManagementServicePowerUser3. RDS IAM Role, IAM Role Policy 생성3.1 IAM Role Policy 생성Policy Js..

AWS 2025.03.31

[AWS] EKS Karpenter

Karpenter : Kubernetes 클러스터 내에서 노드 수명 주기 관리를 개선하도록 설계된 오픈 소스 프로젝트입니다. 포드의 특정 일정 요구 사항에 따라 노드의 프로비저닝 및 프로비저닝 해제를 자동화하여 효율적인 규모 조정 및 비용 최적화를 지원리소스 제약으로 인해 Kubernetes 스케줄러가 예약할 수 없는 pod 모니터링예약 불가능한 pod의 예약 요구 사항(리소스 요청, 노드 선택기, 친화도, 허용치 등) 평가해당 pod의 요구 사항을 충족하는 새 노드 프로비저닝더 이상 필요하지 않은 노드를 제거CloudFormation 스택 생성 karpenter-config.yamlAWSTemplateFormatVersion: '2010-09-09'Metadata: AWS::CloudFormation..

AWS 2025.02.02

[AWS] EKS Node Viewer 설치

EKS Node Viewer : AWS EKS 환경에서 노드 할당 가능 용량과 요청 리소스를 확인할 수 있는 도구 EKS Node Viewer 설치go 설치wget https://go.dev/dl/go1.22.1.linux-amd64.tar.gztar -C /usr/local -xzf go1.22.1.linux-amd64.tar.gzexport PATH=$PATH:/usr/local/go/bingo 설치 확인go versiongo install github.com/awslabs/eks-node-viewer/cmd/eks-node-viewer@latestEks Node Viewer 실행# 새로운 터미널cd ~/go/bin./eks-node-viewer

AWS 2025.02.02

[AWS EKS] Argocd, Github Actions를 사용한 EKS CI/CD 구축

2025.01.17개발환경[MacOS]Ubuntu 22.04 LTSAWSAWS EKSAWS ECRKUBENETESHELMGITHUB ACTIONSARGOCD WorkflowCIGitHub repo 생성(https://github.com/sungchilll/eks-ecr-argocd)GitHub repo 생성(https://github.com/sungchilll/eks-ecr-argocd-manifest)애플리케이션 pushGithub Actions Secrets 설정 [AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, ECR_PRIVATE_ID, ECR_PRIVATE_REPOSITORY, GIT_USER, GIT_TOKEN, PROPERTIES]eks-ecr-argocd.yaml..

AWS 2025.01.17

[AWS EKS] AWS의 Kubenetes 클러스터 인프라 EKS 구축 방법 [3]

https://sungchilll.tistory.com/entry/AWS-EKS-AWS%EC%9D%98-Kubenetes-%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0-%EC%9D%B8%ED%94%84%EB%9D%BC-EKS-%EC%84%A4%EC%B9%98 [AWS EKS] AWS의 Kubenetes 클러스터 인프라 EKS 설치2025.01.17개발환경[MacOS]Ubuntu 22.04 LTSKUBENETESAWSAWS EC2AWS EKS AWS EKShttps://aws.amazon.com/ko/eks/EKSElastic Kubernetes serviceAWS Kubernetes를 쉽게 운영할 수 있도록 관리형 서비스클라우드 기반 컨테이너 오케스트sungchilll.tistory..

AWS 2025.01.17

[AWS] AWS EKS Ingress를 사용한 포트포워딩

2025.01.17개발환경[MacOS]Ubuntu 22.04 LTSAWSAWS EKSKUBERNETESHELM EKS Ingress를 사용한 포트포워딩https://github.com/kubernetes/examples/tree/master/guestbook-go examples/guestbook-go at master · kubernetes/examplesKubernetes application example tutorials. Contribute to kubernetes/examples development by creating an account on GitHub.github.com해당 Github의 내용으로 서비스를 실행 후 3000번 포트가 아닌 ingress로 포트포워딩을 진행하여 기본 80 ..

AWS 2025.01.17