일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- API
- AWS
- Python
- MSSQL
- nodejs
- elasticsearch
- unity
- 구글
- logstash
- sample
- 엘라스틱서치
- Kibana
- 설정
- JavaScript
- Git
- 영어
- error
- ssh
- JS
- build
- Linux
- s3
- MySQL
- docker
- ChatGPT
- mariadb
- Windows
- Ai
- 유니티
- Today
- Total
목록cdk (6)
가끔 보자, 하늘.
원래 #5로 끝났지만 주의할 사항들이 몇 있어 간단히 정리하고 정말 마무리 하려 합니다. 1. 여러 스택을 정의한 경우 > cdk deploy/destroy stack01 // 이렇게 명시해서 특정 스택만 배포/삭제 > cdk deploy/destroy --all // 정의된 모든 스택을 배포/삭제 2. 분기 처리 방법 local의 config, env 파일 등에 정의한 내용을 활용하여 내부 분기처리를 할수 있습니다. 예를들면 config.json 파일에 배포할 지역을 정의하고 이를 읽어 처리할 수 있습니다 // config.json 의 예 { "regions" : ["us-east-2", "ap-northeast-2"] } 혹은 위와 같은 내용은 ddb에 업데이트하고 deploy/destroy 시 이를..
이번에는 CDK로 구축한 서비스가 과부하 상태에서 ECS에 설정한 대로 부하를 잘 분산하는지 확인해 보겠습니다. 우선 ECR에 등록할 간단한 API 서비스를 만듭니다. 이 예제에서는 /calc 라는 인터페이스를 통해 랜덤한 수를 소인수분해하고 해당 결과를 돌려주도록 하는 샘플을 추가해 보았습니다. CPU 부하를 기준으로 스케일아웃을 설정할 것이므로 수초 동안 연산을 수행 후 결과를 돌려주도록 합니다. import random from fastapi import FastAPI app = FastAPI() @app.get("/") def health_check(): return 200 @app.get("/calc") async def funcCalc(): x = random.randrange(99999999..
이번에는 ECS를 사용해 간단한 웹 서비스를 구성하는 방법을 살펴 보겠습니다. 웹 서비스는 사내에서 docker로 빌드되어 ECR로 업데이트 되어 있다고 가정하고 아래와 같은 절차를 통해 웹 서비스가 된다고 가정합니다. ECS Cluster의 Task들은 private subnet에서 실행되므로 ECR 접근을 위해 VPC Endpoint를 사용합니다.(참고 문서 링크) 유저들은 public subnet에 설치된 ALB(80 Port)로 접속을 시도 (실 서비스에서는 앞 단에 Route53을 설정하겠지만 여기서는 ALB로 바로 연결한다고 가정합니다.) ALB는 private subnet의 ECS Cluster(3000 Port)로 포워딩합니다. 이를 간단히 도식화하면 아래와 같습니다. 아래 예제 코드 중 ..
이번에는 보안 그룹을 생성해보고 MySQL ( serverless v1 포함)를 추가해 보겠습니다. 보안그룹 생성은 중복되는 요소들이 많아 별도의 생성함수를 만들고, 보안 그룹을 중복 사용되는 경우도 있으므로 dictionary에 저장하여 관리하고 사용할 수 있도록 만들어 보겠습니다. 아래는 보안 그룹을 생성하는 함수의 예 입니다. . //credential과 database 관련 lib를 import import * as rds from 'aws-cdk-lib/aws-rds'; import { Credentials, DatabaseInstance, DatabaseInstanceEngine, DatabaseSecret, MysqlEngineVersion } from 'aws-cdk-lib/aws-rds'..
이번에는 API 공신 문서를 살펴보고 AWS Console 에서 VPC 생성 시 생성되는 모든 리소스를 직접 생성하는 재활용 가능한 코드를 만들어 보겠습니다. API 문서 API 공식 문서 링크 - https://docs.aws.amazon.com/cdk/api/v2/docs/aws-construct-library.html 현재 CDK 는 v1과 v2 (https://docs.aws.amazon.com/cdk/api/versions.html)를 제공하고 있으며 우리는 v2를 기준으로 알아보겠습니다. API 문서를 살펴보신 분은 어떤 리소스를 생성하는 몇 가지 방법이 있다는 것을 알고 계실 겁니다. 예를 들어 VPC를 생성할 때 class Vpc를 사용하거나 혹은 class CfnVPC를 사용할 수 있습니..
Cloud Orchestration, K8s, CloudFormation, ECS 등의 원론적인 이야기에 대해서는 굳이 여기서 언급하지 않고 참고가 될 좋은 링크를 아래 추가합니다. https://www.vmware.com/topics/glossary/content/cloud-orchestration.html cloud orchestration이란? https://github.com/kubernetes/kubernetes Kubernetes https://aws.amazon.com/ko/containers/ AWS의 컨테이너 https://docs.aws.amazon.com/cdk/v2/guide/home.html AWS CDK Guide https://docs.aws.amazon.com/cdk/api/..