Aws
AWS S3 LifeCycle with Terraform
AWS S3 LifeCycle with Terraform
2024.09.28입사하고 빌링을 봤을 때 가장 많은 비용을 차지하는 게 S3 저장 비용이었다. 라이프 싸이클의 옵션을 알고 있었고, 비용 절감 가능성에 대해서 알고 있었다. 하지만 문제는 비즈니스의 이해였다. 객체들의 액세스 패턴을 알지 못했기에 섣불리 적용할 수 없었다. 비즈니스를 파악하고, 적용하며 얻었던 지식이다. S3 라이프 사이클 aws s3의 라이프 사이클 옵션은 aws s3 lifecycle docs에서 확인할 수 있고, 중요점만 살펴보자. 기본적으로 s3를 만들고 객체를 생성하면 Standard 객체 클래스로 생성된다. 범용성 있게 사용할 수 있는 옵션이지만 저장 가격은 높다고 볼 수 있다. (ap-northeast-2 seoul 기준 GB당 0.025USD) 그렇기에 객체 액세스 패턴을 살펴보고 가격..
Elastic Beanstalk 정복하기 - 10 (EBExtensions 활용하기)
Elastic Beanstalk 정복하기 - 10 (EBExtensions 활용하기)
2024.03.16EB 정복하기 - 1 EB 정복하기 - 2 EB 정복하기 - 3 EB 정복하기 - 4 EB 정복하기 - 5 EB 정복하기 - 6 EB 정복하기 - 7 EB 정복하기 - 8 EB 정복하기 - 9 환경을 구성하고, 해당 환경을 EBExtensions로 환경을 변경해 본다. 환경 구성 구성한 환경은 아래 캡처를 참고하면 된다. 환경은 도커이고, 고가용성을 선택했다. 현재 구성은 최소 인스턴스 1, 최대 인스턴스 4, 스케일 아웃 인 트리거는 NetworkOut이다. 활용한 EBExtensions 오토 스케일링 크기를 지정하는 ebextension option_settings: aws:autoscaling:asg: MinSize: 2 MaxSize: 4 EC2의 config다. 여기서 좋은 것은 SSHSourc..
Elastic Beanstalk 정복하기 - 9 (EBExtensions 정리)
Elastic Beanstalk 정복하기 - 9 (EBExtensions 정리)
2024.03.12EB 정복하기 - 1 EB 정복하기 - 2 EB 정복하기 - 3 EB 정복하기 - 4 EB 정복하기 - 5 EB 정복하기 - 6 EB 정복하기 - 7 EB 정복하기 - 8 이전에 애플리케이션 EB Health Check URL 지정과 환경 변수 지정한. ebextensions 자주 쓸만한 옵션들을 알아보고 다음 포스팅에서 적용해 볼 예정이다. aws:autoscaling:asg 인스턴스의 가용 영역 설정, 스케일링 아웃 다운 휴지기 시간 지정, 용량 리밸런싱, 최소 사이즈, 최대 사이즈가 있다. 간단하게 모든 옵션에 대해서 예시를 적어봤다. 필요에 맞게 설정하면 된다. option_settings: aws:autoscaling:asg: Cooldown: '720' # default 360 MinSize:..
Elastic Beanstalk 정복하기 - 8 (CI/CD - CodePipeline)
Elastic Beanstalk 정복하기 - 8 (CI/CD - CodePipeline)
2024.03.09EB 정복하기 - 1 EB 정복하기 - 2 EB 정복하기 - 3 EB 정복하기 - 4 EB 정복하기 - 5 EB 정복하기 - 6 EB 정복하기 - 7 Github Action, CodePipeline 비교 CodePipeline CI/CD를 구현해 보기 앞서 Github Action과 비교해 보자. 1. Trigger Github Action: workflow.yaml 파일 기준으로 merge시 동작 CodePipeline: CodeStar로 Github 레포지토리와 브랜치 연결 merge시 동작 workflow 파일에서 on: push: branches와 마찬가지로 CodePipeline에서도 특정 브랜치를 지정할 수 있다. 물론 다른 방법도 있지만, 자동화하기에 좋은 방법이라고 생각한다. 2. Bui..
Elastic Beanstalk 정복하기 - 7 (CI/CD - Github Action)
Elastic Beanstalk 정복하기 - 7 (CI/CD - Github Action)
2024.03.08EB 정복하기 - 1 EB 정복하기 - 2 EB 정복하기 - 3 EB 정복하기 - 4 EB 정복하기 - 5 EB 정복하기 - 6 우선적으로 EB 정복하기 - 6을 보고, 대략적인 틀을 보고 오자. AWS IAM 사용자 생성, 정책 부여 AWS IAM 사용자를 생성하고, Github Action에서 EB 배포에 사용되는 정책들을 모두 줘야 한다. github-action-deploy 사용자를 생성해 주자. 정책은 생성한 후에 붙여줄 예정이므로 이름만 채우고 바로 생성해 준다. AccssKey는 필요하므로 발급한 후 저장해 준다. (노출되면, 악용될 수 있으므로 노출되지 않게 한다.) 이제 필요한 정책을 알아보자. 1. AdministratorAccess-AWSElasticBeanstalk 해당 정책은 AW..
Elastic Beanstalk 정복하기 - 6 (CI/CD 사전 준비)
Elastic Beanstalk 정복하기 - 6 (CI/CD 사전 준비)
2024.03.04EB 정복하기 - 1 EB 정복하기 - 2 EB 정복하기 - 3 EB 정복하기 - 4 EB 정복하기 - 5 들어가기 앞서 1. github action 2. jenkins 3. codepipeline 4. codebuild 순서대로 EB CI/CD 배포를 포스팅할 예정인데, 공통된 애플리케이션을 배포한다. 애플리케이션은 Image로 구성할 예정이므로 플로우는 아래와 같다. 1. 각환경 CI에서 Image Build 2. Image ECR(Elastic Cotainer Registry)에 푸시 3. CD 진행 Elastic Beanstalk 환경 생성 EB는 이전의 포스팅을 봤다면, 어렵지 않게 생성할 수 있을 것이다. 나는 예제로 단일 인스턴스로 생성하며, VPC는 디폴트로 사용할 예정이다. 그 환경은 ..