일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Service Account
- 추가 보안 그룹
- IRSA
- 테라폼
- aws ses #aws lambda
- fruition
- Docker0
- helm_release
- Terraform
- s3
- clusterrolebinding
- 에이전트 유형
- httpasswd
- NAT
- jenkins
- aws-loadbalacner-controller
- kubernetes
- 코드커버리지
- docker
- Amazon CloudWatch
- Gateway
- assumerole
- 클러스터 보안 그룹
- Pipeline
- route53
- saa-c03 #saa #aws certified solutions architect - associate
- node group
- ingestion
- 에이전트 구성
- instances failed to join cluster
- Today
- Total
목록Terraform (9)
cloudwithbass
이전 포스팅까지의 인프라 구성도입니다.이전 포스팅에선 aws-loadbalancer-controller의 helm chart를 이용해 ALB를 구성했습니다.이번 포스팅의 목표는 두 가지입니다.대표적인 모니터링 도구인 Prometheus와 Grafana를 helm chart로 배포합니다.Route53을 이용해 호스팅 영역 별로 Prometheus와 Grafna로 접속하는 도메인을 생성합니다. (예시: prometheus.example.com과 grafana.example.com)모든 소스코드는 아래 주소에서 확인하실 수 있습니다.https://github.com/Dminus251/practice-terraform/tree/main/demo09-monitoring목차 1. Prometheus 구성하기helm..
이전 포스팅까지의 인프라 구성도입니다.이전 포스팅에선 private subnet을 노드 그룹으로 관리하도록 구성했었습니다.이번 포스팅에선 이 노드 그룹에 안정적으로 트래픽을 전달하도록 로드 밸런서를 구성할 것입니다.모든 소스 코드는 아래 주소에서 확인하실 수 있습니다.https://github.com/Dminus251/practice-terraform/tree/main/demo08-ingress목차1. helm 차트 구성AWS의 aws-loadbalancer-controller 문서와 Helm artifact hub 문서를 참고해서 helm chart 구성합니다.Terraform에서는 Helm 차트를 사용할 때 helm_release 리소스를 사용합니다.helm.tfresource "helm_releas..
지난 포스팅까지 테라폼으로 구성했던 인프라의 구성도입니다. 이번 포스팅에선 private subnet의 ec2 instance를 제거하고, eks nodegroup을 통해 private subnet의 인스턴스를 관리해보겠습니다.또한 그 과정에서 발생한 'instances failed to join cluster' 에러를 해결한 과정을 기록했습니다. 아직 테라폼을 공부 중이기 때문에 내용이 부정확할 수 있지만.. 어쨌든 에러는 해결했습니다.또한 블로그에서 다루지 못한 내용이 있을 수 있으며, 최신 상태의 전체 코드는 아래 github에서 확인하실 수 있습니다.https://github.com/Dminus251/practice-terraform/tree/main/demo07-ng 목차1. Launch Tem..
지난 포스팅까지 구성했던 Terraform 인프라 구성도입니다.이번 포스팅에선 priavte subnet에 EKS cluster를 구성해보겠습니다.전체 소스 코드는 아래 깃허브에서 확인하실 수 있습니다.https://github.com/Dminus251/practice-terraform/tree/main/demo06-eks목차1. Cluster테라폼 문서를 참고해 eks cluster를 구성합니다. modules/t-aws-eks/cluster/main.tfresource "aws_eks_cluster" "example" { name = var.cluster-name role_arn = var.cluster-role_arn vpc_config { subnet_ids = var.clust..
지난 포스팅에서 ec2 인스턴스를 생성했습니다.이번 포스팅에서는, ec2 구성 시 반드시 확인해야 하는 보안 그룹에 대해 알아보겠습니다.보안 그룹의 인그레스 규칙이 설정되지 않으면, 라우팅 테이블이 제대로 구성되어 있어도 트래픽이 인스턴스에 도달할 수 없습니다. 이번 포스팅에선 테라폼으로 security group을 구성합니다.소스 코드는 다음 github 주소에서 확인 가능합니다.https://github.com/Dminus251/practice-terraform/tree/main/demo05-sg목차 1. 보안 그룹 모듈 구성하기 modules/t-aws-sg/main.tf보안 그룹 모듈입니다.aws_security_group 테라폼 문서를 참조해 작성합니다.'코드를 어떻게 짜야 간결성과 재사용성을..
현재까지 서브넷, NAT, IGW, Route Table을 테라폼으로 구성했습니다.이번 포스팅에선 ec2 instance를 구성하고, 서브넷을 다시 모듈화할 생각입니다.소스 코드는 아래 깃허브에서 확인할 수 있습니다.https://github.com/Dminus251/practice-terraform/tree/main/demo04-ec2목차1. 서브넷 모듈화하기지난 포스팅까진 모듈 내에서 count를 사용해 반복적으로 서브넷을 생성했었지만, 코드를 일관적으로 만들기 위해 루트 모듈에서 반복문을 사용하도록 수정했습니다. 그에 따라 루트 모듈과 서브넷 모듈의 코드가 조금 바뀌었습니다. moduels/t-aws-public_subnet/main.tfresource "aws_subnet" "public_subn..
지난 포스팅에서 public subnet을 인터넷과 통신하도록 구성했습니다. (https://cloudwithbass.tistory.com/44)이번 포스팅에선 private subnet이 인터넷에 연결할 수 있도록 구성할 것입니다.전체 코드는 https://github.com/Dminus251/practice-terraform/tree/main/demo03-nat에서 확인하실 수 있습니다. 목차1. NAT에 관해서왜 private subnet이 인터넷에 연결해야 할까?private subnet은 보안을 위해 인터넷에서 온 트래픽을 허용해선 안 됩니다. 하지만 private subnet에서 인터넷으로 나가는 트래픽을 허용해야 하는 경우가 있습니다.패키지 설치/업데이트 (apt update, apt upg..
목차이번 포스팅에선 모듈화 연습을 위해 간단한 데모를 만들어볼 것입니다.vpc와 subnet을 이용합니다. 클릭 시 관련 테라폼 문서로 이동할 수 있습니다.혹시 포스팅에 잘못된 점이나 개선점이 있을 경우, 댓글로 알려주시면 정말 감사드리겠습니다.전체 코드는 다음 주소에서 확인 가능합니다.https://github.com/Dminus251/practice-terraform/tree/main/demo01-vpc_subnetresource 블록을 제외한 블록들입니다. 1. vpc와 subnet 생성모듈화를 하기 전에, main.tf의 초기 코드를 보겠습니다.테라폼의 vpc, subnet 문서를 참조해서 main.tf에 다음 코드를 작성합니다.이 코드는 cidr이 10.0.0.0/16인 VPC와, 그 안에서 ..
목차 테라폼이란?Terraform은 HashiCorp사에서 공개한 IaC (Infra as a Code) 도구입니다. IaC를 이용해 인프라 구성/관리를 자동화할 수 있습니다.따라서 인프라 배포 시간이 단축되고, 휴먼 에러를 줄일 수 있습니다.Terraform 외 IaC 도구는 Ansible, CloudFormation 등이 있습니다.Terraform 상태 파일Terraform은 상태 파일(terraform.tfstate)을 사용해 인프라의 현재 상태를 추적합니다.이 상태 파일은 JSON 형식으로 저장되며, Terraform이 관리하는 모든 리소스의 정보를 담고 있습니다.terraform apply 명령으로 인프라를 프로비저닝하면, 상태 파일인 terraform.tfstate를 생성합니다.새로운 terr..