CloudNetaStudy 13

[4주차] 보안설정 / 모니터링 자동화

이 글은 CloudNet@ 팀 gasida님의 스터디 A101 1기 내용 및 실습으로 작성된 글입니다. 보안 설정 자동화 # 패스워드 변경 주기 설정 패스워드 변경 주기를 설정할 대상 호스트는 인벤토리를 통해 설정하며, 사용자 계정 정보와 최대 변경일은 변수를 통해 별도의 파일로 정의하고 ansible.builtin.user 모듈을 사용한다. 프로젝트 디렉터리 생성 및 플레이북 생성과 ansible.cfg, inventory를 생성한다. 사전형 변수 플레이북을 생성하고 메인 플레이북을 생성하는데 패스워드 변경 주기는 user 모듈의 password_expire_max 파라미터로 설정한다. 플레이북을 실행하기 전에 --syntax-check과 --check 옵션을 사용해서 문법을 체크하고 시뮬레이션을 한..

[3주차] 시스템 구축 및 환경 설정 자동화

이 글은 CloudNet@ 팀 gasida님의 스터디 A101 1기 내용 및 실습으로 작성된 글입니다. Playbook 개발 앤서블의 플레이 북을 생성하기 위해서 사전 분석과 함께 플레이 북 설계가 이루어져야한다. 플레이북을 설계 할 때는 생각하는 플레이북의 파일 이름과 태스크명, 사용할 모듈과 변수를 정의하고 변수명, 변수를 선언할 위치도 함께 설계하는 것이 좋다. * 사용자 계정 생성하기 1. 먼저 사용자 계정을 생성하기 위한 프로젝트 디렉터리와 ansible.cfg, inventory 파일을 작성한다. 2. 사용자 계정 정보가 정의된 변수 파일을 생성하는데, vault로 생성을 진행하며 vault로 생성 시 처음에 비밀번호를 입력해서 생성해주어야한다. 아래 내용을 에디터 창으로 변환이 되었을 때 ..

[2주차] Ansible 반복문과 조건문

이 글은 CloudNet@ 팀 gasida님의 스터디 A101 1기 내용 및 실습으로 작성된 글입니다. 반복문 1. 단순 반복문 - loop 키워드를 작업에 추가하면 반복해야 하는 작업을 항목의 목록을 값으로 사용한다. sshd와 rsyslog 서비스가 시작되어 있지 않다면, 시작하는 명령의 yml 파일을 생성한다. --- - hosts: all tasks: - name: Check sshd and rsyslog state ansible.builtin.service: name: "{{ item }}" state: started loop: - sshd - rsyslog 사용하는 아이템을 변수에 저장하면 loop 키워드에서 변수 목록을 변수로 사용할 수 있다. --- - hosts: all vars: se..

[1주차] Ansible 개념과 설치

이 글은 CloudNet@ 팀 gasida님의 스터디 A101 1기 내용 및 실습으로 작성된 글입니다. What is Ansible? Ansible은 클라우드 프로비저닝, 구성 관리, 애플리케이션 배포, 서비스 내 오케스트레이션 및 기타 여러 IT 요구 사항을 자동화하는 매우 간단한 IT 자동화 엔진이다. Ansible의 주요 강점은 단순성과 사용 용이성이며, Linux 클라이언트를 원격으로 구성하기 위해 SSH 프로토콜을 사용한다. (Window는 WinRM 프로토콜 사용) 프로토콜을 사용할 수 없는 경우에는 API를 사용하여 서버, 워크스테이션, 도커, 네트워크 장비 등에 Ansible을 사용할 수 있다. Ansible은 푸시 기반이므로 각 실행 사이에 대상 서버의 상태를 유지하지 않고, 반대로 실..

[6주차] Stackable Operator

이 글은 CloudNet@ 팀 gasida님의 스터디 DOIK 2기 내용 및 실습으로 작성된 글입니다. What is Stackable? Kubernetes를 사용하는 모든 환경에서 데이터 인프라를 배포, 확장 및 관리할 수 있는 Operator이다. (Stackable은 Kubernetes를 기반으로 클러스터를 관리) 빅데이터 플랫폼으로부터 시작되었으며, 지금은 아래와 같이 다양한 서비스를 지원하고 있다. stackable은 cli로 사용할 수도 있지만, gui로도 사용할 수 있다. - 공식문서 참고: https://docs.stackable.tech/management/stable/cockpit/ 실습 Stackable 설치 stackable을 사용하기 위해 아래와 같이 작업을 진행했고, 우리가 사용..

[5주차] Kafka & Strimzi Operator

