기술/AWS
-
기존에는 EKS에서 노드 그룹을 관리 위해서는 Cluster-Autoscaler를 이용하여 Autoscaling 그룹을 조정하여 운영해왔습니다. 이럴 경우 몇가지 문제가 발생 됩니다. 1. Autoscaling 그룹은 인스턴스의 생성/삭제가 느리다. 2. Topology 이슈 3. 무조건 1대 이상의 인스턴스가 실행되어 있어야 한다. 1번의 경우 Autoscaling 그룹의 원하는 용량(desire)을 조정하여 스케일링 하므로, 동작이 매우 느린 단점이 있습니다. 2번의 경우 Autoscaling 그룹이 가용영역 별로 인스턴스의 수량을 균등하게 유지하려는 특성이 있기 때문에, PV가 있는 가용영역에 생성되지 않는 불상사(?)가 발생될 수 있습니다. 3번의 경우 빌드 서버로 예를 들면, 빌드 서버는 상시로..
Karpenter 설치 및 후기기존에는 EKS에서 노드 그룹을 관리 위해서는 Cluster-Autoscaler를 이용하여 Autoscaling 그룹을 조정하여 운영해왔습니다. 이럴 경우 몇가지 문제가 발생 됩니다. 1. Autoscaling 그룹은 인스턴스의 생성/삭제가 느리다. 2. Topology 이슈 3. 무조건 1대 이상의 인스턴스가 실행되어 있어야 한다. 1번의 경우 Autoscaling 그룹의 원하는 용량(desire)을 조정하여 스케일링 하므로, 동작이 매우 느린 단점이 있습니다. 2번의 경우 Autoscaling 그룹이 가용영역 별로 인스턴스의 수량을 균등하게 유지하려는 특성이 있기 때문에, PV가 있는 가용영역에 생성되지 않는 불상사(?)가 발생될 수 있습니다. 3번의 경우 빌드 서버로 예를 들면, 빌드 서버는 상시로..
2023.07.14 -
들어가기 앞서서.. 지금 회사는 아무래도 중도 입사를 했다 보니 인프라를 다 콘솔로 만들어놔서 Terraform을 사용하려면 import가 필요했다. terraform import의 문제점 1. 각 리소스를 하나 하나 나열해야 하며 2. 각 리소스에 맞는 리소스 id을 매칭해야 한다. 예시) terraform import aws_vpc.test_vpc vpc-a0123456 리소스 리소스 이름 리소스 id 3. 이것만 해야 하는 것이 아니라 아래 양식의 tf 파일도 만들어줘야 한다. 예시) resource "aws_vpc" "test_vpc" {} 어느 세월에 vpc, subnet, routing table, igw, eip 기타 등등 명시하고 리소스id 가져오고 한단 말인가... 1인 전산인 나는 이런..
terraformer를 이용하여 aws resource import 해보기들어가기 앞서서.. 지금 회사는 아무래도 중도 입사를 했다 보니 인프라를 다 콘솔로 만들어놔서 Terraform을 사용하려면 import가 필요했다. terraform import의 문제점 1. 각 리소스를 하나 하나 나열해야 하며 2. 각 리소스에 맞는 리소스 id을 매칭해야 한다. 예시) terraform import aws_vpc.test_vpc vpc-a0123456 리소스 리소스 이름 리소스 id 3. 이것만 해야 하는 것이 아니라 아래 양식의 tf 파일도 만들어줘야 한다. 예시) resource "aws_vpc" "test_vpc" {} 어느 세월에 vpc, subnet, routing table, igw, eip 기타 등등 명시하고 리소스id 가져오고 한단 말인가... 1인 전산인 나는 이런..
2022.12.02 -
안녕하세요. 오늘 글은 지난 시간에 이어서 Jenkins Pipeline을 이용하여 Docker Image Build 후 AWS ECR로 Push 하는 방법에 대해서 다뤄볼까 합니다. 준비물 : AWS Accesss Key, AWS IAM(ECR PermissionAmazonEC2ContainerRegistryPowerUser), AWS ECR ECR의 권한은 꼭 PowerUser이거나 Full Access가 필요합니다. ECR 권한 관련 백서 https://docs.aws.amazon.com/ko_kr/AmazonECS/latest/developerguide/ecr_managed_policies.html#AmazonEC2ContainerRegistryPowerUser Amazon ECR 관리형 정책 d..
Jenkins Pipeline을 이용하여 Docker Image를 ECR로 Push안녕하세요. 오늘 글은 지난 시간에 이어서 Jenkins Pipeline을 이용하여 Docker Image Build 후 AWS ECR로 Push 하는 방법에 대해서 다뤄볼까 합니다. 준비물 : AWS Accesss Key, AWS IAM(ECR PermissionAmazonEC2ContainerRegistryPowerUser), AWS ECR ECR의 권한은 꼭 PowerUser이거나 Full Access가 필요합니다. ECR 권한 관련 백서 https://docs.aws.amazon.com/ko_kr/AmazonECS/latest/developerguide/ecr_managed_policies.html#AmazonEC2ContainerRegistryPowerUser Amazon ECR 관리형 정책 d..
2020.04.14 -
IDC MySQL(MASTER)와 RDS MySQL(Replication) 연결하기 IDC에 있는 MySQL과 RDS의 MySQL을 동기화하여 마이그레이션이 실시간으로 이루어지도록 한다. 마스터 서버에서 작업 1) Replication 계정 생성 GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'%' IDENTIFIED BY 'password'; 2) my.cnf 설정 변경 [mysqld] log-bin=mysql-bin server-id=1 3) 마스터 status 확인 [mysql] show master status\G *************************** 1. row *************************** File: mysql-bin.00000..
IDC MySQL(MASTER)와 RDS MySQL(Replication) 연결하기IDC MySQL(MASTER)와 RDS MySQL(Replication) 연결하기 IDC에 있는 MySQL과 RDS의 MySQL을 동기화하여 마이그레이션이 실시간으로 이루어지도록 한다. 마스터 서버에서 작업 1) Replication 계정 생성 GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'%' IDENTIFIED BY 'password'; 2) my.cnf 설정 변경 [mysqld] log-bin=mysql-bin server-id=1 3) 마스터 status 확인 [mysql] show master status\G *************************** 1. row *************************** File: mysql-bin.00000..
2019.10.19 -
안녕하세요. Terraform 시리즈의 2번째 Security Group(보안 그룹) 만들기입니다. VPC를 만들었으니, 이제 보안 그룹을 만들어서 앞으로 만들 EC2나 RDS 등에게 적용할 준비를 해야 합니다. 구성은 단순하며, 이번엔 기본 구성 방법과 Module을 이용한 방법에 대해 소개합니다. #기본 생성 방식 resource "aws_security_group" "web" { vpc_id = "${module.vpc.vpc_id}" #생성할 위치의 VPC ID name = "WEB" #그룹 이름 description = "Terraform WEB SG" #설명 ingress { from_port = 22 #인바운드 시작 포트 to_port = 22 #인바운드 끝나는 포트 protocol = "t..
Terraform을 이용한 Security Group 만들기안녕하세요. Terraform 시리즈의 2번째 Security Group(보안 그룹) 만들기입니다. VPC를 만들었으니, 이제 보안 그룹을 만들어서 앞으로 만들 EC2나 RDS 등에게 적용할 준비를 해야 합니다. 구성은 단순하며, 이번엔 기본 구성 방법과 Module을 이용한 방법에 대해 소개합니다. #기본 생성 방식 resource "aws_security_group" "web" { vpc_id = "${module.vpc.vpc_id}" #생성할 위치의 VPC ID name = "WEB" #그룹 이름 description = "Terraform WEB SG" #설명 ingress { from_port = 22 #인바운드 시작 포트 to_port = 22 #인바운드 끝나는 포트 protocol = "t..
2019.09.17 -
안녕하세요. 오늘에만 벌써 2번째 포스팅이네요. 사실 다음에 쓰려고 했는데, 공부하다 보니 Terraform Module이 있는 것을 확인하였습니다. Module? 과연 얼마나 편리할까 의심했었는데요. VPC Module을 이용하여 좀더 단순하고 간단하게 VPC 생성을 완료할 수 있었습니다. VPC Module에 대한 레퍼런스는 아래 링크를 참조 부탁드립니다. https://registry.terraform.io/modules/terraform-aws-modules/vpc/aws/2.15.0 이전 포스트에서 작성한 코드는 여기를 보시면 됩니다. 모듈을 사용하여 만든 코드를 볼까요? module "vpc" { source = "terraform-aws-modules/vpc/aws" #사용할 Module 지..
Terraform Module을 이용한 VPC 및 Subnet, Routing 생성하기안녕하세요. 오늘에만 벌써 2번째 포스팅이네요. 사실 다음에 쓰려고 했는데, 공부하다 보니 Terraform Module이 있는 것을 확인하였습니다. Module? 과연 얼마나 편리할까 의심했었는데요. VPC Module을 이용하여 좀더 단순하고 간단하게 VPC 생성을 완료할 수 있었습니다. VPC Module에 대한 레퍼런스는 아래 링크를 참조 부탁드립니다. https://registry.terraform.io/modules/terraform-aws-modules/vpc/aws/2.15.0 이전 포스트에서 작성한 코드는 여기를 보시면 됩니다. 모듈을 사용하여 만든 코드를 볼까요? module "vpc" { source = "terraform-aws-modules/vpc/aws" #사용할 Module 지..
2019.09.12