Aws
AWS DevOps Engineer Professional (DOP-C02) 취득 후기
AWS DevOps Engineer Professional (DOP-C02) 취득 후기
2023.10.11DOP 준비를 작성하고 난 후, 공부를 시작했다. SAA를 약 3달간 준비했었기에, 한 단계 높은 Professional이고, DVA를 따지 않아서 동일하게 3달을 목표로 했다. 근데 SAA를 취득하고 난 후라서 그런지 너무 쉽게 느껴졌다. 그래서 10/9 응시로 변경하고 시험을 응시했다. 그 준비 과정과 느낌점을 남겨놓으려고 한다. 준비 과정 1. 인강 수강 2. 덤프 풀기 SAA를 땄을 때와 동일하게 DOP 인강을 수강했다. 인강 분량이 20시간이었고 한 달 반을 생각했었다. 왜냐하면 27시간 분량의 SAA를 들었을 때 한 달 반이 걸렸었다. 근데 인강을 들으니 업무에서 사용했던 서비스들이 정말 많았다. 그래서 시간을 많이 단축할 수 있었다. 모두 듣고나서 덤프를 풀었다. examtopic에서 문제..
AWS API Monitoring with terraform
AWS API Monitoring with terraform
2023.09.10소개 AWS를 사용하다 보면, 중요한 API의 경우 모니터링과 더불어 Notification이 필요할 때가 있다. 그중에 하나 예를 든다면, AccessKey 발급이다. AccessKey이 유출당했을 경우 해당 사용자 혹은 계정의 모든 API를 호출할 수 있기에 매우 위험하다. 또한 사용자가 계정을 해킹당했을 때 AccessKey를 새롭게 발급받아 사용할 수 있는 위험이 있다. 이러한 것을 알아차리기 위해서, Credential 한 것들은 Notification을 할 필요가 있다. 이번에 예시는 AccessKey를 생성했을 때 알림을 받는 것을 만들어보는 것이다. 구현 사용할 서비스들은 CloudTrail, CloudWatch Log Group, S3, EventBridge, SNS이다. 1. Cloud..
AWS Event Scheduler 구현 (EventBridge + SNS + SQS) with terraform
AWS Event Scheduler 구현 (EventBridge + SNS + SQS) with terraform
2023.08.07스케줄러 비용을 줄여보자 지금까지 경험한 서비스들은 스케줄러가 필요했다. 예를 들어서 00시에 값들을 변경, 카카오 메시지를 발송, 배치성 쿼리 등등이 존재했다. SpringBoot의 @Scheduled 어노테이션으로 구현하고 있다. 스케줄러가 동작하는 인스턴스는 Scale-Out이 되면 문제가 발생할 수 있다. 따라서 스케줄러 인스턴스는 다른 애플리케이션과 분리돼야 했다. 배치성 쿼리나, 어느 정도의 비즈니스 로직이 들어갈 수 있으므로 인스턴스의 사양을 아예 낮은 거는 사용할 수 없다. 따라서 t3.small로 결정했다. 1년 RI로 했을 때 가격은 아래와 같다. 한 달의 가격은 11.46USD 큰 비용은 아니다. 그럼에도 비용을 줄이고 싶다. 해당 이벤트를 어떻게 처리하는 것에 대한 구현은 없다. 이..
AWS Bastion Host (사용자 관리) with terraform
AWS Bastion Host (사용자 관리) with terraform
2023.07.09Bastion Host 사용하는 이유 AWS에서 VPC를 별도로 생성한 후 Private 서브넷에 리소스들을 생성했다면, VPC 외부에서접근 하기 위해서는 VPN, Direct Connect 방법을 사용해야 합니다. 하지만 구축하기에 리소스가 듭니다. 따라서 동일한 VPC에 Public에서 접근 가능한 인스턴스를 생성한 후 ssh를 통해 연결할 수 있는 방법이 있습니다. 그것이 Bastion Host입니다. 제가 사용했던 용도로는 RDS Severless Aurora같은 경우 Private에 밖에 생성을 할 수 없으므로 Public에서 접근이 불가능해 Local에서 애플리케이션을 실행할 수 없었는데, Bastion Host의 ssh를 통해서 접근을 했습니다. 이때 다른 사용자가 Bastion Host를 ..
Cloudfront cache auto invalidate
Cloudfront cache auto invalidate
2023.06.051. 개요 S3를 Cloudfront로 배포하는 것은 매우 바람직한 일인데, 이때 불편함을 느낀 적이 있다. 일반적으로 Cloudfront를 사용했을 때 얻을 수 있는 이점인 cache가 있다. cache의 지속 시간을 설정할 수 있지만, S3의 객체를 새로 생성한 경우는 괜찮다. 하지만 업데이트 즉 Put을 한 경우 Cloudfront의 cache는 이전의 데이터가 남아 있어 문제를 일으킬 수 있다. 따라서 수동으로 cache를 날려줘야 하는데, 매우 귀찮은 일이고, 쉽게 잊을 수 있는 일이다. 아키텍처와 실제 동작을 아래에서 살펴볼 예정이다. 모두 실습을 진행할 수 있도록, Terrafrom 코드 또한 Github로 제공한다. TerrafromCode 2. 아키텍쳐 해당 문제를 자동화할 수 있는 방법..
EKS Fargate 유형 애플리케이션 로그 수집 Part 2
EKS Fargate 유형 애플리케이션 로그 수집 Part 2
2023.05.15EKS Fargate 유형 애플리케이션 로그 수집 Part 1 이후 이제야 EKS Fargate 유형의 애플리케이션 로그 수집을 포스팅할 수 있게 됐다. 이유는 구축하는 것을 어떻게 할까 많은 고민을 했었다. 스크린숏이나, 쉘스크립트로 하기에는 글도 길어지고, 가독성이 안 좋을 것이라고 생각했다. 따라서 Terraform으로 손쉽게 구축할 수 있게 만드느라 오래 걸렸다. 먼저 실제로 실습을 진행하시려는 분들은 아주 조금의 Terraform 지식이 필요한데, 이 또한 아래의 깃허브에 설명을 적어놨다. 하나씩 따라하면 된다. 아쉽지만 Terraform에 대한 포스팅이 아니므로 개념을 설명하지는 않을 예정이다. 클론을 받고 진행하면 된다. EKS-Fargate 깃허브 링크 (안된다면, 댓글로 남겨주시면 확인해..