# CloudNet

Terraform Study #3
3주차 💡 ‘테라폼으로 시작하는 IaC’ 책으로 진행하는 Terraform 스터디[T101] 3주차 정리내용입니다. 이번시간은 테라폼 기본사용 마지막 단계(3/3)이다. 이번주차에서는 조건문, 함수, 프로비저너, data block에 대해 배운 뒤 프로바이더를 경험해보고 마무리된다. 개인적으로 nullresource에 대해 잘몰랐다. 많이 사용한 플러그인 중 하나라고 한다..! 이번 기회에 잘 배워두면 좋을 것 같다. (지금은 terraformdata가 같은 기능을 수행한다.) Conditional(조건문) 조건 문의 경우 C언어의 삼항연산자와 유사하다. 그 외에는 지원하지 않는 모양이다. 형식: condition ? trueval : falseval 실습 main

Terraform Study #2
💡 ‘테라폼으로 시작하는 IaC’ 책으로 진행하는 Terraform 스터디[T101] 2주차 정리내용입니다. 데이터 소스 데이터 소스(data)는 외부의 리소스 혹은 저장된 정보를 내부로 가져올 때 사용한다. 기본 사용법은 2기 스터디원 Ssoon님이 블로그에 잘 정리해주셨다. 아래와 같이 AMI나 AZ를 조회할 때 유용하다. ubuntu AMI 조회 AZ 검색 입력 변수 변수는 Terrraform 코드를 동적으로 구성할 수 있게 한다. 테라폼에서는 이것을 입력 변수 Input Variables 로 정의한다. 선언 예시 위와 같이 변수를 정의할 때 다양한 메타인수를 넣을 수 있다. 관련 정보는 아래와 같다. 💡 변수 정의 시 사용 가능한 메타인수 **defau

Terraform Study #1
1주차 💡 ‘테라폼으로 시작하는 IaC’ 책으로 진행하는 Terraform 스터디[T101] 1주차 정리내용입니다. 평소에 테라폼에 관심이 많아, 자격증도 취득하고 공부를 했다. 공부를 했지만, 아직 이것저것 헷갈리는 게 많다. 이를 구체화시키고, 실무에 대한 조언을 들을 겸 스터디에 참가하게 되었다. 나중에는 Golang 연습할 겸 코드도 뜯어보고 싶다. 스터디는 CloudNet에서 주관하고 유형욱님과 윤서율님이 진행해주신다. 1주차에서는 테라폼에 대해 알아보고, 실행 환경을 세팅한다. 이후 EC2를 배포해보면서 기본 문법과 명령어에 대해 학습한다. 테라폼 제공유형 On-premise : Terraform이라 불리는 형태로, 사용자의 컴퓨팅 환경에 오픈소스 바이너리툴인 테

EKS 스터디 7주차
요약 먼저, 이번 과제를 마지막으로 EKS 스터디는 끝이났다. 스터디 완주와 귀여운 Go 캐릭터들이 모여 기쁘다. 스터디를 하면서 많은 일들이 있었다. (실수로 AWS 토큰을 노출해서, 메일도 날라오고..) EKS 실무 관련 경험이 없었는 데, 정말 많은 이론을 배우고, 따라하며 익힐 수 있었다. 앞으로 복습을 하며 추후 예정으로 미뤄뒀던 실습과 이론을 진행하면서 내용을 세부화해서 포스팅할 예정이다. 그동안 스터디를 준비해주신 가시다님과 CloudNet 팀 덕분에 많이 배울 수 있었다. 정말 감사합니다 ㅎㅎ!! 스터디에 관심있으신 분은 CloudNet에서 확인할 수 있습니다! 이번 주차의 주제는 Automation이다. ACK와 Flux에 대해 실습을 진행하고, 아주 간단히 ArgoCD를 진행한다. AWS C

EKS 스터디 6주차
이번 주차에는 EKS 보안에 대해 배웠다. 먼저, 쿠버네티스의 인증 인가 체계에 대해 배우고, EKS는 어떻게 다른 지 학습한다. 이후 IRSA에 대한 실습을 마지막으로 이번주차가 종료된다. 환경세팅 이번의 EKS 배포환경은 이전 주차와 크게 다르지 않다. EKS 인증/인가 테스트를 위해 작업용 EC2가 하나 추가되었다. 가시다님이 제공해주신 CloudFormation을 통해 배포를 실시한다. K8S 인증/인가 쿠버네티스의 인증 인가 체계를 살펴보면 아래의 그림과 같다. 인증 단계를 거친다. 인증이 완료되면 인가 단계를

EKS 스터디 5주차
요약 이번 주차에는 오토스케일링에 대해 진행했다. 파드의 오토스케일링으로 HPA, VPA 그리고 노드에 비례해서 파드 개수를 조정하는 CPA까지 있다. 노드를 스케줄링하는 KEDA, CA, Karpenter 까지 진행하면서 이번주차는 끝난다. 파드의 스케줄링은 파드의 리소스 사용량을 기준으로 진행한다. 파드의 개수를 늘리는 것은 부하분산이 없다면 의미없는 일이지만, selector 를 통한 부하분산을 지원하기에 효과적이다. 또한, VPA는 리소스를 늘리나 재실행이 필요하다는 단점이 있다. 앞으로 재실행없이 리소스 변경이 가능할지도 모른다. ([Docs)], HPA -VPA 모두 쿠버네티스에서 지원해줘, 플러그인 설치 없이 진행가능하다. 노드를 스케줄링하는 CA, KEDA, Karpenter가 있다. CA는 파드를 통해 모니터링하고, 리소스 메트

