일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- unity
- API
- SSL
- 구글
- logstash
- Python
- docker
- Windows
- ChatGPT
- Ai
- AWS
- sample
- mariadb
- elasticsearch
- build
- 유니티
- ssh
- 설정
- JS
- error
- Kibana
- MySQL
- nodejs
- 영어
- s3
- Linux
- JavaScript
- MSSQL
- 연동
- Today
- Total
목록개발 이야기/인프라 구축 및 운영 (94)
가끔 보자, 하늘.
이번에는 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/..
#01에서는 배포 과정과 ECR/ECS를 이용해 서비스 인프라를 구축하는 과정을 간단히(?) 살펴봤습니다. 이 글에서는 public subnet로 설정했던 fargate task(이하 task)를 private vpc로 수정해 외부에서는 alb만을 통해서 접속할 수 있도록 보안을 강화하고 비용을 줄이도록 개선해 보겠습니다. 이번글은 다음과 같은 순서로 진행됩니다. 기존 ECS 정리하기 Private VPC로 ECS 설정하기 1. 기존 ECS 정리하기 이전에 만들었던 ECS를 우선 정리해보겠습니다. 클러스터는 굳이 지울 필요없습니다. 내부의 서비스와 실행중인 task들만 지우면 됩니다. ECS -> 클러스터 -> "서비스" 탭 -> 삭제할 서비스 선택 -> 삭제 후 실행중인 작업도 종료합니다. 2. Pri..
SSM 사용자 권한 생성 EC2 IAM Role에 사용할 Role 생성 및 방화벽 설정 SSM Agent 설치 VPC EndPoint 설정 GOSSM으로 연결하기 [ SSM 사용자 권한 생성 ] aws ssm 명령 대신 gossm을 사용합니다. gossm은 ssm으로 접속 가능한 ec2 instances를 콘솔창에 출력/선택해서 사용해 줄 수 있는 오픈소스 툴입니다. 이를 위해 ssm을 사용할 계정에 아래와 같이 인라인 정책을 추가하여 사용하게 합니다. { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "ec2:DescribeRegions", "ec2:DescribeInstanc..
자신의 서비스를 systemd에 등록할 때는 아래와 같은 절차로 진행하면 됩니다. 이 글에서는 my-service라는 이름으로 자체 서비스를 등록한다고 가정해 보겠습니다. /lib/systemd/system 폴더 안에 my-service.service를 생성하고 아래 내용을 입력합니다. my-service는 /usr/local에 설치했다고 가정하겠습니다. [Unit] Description=my-service Documentation=https://your_site/doc/path Wants=network-online.target After=network-online.target [Service] WorkingDirectory=/usr/local/my-service ExecStart=/usr/local/m..
이번에 Jenkins + ECS로 CI/CD를 구축하면서 겪었던 삽질을 정리해 보았습니다. 부디 이 글을 보시고 같은 삽질 덜 하시길 바랍니다. "Hello"라는 텍스트를 돌려주는 간단한 API 서비스를 만들고 배포하는 과정을 살펴보려 합니다. 아래와 같은 절차, 인프라를 구성해 볼 예정입니다. 작업할 순서는 다음과 같습니다. 계정 생성 ECR 등록 Jenkins 설정 및 배포 ECS 구축 서비스 시작하기 1. 계정 생성 우선 사용할 계정을 하나 생성하겠습니다. CD에 사용할 계정은 인프라 관리를 위한 중요 권한을 할당해야 하는데, 안쓸때도 권한을 유지하기 보다는 AssumeRole을 이용하여 CD 시에만 일시적으로 권한을 할당하여 사용하도록 하겠습니다. "사용자 권한"은 별도 설정을 하지 않고 완료합니..