분류 전체보기

    [6주차] T101 테라폼 기초 입문 스터디 (23.10.08)

    [6주차] T101 테라폼 기초 입문 스터디 (23.10.08)

    들어가며안녕하세요, Devlos입니다. 이번 포스팅은 T101 스터디 3기 마지막 주차인 TFC Remote execution에 대한 내용에 대해 배웠습니다. 이전 주차에서 TFC를 처음 사용하면서 많이 편하다고 생각했었는데, 이번 주차에서는 TFC에서 fully 하게 다양한 기능을 사용해 볼 수 있을 것 같아서 기대하고 있었습니다!! * 본 스터디의 자료는 아래의 책을 기반으로 합니다. 테라폼으로 시작하는 IaC | 김민수, 김재준, 이규석, 이유종 | 링크 테라폼으로 시작하는 IaC | 김민수 - 교보문고테라폼으로 시작하는 IaC |product.kyobobook.co.kr TFC(Terraform Cloud) Remote execution지난 5주 차 과정에서는 TFC를 Local에서 사용하는 Lo..

    [5주차] T101 테라폼 기초 입문 스터디 (23.09.24)

    [5주차] T101 테라폼 기초 입문 스터디 (23.09.24)

    들어가며이번 포스팅에서는 지금까지 배운 Terraform 개념들을 활용하여 실제 업무를 수행할 때 혼자가 아닌 팀, 조직단위에서 관리를 하는 방법들에 대하여 배웠습니다. 그리고 말로만 듣던 TFC를 직접 이용해 보면서(먼저 활용해볼 수 있었는데도 말이죠.. ^^;) 편안하고 운영 환경을 잘 관리하기 위한 여러 가지 기능들을 사용해 보았습니다. * 본 스터디의 자료는 아래의 책을 기반으로 합니다. 테라폼으로 시작하는 IaC | 김민수, 김재준, 이규석, 이유종 | 링크 테라폼으로 시작하는 IaC | 김민수 - 교보문고테라폼으로 시작하는 IaC |product.kyobobook.co.kr 협업형상관리 도구를 통해 여러 작업자가 동일한 테라폼 코드를 공유해 구성하여 작업하게 됩니다. 이럴 때는 Locking이..

    [4주차] T101 테라폼 기초 입문 스터디 (23.09.17)

    [4주차] T101 테라폼 기초 입문 스터디 (23.09.17)

    들어가며이번 주차에는 State와 Module에 대한 스터디를 진행했습니다. State는 지난 스터디들에서 계속 언급이 되고, 직접 확인을 했던 요소이다 보니 익숙했습니다. Module은 기존에 만들던 WAS에 많이 적용되어 있는 내용이라 친숙했고, 또 실무에서 주의 깊게 고민하고 있는 이슈인 재사용성 역시 올려줄 수 있는 것이라 정확히 이해하고 넘어가는 것이 중요하다고 생각했습니다. * 본 스터디의 자료는 아래의 책을 기반으로 합니다. 테라폼으로 시작하는 IaC | 김민수, 김재준, 이규석, 이유종 | 링크 테라폼으로 시작하는 IaC | 김민수 - 교보문고테라폼으로 시작하는 IaC |product.kyobobook.co.kr State테라폼은 어떤 리소스를 관리하고 있는지, 그리고 그 리소스의 현재 상..

    [3주차] T101 테라폼 기초 입문 스터디 (23.09.10)

    [3주차] T101 테라폼 기초 입문 스터디 (23.09.10)

    들어가며 이번 주차에는 지난주에 이어 테라폼 조건문과 함수 프로바이더, 프로비저너에 대한 개념을 배웠습니다. 비로소 테라폼에서 사용되는 기초문법을 다 배우게 된 시간이었습니다. 이전에 배운 문법들도 과제와 세미나를 통해 반복적으로 사용하다 보니 많이 익숙해진 것 같네요! * 본 스터디의 자료는 아래의 책을 기반으로 합니다. 테라폼으로 시작하는 IaC | 김민수, 김재준, 이규석, 이유종 | 링크 조건문 테라폼에서의 조건식은 3항 연산자 형태를 갖습니다. 조건은 true 또는 false로 확인되는 모든 표현식을 사용할 수 있습니다. 조건식의 각 조건은 비교 대상의 형태가 다르면 테라폼 실행 시 조건 비교를 위해 형태를 추론하여 자동으로 변환합니다. 하지만 헷갈리지 않게 명시적인 형태 작성을 권장합니다. #..

    [2주차] T101 테라폼 기초 입문 스터디 (23.08.27)

    [2주차] T101 테라폼 기초 입문 스터디 (23.08.27)

    들어가며 이번 주차에는 테라폼 기초 개념에 이어 조금 더 본격적으로 프로그래밍 적인 문법을 배웠습니다. 특히 변수 정의, 출력, 반복문에 관련된 내용은 관리의 기초이며 다른 소스코드를 해석함에 있어서도 가장 중요한 부분이라고 생각합니다. 스터디 진행자분께서 해당 내용들을 좋은 예시들을 기반으로 자세히 설명해 주셔서 쉽게 개념을 이해할 수 있었습니다. * 본 스터디의 자료는 아래의 책을 기반으로 합니다. 테라폼으로 시작하는 IaC | 김민수, 김재준, 이규석, 이유종 | 링크 테라폼으로 시작하는 IaC | 김민수 - 교보문고 테라폼으로 시작하는 IaC | '현업에서 요구하는 진짜 IaC 사용법' 테라폼으로 배우는 인프라 운영의 모든 것IaC는 효율적인 데브옵스와 클라우드 자동화 구축을 위해 꼭 필요한 기술..

    [1주차] T101 테라폼 기초 입문 스터디 (23.08.27)

    [1주차] T101 테라폼 기초 입문 스터디 (23.08.27)

    들어가며 드디어 테라폼 스터디가 시작되었습니다. 이전 AEWS에서 EKS기반 Kubernetes 클러스터드를 구축하고 매니징 하는 방법에 대해서 스터디했을 때는 cloudformation을 이용하여 환경을 구축했었는데, 요즘에는 테라폼이 더욱 많이 사용되는 추세인 것 같습니다. 이번 기회에 테라폼을 열심히 학습하여 사내 클라우드 인프라를 IaC(Infra structure as a Code)로 전환을 하는 것을 목표로 잡았습니다. 이번 세미나에서도 역시 스터디 진행자 분께서 다양한 꿀팁과 함께 테라폼의 기본 개념에 대해 잘 설명해 주셨습니다. * 본 스터디의 자료는 아래의 책을 기반으로 합니다. 테라폼으로 시작하는 IaC | 김민수, 김재준, 이규석, 이유종 | 링크 테라폼으로 시작하는 IaC | 김민수..

    [7주차] AEWS Amazon EKS 워크숍 스터디 (23.06.04)

    [7주차] AEWS Amazon EKS 워크숍 스터디 (23.06.04)

    들어가며 이번 세미나에서는 EKS 환경에서의 Automation에 대해서 학습했다. AWS에서 제공하는 컨트롤러를 통해 리소스들을 K8s의 리소스처럼 사용하는 방법을 알게 되었다. 이전 세미나에서 배운 보안 개념(IRSA)이 기반이 되어 세미나 내용을 잘 따라갈 수 있었다. (기적의 세미나 커리큘럼은 무엇인가..) ACK(AWS Controller for K8s) ACK는 AWS 리소스를 k8s에서 직접 정의하고 사용할 수 있도록 개발한 오픈소스 프로젝트이다. AWS에 익숙하지 않은 사용자(예: 플랫폼 엔지니어)가 k8s native 하게 원하는 리소스를 정의하고 사용할 수 있도록 제공할 수 있으며, 그림과 같이 k8s에서 리소스를 관리하는 형태와 흡사하게 AWS리소스를 사용할 수 있다. 출처 - 링크 ..

    [6주차] AEWS Amazon EKS 워크숍 스터디 (23.05.28)

    [6주차] AEWS Amazon EKS 워크숍 스터디 (23.05.28)

    들어가며 이번 세미나에서는 EKS 환경의 인증/인가 로직의 메커니즘에 대해 알게 되었다. 이러한 개념들을 직접 실습해보며 세세하게 이해할 수 있었다. 6회 차가 보안 관련 내용이고, 스터디 내용들에 대한 사전 이해도가 낮았었기 때문에 엄청 걱정하고 있었다. 하지만 세미나 내용을 복기하고 정리하다보니 운이 좋게 이해가 되었다! 가시다님의 설명 + Chat GPT + 김태민 님 강의를 통해 알게 된 사실을 이번 포스팅을 통해 정리한다. K8s 인증/인가의 개념 출처 - 김태민님 기술블로그 - 링크 Authentication X509 Certs, Kubectl, ServiceAccount kubetm.github.io Kubernetes API Server는 kubernetes 클러스터상의 모든 자원을 관리하..

    [5주차] AEWS Amazon EKS 워크숍 스터디 (23.05.21)

    [5주차] AEWS Amazon EKS 워크숍 스터디 (23.05.21)

    들어가며 이번 세미나에서는 Kubernetes Autoscaling의 개념과 Autoscaling을 통해 리소스를 더 효율적으로 관리하기 위한 몇 가지 오픈소스를 알게 되었다. 또한 EKS 기반 클러스터에서 Autoscaling 실습을 진행하며 실무에 어떤 식으로 적용해야 할지에 대한 감을 잡을 수 있었다. Kubernetes Autoscaling Kubernetes 클러스터에서 애플리케이션 또는 워크로드의 수요에 따라 자동으로 리소스를 조정하는 기능이다. 이 기능은 클러스터 내에서 실행 중인 파드의 수를 동적으로 조절하여 애플리케이션의 가용성과 성능을 최적화한다. 참고 - 링크 Practical Introduction to Kubernetes Autoscaling Tools with Linode Kub..

    [4주차] AEWS Amazon EKS 워크숍 스터디 (23.05.14)

    [4주차] AEWS Amazon EKS 워크숍 스터디 (23.05.14)

    들어가며 이번 주차에는 EKS Observability에 대해 학습했다. 지난 PKOS 스터디에서 kOps 클러스터에서 Prometheus + Grafana 기반의 로깅 모니터링에 대해서 학습했었고, 이번 스터디도 EKS 클러스터 환경에서 비슷한 내용을 배웠고, AWSManagement Console의 사용법에 대해서도 배울 수 있었다. 세미나에서 배운 내용은 주로 애플리케이션의 실행 상태나 오류, 경고등을 모니터링할 수 있는 Log trace 관련 내용이었다. 요즘은 더 나아가서 코드의 실행경로와 이벤트 흐름을 추적하여 성능 분석 및 개선을 할 수 있는 Application trace도 많이 사용한다고 한다. EKS 콘솔 AWS Management Console을 사용하여 Kubernetes API를 ..

    [3주차] AEWS Amazon EKS 워크숍 스터디 (23.05.07)

    [3주차] AEWS Amazon EKS 워크숍 스터디 (23.05.07)

    들어가며 이번 주차에는 EKS에서 저장공간을 관리하는 방법에 대해 학습했다. 스토리지 관리는 매우 중요하지만 필자는 자주 접해보진 못한 업무였다. 보통 테스트 서버 또는 운영서버에 할당된 리소스에 애플리케이션을 배포하거나, 필요한 경우 추가 저장소를 마운트 하는 정도로만 가끔 사용했었다. 저번 PKOS 스터디에서도 다양한 프로비저닝 방식을 배웟듯이 이번 세미나에서도 AWS에서 스토리지를 프로비저닝 하는 다양한 방식을 학습할 수 있었다. 이번 글의 주요 내용은 Kubernetes에서 주로 사용하는 스토리지인 PV/PVC를 AWS에서 제공하는 서비스와 연동하여 동적 프로비저닝 하는 것이다. Kubernetes 저장공간에 대하여 Kubernetes 에서 저장공간이란 Pod(Pod 내부의 컨테이너 애플리케이션)..

    [2주차] AEWS Amazon EKS 워크숍 스터디 (23.04.30)

    [2주차] AEWS Amazon EKS 워크숍 스터디 (23.04.30)

    들어가며 이번 주차에는 EKS Networking에 대해서 학습했다. 이전 PKOS 스터디에서도 네트워크 부분이 많이 어려웠는데, 실습과 과제를 통해서 개념을 한번더 다잡아 보는 시간이 되길 바라며 포스팅을 시작한다. 실습환경 세팅 2주차부터는 Amazon EKS를 CloudFormation을 이용하여 배포한다. 스터디 그룹장인 가시다님께서 작성하신 CloudFormation 파일은 1.24버전의 Kubernetes를 사용하는데, 실습의 애플리케이션과 addon의 호환성을 고려한 것이라고 한다. 또한 애플리케이션이 3개의 카피로 동기화 되는 경우가 있기 때문에 AZ가 3개로 구성하여 프로덕션 환경에 맞춰서 온디맨드 노드로 구성했다고 한다. kube-proxy, coredns, aws vpc-cni와 같은..

    [1주차] AEWS Amazon EKS 워크숍 스터디 (23.04.23)

    [1주차] AEWS Amazon EKS 워크숍 스터디 (23.04.23)

    들어가며 지난 PKOS(Production Kubernetes Online Study)에 이어 새로운 워크숍 스터디인 AEWS(AWS EKS Workshop Study)에 참여하게 되었다. PKOS에서는 kOps를 이용하여 클러스터 환경을 구축했었는데, 이번에는 업계에서 가장 많이 사용하고 있는 EKS(Amazon Elastic Kubernetes Service)를 기반으로 클러스터 환경을 구축한다. 자체 Kubernetes 컨트롤 플레인을 운영하고 유지 관리해야 했던 kOps와는 달리 EKS에서는 관리형 서비스 형태로 컨트롤 플레인을 사용할 수 있도록 해준다. 운영을 위해 숙지해야할 클러스터 환경에 대한 내용과 네트워크, 스토리지, 보안 개념 등을 배우게 된다. 이번 주차에는 Amazon EKS를 설치..

    JMeter 사용법 및 Springboot App 부하테스트

    JMeter 사용법 및 Springboot App 부하테스트

    들어가며 Application을 개발한 뒤 성능을 테스트할 필요가 있다. 예상되는 실제 사용량 또는 부하를 시뮬레이션하여 만들어진 Application의 한계를 확인하고, 개선을 통해 안정적으로 서비스를 제공할 수 있기 때문이다. 부하 테스트를 수행하면 Application이 실제 사용 시나리오에서 어떤 성능을 보이는지, 동시에 사용자 수가 증가할 때 시스템이 어떻게 반응하는지 등을 확인할 수 있다. 이를 통해 문제를 개선할 수 있는 지점을 찾아낼 수 있게 된다. 이번 포스팅에서는 Springboot를 기반으로 개발한 WAS를 Apache Software Foundation에서 개발한 Java 기반의 오픈 소스 부하테스트 도구인 JMeter를 이용하여 테스트하는 법에 대해 알아보도록 한다. Apache ..

    Kerberos Authentication을 이용한 Kafka 보안

    Kerberos Authentication을 이용한 Kafka 보안

    들어가며 이번 포스팅에서는 MSA 기반 시스템에서 이벤트 파이프라인 역할을 주로 하는 Kafka(카프카)의 보안 방식에 대해 알아보도록 한다. 카프카 클러스터는 기본적으로 암호화 인증이나 ACLs 설정이 되어 있지 않다. 그래서 모든 클라이언트는 PLAINTEXT 포트를 사용하여 통신이 가능하다. 또한 네트워크 분할 and/or ACLs를 사용하여 신뢰할 수 있는 IP만 접근이 가능하도록 제한할 수 있다. 접근 제어 목록 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 접근 제어 목록[1](access control list, ACL) 또는 액세스 제어 목록[2]은 개체나 개체 속성에 적용되어 있는 허가 목록을 말한다. 이 목록은 누가 또는 무엇이 객체 접 ko.wikipedia.o..

    Docker Image 사이즈 줄이기

    Docker Image 사이즈 줄이기

    들어가며 이번 포스팅에서는 효과적으로 Docker image를 빌드하여 사이즈를 줄이는 방법에 대해서 알아보도록 한다. 필자는 주로 Spring Boot App을 빌드/배포한다. 오늘 다룰 조사내용을 알게 되기 이전에는 이미지의 크기가 마이크로서비스 하나당 약 700M 정도 잡아먹었다. 하지만 지금은 약 300M 정도까지 줄여서 사용하고 있다. ( x 마이크로 서비스 갯수 x 버전별 이미지 이런 식으로 계산해 보면 레이어가 재활용된다고 해도 생각보다 큰 용량을 차지하게 된다.) Docker Image에 대하여 Docker Image는 원하는 프로세스를 구동하기 위한 모든 파일들을 한번에 묶은 것이다. Docker Image는 순수한 파일들의 집합으로써 메모리 정보나 독자적인 형식으로 저장된 시스템 정보 ..

    Microservice Architecture의 서비스 설계, 개발, 관리 방식

    Microservice Architecture의 서비스 설계, 개발, 관리 방식

    들어가며 마이크로서비스 입문 단계에서 가장 고민스러운 부분은 '거대한 하나의 시스템을 어떤 식으로 나누는 것이 좋은가?' 이다. 필자가 2년간 마이크로서비스 기반으로 시스템을 설계하면서 느낀 것은 답은 정해져 있지 않다는 것이다. 고객과 약속한 SLA(Service Level Agreement)가 존재하거나, 시스템에서 미션크리티컬한 기능, 또는 관리적인 부분, 생산성을 위한 젼략 등 중요하게 생각하는 관점이 매번 달라지기 때문이다. 개발자가 반복문을 사용함에 있어 for 문 foreach 문 while 문 중 하나를 선택하여 개발하는 것처럼 시스템에서 제공해야 할 기능을 잘 동작한다면 상관없다. 하지만 필자가 처음 설계할 때는 뭔가 정답이 있을 것만 같아서 개운치 않은 기분을 느낀 적이 많았다. 이번 ..

    [7주차] PKOS 쿠버네티스 실무 실습 스터디 (23.02.26)

    [7주차] PKOS 쿠버네티스 실무 실습 스터디 (23.02.26)

    스터디에서 진행하는 이론 및 실습은 PKOS 스터디 자료 및 이정훈 님의 "24단계 실습으로 정복하는 쿠버네티스" 서적의 내용을 기반으로 합니다. 24단계 실습으로 정복하는 쿠버네티스 | 위키북스 | 이정훈 | 링크 24단계 실습으로 정복하는 쿠버네티스 | 이정훈 - 교보문고 24단계 실습으로 정복하는 쿠버네티스 | 실무 현장의 경험을 고스란히 담은 쿠버네티스 실습서!직접 해야만 알 수 있는 것들이 있습니다. 쿠버네티스도 마찬가지입니다. 쿠버네티스의 기반이 되 product.kyobobook.co.kr 들어가며 이번 주 스터디에서는 kOps Cluster (Kubernetes Cluster)의 보안 구성에 대한 내용을 배웠다. 회사에서 개발하는 서비스를 오픈하기 전에 반드시 신경 써야 할 부분이 보안이다..

    [6주차] PKOS 쿠버네티스 실무 실습 스터디 (23.02.19)

    [6주차] PKOS 쿠버네티스 실무 실습 스터디 (23.02.19)

    스터디에서 진행하는 이론 및 실습은 PKOS 스터디 자료 및 이정훈 님의 "24단계 실습으로 정복하는 쿠버네티스" 서적의 내용을 기반으로 합니다. 24단계 실습으로 정복하는 쿠버네티스 | 위키북스 | 이정훈 | 링크 24단계 실습으로 정복하는 쿠버네티스 | 이정훈 - 교보문고 24단계 실습으로 정복하는 쿠버네티스 | 실무 현장의 경험을 고스란히 담은 쿠버네티스 실습서!직접 해야만 알 수 있는 것들이 있습니다. 쿠버네티스도 마찬가지입니다. 쿠버네티스의 기반이 되 product.kyobobook.co.kr 들어가며 이번 주 스터디에서는 kOps Cluster (Kubernetes Cluster)의 node들의 매트릭을 통해 Slack으로 알림을 전송하고, Pod들의 Log를 수집한 후 Grafana에서 모니..

    [5주차] PKOS 쿠버네티스 실무 실습 스터디 (23.02.12)

    [5주차] PKOS 쿠버네티스 실무 실습 스터디 (23.02.12)

    들어가며 이번주 스터디에서는 kOps Cluster (Kubernetes Cluster)의 node들의 매트릭을 수집하는 방법에 대하여 학습했다. kOps 클러스터에 매트릭 서버를 설치한 다음 각 노드들의 Kubelet에 존재하는 cAdvisor가 수집한 데이터를 Prometheus에 단일 차트화 한 다음 Grafana를 통해 시각화를 하는 방법에 대해 알 수 있었다. 스터디 내용에 앞서 간략하게 두 OSS (Open Source Software)에 대해 알아보자. Prometheus Prometheus는 이벤트 모니터링과 경고에 사용되는 무료 소프트웨어 애플리케이션 툴이다. 유연한 쿼리와 실시간 경고 기능이 있으며 시계열 데이터베이스에 실시간 매트릭을 기록한다. CNCF Graduated 프로젝트다. ..