EKS 스터디 4주차
요약 이번 4주차 주제는 Observability이다. 이번 실습에서는 AWS에서 기본적으로 제공해주는 기능과 프로메테우스, 그라파나 등을 직접 배포해보며 학습했다. 순서는 AWS에서 제공해주는 콘솔을 통한 로깅, CloudWatch로 시작되고 Metrics-server, kwatch 등 다양한 툴을 실제 클러스터에 배포해본다. 이후 프로메테우스와 그라파나와 같은 대표적인 모니터링 툴을 사용해보며 마무리된다.

EKS 스터디 3주차
요약 이번주에는 스토리지와 관련된 부분을 배웠습니다. 순서는 EKS 배포 환경, LB, External DNS 등 2주차 내용에 이어 추가적으로 진행하는 부분, 스토리지에 대한 이해와 각 방식에 대한 실습을 진행한 뒤 EBS, EFS 를 적용해보는 것으로 마무리됩니다. 환경 배포 환경배포파일이 저번주와 달라졌습니다. 기존에 것에서 저번주차와 이번주차 진행할 내용들이 추가되었습니다. 앞으로 실습내용을 작업용 EC2에서도 확인하기 위해 EFS를 마운트합니다. mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport **.efs.ap-northeast-2.amazonaws.com:/ /mnt/myefs `kubectl config rename-context admin@myeks.ap-northeast-2.eksc

EKS 스터디 2주차
요약 2주차의 주제는 네트워크이다. EKS에서 사용하는 CNI인 ENI의 장점과 실습을 통한 원리를 중점적으로 파악하였다. 이후 서비스, 로드밸런서, Ingress, External DNS, Istio로 이어지나 도메인을 구매하는 데 실패하여 External DNS 실습은 진행하지 못했다. (~5.8 진행예정) 화요일날 블로그 포스팅을 작성할 예정이었으나 컨디션이 안좋아서 속도가 안나와 토요일에 와서 포스팅을 했다. 한번에 진행한 실습이 아니다 보니, 자원을 재생성하는 과정에서 IP 등 여러 결과값이 앞과 뒤가 살짝 다를 수 있다. 이번 블로그에서 사용되는 용어를 정리해보면 다음과 같다. CNI(Container Network Interface) ENI(Elastic Network Interface) : ec2 내부의 가상 네트워크 인터페이스, ec2에서 여러 개의 IP주소 사용가능 Prefix Delegation : 접두사 위임으로, 192.168.

EKS 스터디 1주차
참여 계기 현재 데브옵스 신입 엔지니어로 회사에서 업무를 진행하는 중이지만, 쿠버네티스 환경에 대한 부족한 실력으로 어려움이 많았다. CKA 자격증을 통해 쿠버네티스 공부를 시작했지만, 실무에 대한 부족함을 느끼던 와중에 회사 동료에게 추천을 받아 CloudNet 팀에서 주관하는 EKS 스터디에 지원했다. 스터디는 1시간 30분가량 가시다님의 강의와 두 분의 경험발표로 구성되었다. 아직 신입 엔지니어이기에 잘 따라가지 못할까 걱정스럽지만 퀄리티 높은 자료와 스터디원분들이기에 배울 것이 많아보여 설렌다. 요약 매번 시작해야지 생각만 했던 블로그를 시작해본다. .! 부족한 점이 많지만 앞으로 수정하며 수준을 높이려 한다. 전체적으로 스터디 내용을 기반으로 정리했고, 쿠버네티스에 대해 부족한 것이 많아 중간중간 기본적인 내용도 추가적으로 정리했다. 1주차의 주제는

쿠버네티스 스터디 (PKOS 2기) - 5주차
글에 중간 중간에 첨부된 다이어그램은 스터디에서 사용하는 다이어그램을 캡처하였습니다. 쿠버네티스 보안도구 활용 쿠버네티스 내부에 실행중인 모든 파드는 기본설정으로 클러스터 내 다른 모든 파드와 통신이 가능하다. 따라서 특정 파드가 외부 공격자에 노출되면 같은 노드 내 다른 파드는 물론 통신이 가능한 클러스터 전체의 다른 노드에서 실행중인 모든 파드에 영향이 가게 된다. 쿠버네티스의 대표적 취약점 컨테이너는 호스트 노드와 커널을 공유하므로 부적절하게 설정된 컨테이너의 root 권한은 호스트 노드에 영향을 끼칠 수 있음 클러스터 내에서 실행 중인 파드는 노드 간 이동이 자유로워 특정 파드에 문제가 생기면 전체 노드로 문제가 확산될 수 있음 온프레미스 쿠버네티스 또는 매니지드 클라우드 서비스 등 다양한 환경으로 구성된 쿠버네티스 환경은 통일된 보안 구성을 유지하기 어려움 보안 적용 대상 클라우드 (Cloud) 클러스터 (Cluster) 3
PKOS 스터디 후기
5주간의 스터디를 마치며 가시다님의 스터디 참여기회를 얻어 PKOS 스터디에 참여하게 되었다. 온라인으로 진행되는 스터디는 처음이였는데, 여러모로 좋은점이 많은 것 같다. 우선, 아이 둘(아들 둘..) 인 부모로서 오프모임은 꿈도 못꾸는게 사실인데, 일요일 저녁 8시에서 10시까지 진행되는 온라인 스터디 모임은 도전해볼만 하다. 보통 주말에 나들이나 1박2일 여행을 다녀온다. 아이들 크면 안따라 다닌다는 얘기를 많이 듣고 나도 그랬었기 때문에 조금이라도 아이들이 아이의 모습일때 많은 추억을 만들고 싶어서 주말엔 무조건 외출이다. 아마 모든 부모들이 공감하겠지.. 스터디가 시작되고 일요일에는 늦어도 오후 5시쯤에는 집에 들어와서 후다닥 아이들 목욕 씻기고 저녁 먹이고 와이프한테 양해를 구하고, 아이들과 먼저 잘자라고 인사를 나누고 휙 들어오면 7시 50분.. 후다닥 zoom에 접속을 하면 신나는 라운지 음악이 나오면서 가시다님이 곧 등장하길 기다리면 된다. 난 이번 스
쿠버네티스 스터디 (PKOS 2기) - 4주차
글에 중간 중간에 첨부된 다이어그램은 스터디에서 사용하는 다이어그램을 캡처하였습니다. 쿠버네티스 모니터링 도구 메트릭 서버 쿠버네티스에서 기본적인 메트릭 집합을 지원한다. 메트릭 파드를 설치하면 사용자는 간단하게 명령어로 현재 노드와 파드의 CPU, 메모리 사용량을 확인 할 수 있다. 메트릭 서버는 사용자의 kubectl top 명령어를 API 서
쿠버네티스 스터디 (PKOS 2기) - 3주차
글에 중간 중간에 첨부된 다이어그램은 스터디에서 사용하는 다이어그램을 캡처하였습니다. GitOps와 ArgoCD(문어) ArgoCD는 Kubernetes 네이티브 애플리케이션 배포 및 운영 자동화 도구이다. GitOps 워크플로우를 사용하여 애플리케이션을 배포하고 관리할 수 있다. 즉, GitOps 워크플로우에서는 애플리케이션 배포 및 관리를 Git 리포지토리에 커밋하여 자동화 한다. ArgoCD는 GitOps를 구현하는 데 필요한 여러 기능을 제공 ArgoCD의 주요 특징 GitOps 워크플로우: ArgoCD는 Gi
쿠버네티스 스터디 (PKOS 2기) - 2주차
글에 중간 중간에 첨부된 다이어그램은 스터디에서 사용하는 다이어그램을 캡처하였습니다. > CloudNet팀의 가시다님 스터디로 진행됩니다. Basic Concept 쿠버네티스 서비스 기존 가상머신 환경처럼 파드간 연결에 고정된 IP 주소를 이용하면 쿠버네티스 환경에서 새롭게 생성되는 파드는 기존 파드와 IP 주소가 다르므로 IP주소를 다시 환경변수 파일 등에서 수정해야 하므로 추가 시간이 소요됨. 쿠버네티스는 클러스터 내부 혹은 외부 연결에 따라 ClusterIP, Headless와 NodePort, LoadBalancer로 나뉜다. 특징 노드 내 실행중인 여러 파드로 부하를 분산하는 로드밸런싱 기능을 자체적으로 지원 CoreDNS 및 LocalDNS 설정 쿠버네티스는 서비스 이름을 기준으로 도메인 이

Terraform Fundamentals
Definition Terraform's configuration language is declarative, meaning that it describes the desired end-state for your infrastructure Hashcorp에서 개발한 Infrastructure as Code로, Kubernetes와 같이 선언형 방식을 사용한다. AW
[AWS 네트워크] AWS 인프라
01. AWS 인프라 > 본 블로그 내용은 '따라하며 배우는 AWS 네트워크 입문' 도서를 바탕으로 정리한 내용입니다. 모든 저작권은 CloudNet@에 있습니다 :) 📌 AWS Network 소개 AWS VPC : 독립된 가상의 클라우드 네트워크 > VPC(Virtual Private Cloud)는 AWS 클라우드 내 논리적으로 독립된 섹션을 제공하여, 사용자가 정의한 가상 네트워크 상에서 다양한 AWS 리소스를 실행할 수 있게 지원합니다. AWS VPN : 가상 사설망 > VPN(Virtual Private Network)는 공용 인터넷을 통해 가상의 사설 네트워크를 구성하여 프라이빗 통신을 제공합니다. 이를 통해 데이터 암호화, 전용 연결 등 여러 보안