AWS
-
들어가기 앞서서.. 지금 회사는 아무래도 중도 입사를 했다 보니 인프라를 다 콘솔로 만들어놔서 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 -
최근 입사한 회사에서 조직마다 클러스터를 따로 쓰고 있다보니 관리에 애로사항이 꽃필 것 같아서 IaC를 하기 위해 조금씩 스터디해서 저장해놓는 글 AWS Provider 사용 시 provider "aws" { region = "ap-northeast-2" #사용 리전 profile = "dev" #aws profile shared_config_files = [ "~/.aws/config" ] #aws configure 후 저장된 config file 사용을 선언 shared_credentials_files = [ "~/.aws/credentials" ] #aws configure 후 저장된 credentials file 사용을 선언 } Access Key를 하드 코딩하면 보안 상 좋지도 않고 EKS 쓰려..
Terraform Provider최근 입사한 회사에서 조직마다 클러스터를 따로 쓰고 있다보니 관리에 애로사항이 꽃필 것 같아서 IaC를 하기 위해 조금씩 스터디해서 저장해놓는 글 AWS Provider 사용 시 provider "aws" { region = "ap-northeast-2" #사용 리전 profile = "dev" #aws profile shared_config_files = [ "~/.aws/config" ] #aws configure 후 저장된 config file 사용을 선언 shared_credentials_files = [ "~/.aws/credentials" ] #aws configure 후 저장된 credentials file 사용을 선언 } Access Key를 하드 코딩하면 보안 상 좋지도 않고 EKS 쓰려..
2022.07.30 -
안녕하세요. 오랜만의 글입니다. AWS ELB와 Nginx를 운영할 경우 access.log 파일에 Client 사용자의 IP가 아닌 ELB의 IP가 찍히도록 되어 있습니다. 아무래도 ELB를 통해 Nginx가 연결되다 보니, 위 처럼 ELB의 IP가 찍히는게 맞다고 생각 됩니다. Client IP를 수집하기 위해선 nginx의 Config를 수정해야 합니다. 방법은 nginx 설정 중에 아래 코드를 넣어주면 됩니다. real_ip_header X-Forwarded-For; set_real_ip_from 0.0.0.0/0; 적용 후 nginx reload 후 Client IP가 정상적으로 수집되는 것을 확인할 수 있습니다.
AWS ELB에서 Nginx Log에 Client IP 수집안녕하세요. 오랜만의 글입니다. AWS ELB와 Nginx를 운영할 경우 access.log 파일에 Client 사용자의 IP가 아닌 ELB의 IP가 찍히도록 되어 있습니다. 아무래도 ELB를 통해 Nginx가 연결되다 보니, 위 처럼 ELB의 IP가 찍히는게 맞다고 생각 됩니다. Client IP를 수집하기 위해선 nginx의 Config를 수정해야 합니다. 방법은 nginx 설정 중에 아래 코드를 넣어주면 됩니다. real_ip_header X-Forwarded-For; set_real_ip_from 0.0.0.0/0; 적용 후 nginx reload 후 Client IP가 정상적으로 수집되는 것을 확인할 수 있습니다.
2020.05.17 -
안녕하세요. 오늘 글은 지난 시간에 이어서 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