Infra
-
[AWS] ECS Fargate + Prometheus + Grafana (with Terraform)Infra/AWS 2024. 4. 1. 11:34
ECS Fargate에 모니터링 시스템을 구축하고자 한다. 조사해보니 Prometheus + Grafana 조합이 가장 합리적이라고 판단했다. 무료이면서 아웃풋이 괜찮다. 자세히 알고 싶다면, 검색하길 바란다. 각설하고, 주요 과정을 기록하고자 한다. 결과는 정말 별거 없지만, 삽질을 며칠 했다.. 자, 먼저 인프라 구성부터 살펴보자. 백엔드와 프론트엔드 서비스 각각에 prometheus/node-exporter container를 추가했다. terrafom 코드로 IoC 작업을 했다. ... resource "aws_ecs_task_definition" "example" { container_definitions = jsonencode([ { name = "node-exporter" image = "..
-
nginx에 무료 ssl 자동 갱신 명령어 묶음 (feat. let's encrypt)Infra/linux 2024. 3. 8. 14:38
OS 환경은 ubuntu이다. SSL 적용 1. letsencrypt 설치 $ sudo apt update $ sudo apt-get install letsencrypt -y 2. root 계정 전환 -> nginx 정지 $ sudo su - $ cd /root $ sudo service nginx stop 3. 인증서 생성 -d 뒤에 본인의 도메인을 입력하면된다. (서브도메인이 있는 경우 뒤에 개수만큼 추가하면 됨) 인증시 email을 입력하고 모두 'Y'를 한다. 성공시 축하 메시지가 나온다. $ sudo certbot certonly --standalone -d mydomain.com -d www.mydomain.com -d test.mydomain.com 4. 파일을 확인한다. 파일 위치 : /e..
-
AWS lambda를 이용해 RDS DB cloudwatch 알림 잔디(JANDI) 웹훅(webhook)으로 받기.Infra/AWS 2023. 12. 14. 16:21
오늘 아침 일찍, AWS로 운영중인 개발용 DB가 다운이 됐었다. 모니터링을 살펴본 결과, 사용자가 없는데, 갑자기 이럴수가 있네? 그래서 이슈 발생시 JANDI 메신저로 webhook을 날리도록 만들기로 했다. JANDI 또는 SLACK을 써도 된다. [목차] 1. SNS(Simple Notification Service) topic 생성 2. RDS DB CloudWatch 설정 3. JANDI webhook URL발급 4. Lambda 함수 생성 및 SNS trigger 5. 테스트 & 실행 1. SNS(Simple Notification Service) topic 생성 적당한 이름으로 지정하면 된다. 2. RDS DB CloudWatch 설정 하고 싶은 설정을 맘껏 추가해주자! 3. JANDI w..
-
hls를 위한 cloudfront + signed cookie + lambda@edgeInfra 2023. 11. 13. 17:39
이 글을 쓰는 목적? hls를 처음 접하고 구현하는데 삽질을 많이 해서, 다른 이들은 그 과정을 거치지 않게 하고 함이다. 해당글을 참고해서 진행을 했는데,,, 빠진 부분이 있어서, 고생을 좀 했다. 초보자들도 그냥 설정을 따라서 그대로 세팅하면 되도록 작성하겠다. 영상 컨텐츠 서비스를 hls로 운영하기 위한 작업을 했다. hls란? Http Live Streaming 기존 서비스는 영상을 재생 하려면 .mp4 파일을 통으로 다운로드해서 재생을 했다면, hls를 적용시키면 영상 파일을 1~2분 단위로 .ts 확장자로 쪼개어 저장하고, .m3u8에 메타데이터를 기록해서, 순차적으로 다운로드 받으면서 재생된다. 실시간 서비스에 주로 이용된다. 지금 당장 실시간 서비스를 하려는게 목적은 아니다. 보안 차원에서..
-
aws cloudfront를 이용해서 s3에 있는 나의 컨텐츠 보호하기(feat. signed url)Infra/AWS 2023. 8. 23. 18:26
aws에서 동영상 서비스를 구축중에 있다. 그런 와중에 영상 유출 방지를 위한 대책이 필요했다. 기본적으로 public에서 url 접근을 허용해 서비스를 개발하였고, 이제 컨텐츠 보호를 위해 인프라 내부 환경에서만 접근 가능하도록 한다. 첫 번째 방법 vpc를 기준으로 외부에서 접근 못하도록 한다. 그렇게 되면 서버에서는 접근이 되지만, 외부에서 url을 통해 접근을 못하게 된다. 우선 vpc endpoint를 생성해 s3 policy 정책을 수정 했다. 기존 정책에서 vpce를 확인하는 정책을 추가했다. { "Version": "2012-10-17", "Id": "Access-to-bucket-using-specific-endpoint", "Statement": [ { "Effect": "Allow",..
-
[terraform] Error: creating Amazon S3 (Simple Storage) Bucket BucketAlreadyOwnedByYou: Your previous request to create the named bucket succeeded and you already own it.Infra/AWS 2023. 8. 4. 18:19
terraform destroy를 하고 난 후, s3에 버킷이 여전히 존재 한다면? 다시 apply를 할때 중복 에러가 발생된다. 나는 destroy 하더라도 s3 bucket은 그대로 유지하면서 활요하고 싶다. 이유는 테스트 하면서 빈번히 생성/삭제을 하게 되고 terraform.tfstate를 s3에서 관리하기 때문에, 버킷이 지워지는걸 원치 않는다. 이미 버킷이 존재하는 경우, terraform apply를 하게되면 에러가 발생된다. original code : # main.tf ... resource "aws_s3_bucket" "new_bucket" { bucket = "new_bucket" tags = { Name = "new_bucket" } } resource "aws_s3_bucket_a..
-
[Github Action] 알리바바 클라우드에 무중단 서버 배포해보기(blue/green)Infra/DevOps 2023. 7. 5. 19:07
이전 글에서 알리바바 클라우드에 서버를 배포해 보았다. 2023.06.26 - [Infra/DevOps] - How to deploy service to ECS of Alibaba Cloud.(use github actions) How to deploy service to ECS of Alibaba Cloud.(use github actions) 중국 알리바바 클라우드 ECS에 프로젝트를 빌드&배포 하는 cicd github actions를 작성했다. 기본적으로 배포는 tag로 버전 관리를 했고, tag push를 trigger로 활용했다. 도커 이미지는 기본적으로 ACR에 push bekusib.tistory.com 이번엔 무중단으로 배포를 해보려고 한다. 배포 방식은 Blue/Green을 선택했다. ..