Helm
·
Cloud/Kubernetes
✅ Helm이란?: 쿠버네티스용 오픈소스 패키지 매니저로, 패키지의 설치, 업데이트를 편리하게 수행하도록 도와준다. 레드햇 계열의 Yum, 데비안 계열의 APT과 유사한 기능을 제공한다. Helm을 이용하면 Redis 클러스터 구성이나 Wordpress 환경 등의 복잡한 소프트웨어를 하나의 명령어로 쿠버네티스 클러스터에 배포할 수 있다.롤링 업데이트 등 쿠버네티스에 최적화된 다양한 기능을 지원하기 때문에, 애플리케이션을 효율적으로 관리할 수 있다는 장점이 있다.✅ Helm 설치직접 다운로드curl -sL https://get.helm.sh/helm-v버전-운영체제종류-amd64.tar.gz -o 저장파일경로가장 최신 버전을 다운받아 압축을 풀어준다. (https://github.com/helm/helm/..
Ansible Playbook
·
Cloud/Ansible
✅ Ansible Playbook: 자동화할 작업들을 YAML 파일 형식으로 정리한 스크립트 playbook 기본 구조는 다음과 같다.# example-playbook.yml- hosts: [대상 그룹 이름 또는 all] tasks: - name: [작업 이름] [모듈이름]: [인자]: [값]✅ Playbook 예시 파일 작성first-playbook.yml 파일 작성# first-playbook.yml- hosts: all tasks: - name: Print Message debug: msg: Hello Ansible World 실행 전 문법 검사ansible-playbook --syntax-check [검사할 파일 경로] 문법이 잘못된 경우 ..
Ansible 설치
·
Cloud/Ansible
✅ 제어 노드에 ansible 설치파이썬 설치 확인설치가 안 되어 있으면 설치한다.python3 --version ansible 설치apt install -y ansible 또는 yum install -y ansible확인: ansible --version앤서블에 관련된 설정은 /etc/ansible 디렉토리를 이용한다.환경 설정 파일: ansible.cfg인벤토리 설정: hosts✅ 인벤토리 작성📑 인벤토리를 이용한 자동화 대상 호스트 설정인벤토리 파일은 텍스트 파일이며 앤서블이 자동화 대상으로 관리하는 관리 호스트를 지정한다.INI 형식(이름 = 값) 또는 YAML 파일을 포함한 다양한 형식을 이용해서 작성 가능하다. IP를 이용해서 인벤토리 파일 작성192.168.100.5192.168.100.6..
Ansible Architecture
·
Cloud/Ansible
✅ Community Ansible오픈 소스 형태로, 제어 노드와 관리 노드 두 가지 유형의 시스템으로 구성된다. 앤서블은 제어 노드에 설치되어 실행되고 앤서블이 실행되기 위해서는 python이 설치되어 있어야 한다. 앤서블 안에는 다양한 모듈과 플러그인이 함께 설치되어 있다. 앤서블이 관리하는 노드 정보를 저장하는 인벤토리와 관리 노드에서 수행할 작업 절차가 작성되어 있는 플레이북이 존재한다. 📑 제어 노드: 앤서블이 설치되는 노드 리눅스 운영체제가 설치된 컴퓨터라면 제어 노드가 될 수 있다. 📑 관리 노드: 앤서블이 제어하는 원격 시스템 또는 호스트 관리 노드는 리눅스가 설치된 노드, 윈도우가 설치된 노드 모두 가능하다.public cloud, private cloud의 가상 서버도 가능하다. ...
Ansible
·
Cloud/Ansible
✅ Ansible이란?: IT 인프라 설정을 자동으로 해주는 오픈 소스 도구 사용자가 수작업으로 진행하던 프로비저닝, 환경 설정, 애플리케이션 배포 등의 IT 업무를 코드 기반으로 작성하여 여러 환경에 동일하게 적용할 수 있도록 돕는 역할을 수행한다.✅ 특징No Agent 방식별도의 프로그램 설치 없이, SSH만 연결되면 바로 사용 가능하다. 예전에 많이 사용하던 Puppet이나 Chef는 자동화 관리 대상 서버에 별도의 에이전트를 설치하고 이를 통해 자동화 업무를 수행한다.이런 데몬 형식의 에이전트에 기반한 자동화 도구는 관리를 위한 복잡한 추가 작업이나 운영체제 버전에 따라 추가 패키지나 모듈을 설치하는 등의 작업이 발생한다. 쿠버네티스 : 제어 노드에서 API를 보내면 워커 노드에서 받아서 처리한다..
AWS Database
·
Cloud/Public Cloud
✅ 데이터 저장소 종류📑 RDBMS관계형 데이터베이스 서비스이다.기존 애플리케이션, 전사적 자원 관리(ERP), 고객 관계 관리(CRM), 전자 상거래 등에 활용된다. ex) Amazon Aurora, Amazon RDS, Amazon Redshift 📑 Key-Value Database데이터를 구분하는 키-값 쌍으로 저장하는 구조이다.높은 트래픽의 웹 애플리케이션, 전자 상거래 시스템, 게임 애플리케이션 등에 활용된다. ex) Amazon DynamoDB 📑 In-Memory DB데이터를 메모리에 저장하는 방식으로 속도가 빠르다.Caching, 세션(클라이언트의 정보를 서버에 보관) 관리, 게임 순위표, 지리 공간 애플리케이션 등에 활용된다. ex) Amazon ElasticCache, Amazo..
AWS Elastic Load Balancing
·
Cloud/Public Cloud
✅ Elastic Load Balancing📑 ELB: AWS가 제공하는 로드 밸런서 로드 밸런서는 집중되는 접속을 여러 대나 네트워크에 분배하는 장비를 말한다. 한 대에 집중되는 부하를 분산시키기 때문에 부하 분산 장치라고도 한다. 📑 ELB의 종류ELB는 세 가지 로드 밸런서 유형을 지원한다.ALB(Application Load Balancer)NLB(Network Load Balancer)CLB(Classic Load Balancer)ALB(Application Load Balancer)OSI 계층 중 7계층인 Application Layer에서 동작한다. HTTP 및 HTTPS에 가장 적합한 로드밸런서이다. 요청하는 명령어를 보고 판단하기 때문에 대상의 URL 디렉토리 단위로 분배하는 것이 가..
AWS EC2
·
Cloud/Public Cloud
✅ AWS EC2(Amazon Elastic Compute Cloud): 컴퓨팅 용량을 제공하는 서비스 서버 및 네트워크 운영은 AWS가 담당하지만 운영체제를 포함해서 필요한 소프트웨어는 사용자가 직접 설치하고 운영해야 한다. 📑 클릭만으로 최적의 서버 생성 가능서버를 직접 만들긴 하지만, 관리 콘솔에서 클릭 한 번으로 생성할 수 있기 때문에 서버에 대한 기술적 지식은 별로 필요하지 않다.다양한 서버 시스템의 조합(인스턴스 유형)과 OS 및 소프트웨어의 조합이 준비되어 있기 때문에 선택만 하면 서버를 이용할 수 있다. Managed 서비스가 아니기 때문에 AWS에 의해서 강제로 업데이트되지 않는다. 자유도가 높은 반면 관리하기는 어렵다.구체적인 매뉴얼보다 어떻게 구성할 것인가 또는 어느 정도의 성능으로..
AWS
·
Cloud/Public Cloud
✅ 특징서비스 조합이 쉽다. AWS와 AWS 외부 시스템 및 네트워크 연동이 쉽고, 사용이 쉽다.종량제 요금으로, 실제 사용한 만큼만 지불한다.한국어와 한국 원화 결제가 가능하다. 서울에 한국 전담팀이 구성되어 있고 예산 견적이나 시스템 도입 상담을 할 수 있는 APN(Amazon Partner Network) 기업도 있다. AWS가 공식 인증하는 최상위 프리미어 컨설팅 파트너로는 Megazon Cloud, GS 네오텍, 베스핀 글로벌 등이 있다.AWS는 한국 ISMS 인증 등 다양한 보안 인증을 보유하고 있다. ISMS(정보보호 관리체계)는 기업이 정보 보호와 개인정보 보호를 위한 관리 체계를 갖췄는지 인증해 주는 제도이다.글로벌 확장이 쉽다. 가장 많은 Region을 소유하고 있다.✅ 서비스📑 EC..
External IP 서비스
·
Cloud/Kubernetes
✅ External IP 서비스: 특정 쿠버네티스 노드 IP주소:포트에서 수신한 트래픽을 컨테이너로 전송하는 형태로 외부와 통신할 수 있도록 하는 서비스 External IP 서비스에 사용하는 포트 번호 spec.externallPs: 쿠버네티스 노드 IP 주소(ExternallP) spec.ports[].port: ExternallP 와 ClusterIP에서 수신할 포트 번호 spec.ports[].targetPort: 목적지 컨테이너 포트 번호 실습 - External IP 설정워커 노드의 IP 확인kubectl get nodes -o custom-columns="NAME:{metadata.name},IP:{status.addresses[].address}" external IP 설정을 위한 yam..