이 글은 CloudNet@ 팀 gasida님의 스터디 DOIK 2기 내용 및 실습으로 작성된 글입니다. What is Kafka? 웹사이트, 어플리케이션, 센서 등에 취합한 데이터를 스트림 파이프라인을 통해 실시간으로 관리하고 보내기 위한 분산 스트리밍 플랫폼이다. 데이터를 생성하는 어플리케이션과 데이터를 소비하는 어플리케이션 간의 중재자 역할을 함으로써 데이터의 전송 제어, 처리, 관리 역할을 한다. 카프카 시스템은 여러 요소(노드)와 함께 구성될 수 있어 카프카 클러스터 라고 하기도 하는데 다른 메시징 시스템과 마찬가지로 어플리케이션과 서버 간의 비동기 데이터 교환을 용이하게 하고, 하루에 수 조개의 이벤트 처리가 가능하게 하는 역할을 한다. 카프카는 데이터 파이프 라인을 만들 때 주로 사용되는 오픈..

[4주차] Percona Operator for MongoDB

이 글은 CloudNet@ 팀 gasida님의 스터디 DOIK 2기 내용 및 실습으로 작성된 글입니다. What is MongoDB? 오픈소스 비관계형 데이터베이스 관리 시스템(DBMS)으로, 테이블과 행 대신 유연한 문서를 활용해 다양한 데이터 형식을 처리하고 저장한다. NoSQL 데이터베이스 솔루션인 MongoDB는 관계형 데이터베이스 관리 시스템(RDBMS)을 필요로 하지 않으므로, 사용자가 다변량 데이터 유형을 손쉽게 정리하고 쿼리할 수 있는 탄력적인 데이터 저장 모델을 제공한다. Mongo DB의 주요 기능 중 하나는 스키마가 있는 JSON과 같은 문서 형식으로 데이터를 저장하는 문서 지향 데이터 모델이다. NoSQL "not only SQL", "non-SQL"으로도 불리는 NoSQL은 관계형..

[3주차] Cloud Native PostgreSQL

이 글은 CloudNet@ 팀 gasida님의 스터디 DOIK 2기 내용 및 실습으로 작성된 글입니다. What is PostgreSQL? 오픈 소스 객체-관계형 데이터베이스 시스템(ORDBMS)으로, 약 20년 정도의 역사를 가지고 있으며 전 세계 오픈소스 개발자들과 관련 회사들이 개발에 참여하고 있다. 다른 관계형 데이터베이스와 달리 연산자, 복합 자료형, 집계 함수, 자료형 변환자, 확장 기능 등 다양한 데이터베이스 객체를 사용자가 임의로 만들 수 있는 기능을 제공함으로써, 하나의 새로운 프로그래밍 언어처럼 무한한 기능을 쉽게 구현할 수 있다. 관계형 DBMS의 기본적인 기능인 트랜잭션과 ACID(Atomicity, Consistency, Isolation, Durability)를 지원한다. Pos..

[2주차] K8S Operator & Inno DB

이 글은 CloudNet@ 팀 gasida님의 스터디 DOIK 2기 내용 및 실습으로 작성된 글입니다. K8S Operator 란? - 사용자 정의 리소스를 사용하여 애플리케이션 및 해당 컴포넌트를 관리하는 쿠버네티스의 소프트웨어 익스텐션 - K8S Operator는 CR 유형을 감시하고 애플리케이션별 작업을 수행하여 현재 상태를 해당 리소스(사용자 정의)에서 원하는 상태와 일치 - 애플리케이션이 실행되는 동안 이를 지속적으로 모니터링하고, 시간 경과에 따라 자동으로 데이터 백업, 장애 복구, 애플리케이션 업그레이드 작업을 할 수 있음 → 리소스: 직접 정의한 CRD(Custom Resource Definition) → 감시: CRD 상태 변화를 감지 → 상태 일치: Object가 원하는 상태가 되도록 ..

[2주차] 실습 환경 세팅하기

이 글은 CloudNet@ 팀 gasida님의 스터디 DOIK 2기 내용 및 실습으로 작성된 글입니다. 기본 세팅 IAM & SSH Key 준비 사전에 IAM과 SSH key(Key pair)는 구성이 완료된 상태이다. 터미널에도 aws configure이 등록된 상태! * 만약에 기존 aws configure이 등록되어있는 경우 user 디렉터리에 있는 .aws 디렉터리를 삭제후 다시 등록하면 된다. Stack 배포 및 확인 제공해주신 Stack 을 서울리전을 선택하여 CloudFormation 으로 자동 배포 제공해주신 Stack을 배포하는데 대략 20분 정도가 걸리며, 배포 완료되면 총 9개의 Stack이 확인된다. # SSH 접속 및 설치 확인 # SSH Bastion 접근 ssh -i ~/.ss..