리뷰 (Review) 더보기 Application Service 제공을 위한 동작을 하는 프로그램 Application 구성 요소 Application binary Application에서 사용하는 공유 라이브러리 Traditinal Deployment 물리적인 서버에 Application 설치를 통한 서비스 제공 Application이 물리적인 서버의 리소스를 직접적으로 활용 가능함 물리적인 서버의 리소스를 과다하게 사용하는 것에 대해 통제가 쉽지 않음 Application 설치 시 필요 공유 라이브러리가 없으면 설치에 어려움 Virtualized Deployment 가상 머신을 구성하여 Application 배포 가상 머신을 Application이 동작할 수 있는 최상의 환경으로 구성하여 배포하여 전..
리뷰 (Review) 더보기 Playbook 제어 구조 순차 구조 - 명령이 기술된 순서로 순차적으로 수행하는 구조 선택 구조 - 조건에 따라 명령의 실행 순서를 변경할 수 있는 구조 반복 구조 - 특정 명령을 일정 횟수 동안 반복해서 수행하는 구조 반복문 Task를 반복해서 동작 시킬 때 사용 with_* 키워드와 loop 키워드 사용 조건문 (선택문) Task를 특정 조건에만 작업 수행을 하도록 구성할 때 사용 when 키워드 사용 Include (포함) Playbook의 내용이 많아지거나 복잡한 경우 더 작은 단위로 나누면 관리의 편의성이 높아진다. Playbook을 모듈로 나누어 관리하게 되면 재사용성이 높아진다. (모듈화) import - role, task, playbook 등을 정적으로 포함..
리뷰 (Review) 더보기 Playbook의 Play 코드 구조 타겟 부분 Play에 대한 공통 정보 name, hosts, user, become, gather_facts, ... 변수 부분 (선택 사항) 테스크 부분 Task 목록, Managed node에서 수행할 모듈 명시 Play에서 변수(Variable) 내용 출력 debug 모듈 사용 변수 내용을 사용하고자 할 때는 "{{변수명}}" 형식으로 사용 var 또는 msg 파라미터를 이용하여 변수 내용 출력 Task 결과 변수 저장 Task 동작 결과에 따라 변수를 설정할 때는 모듈을 호출할 때 register 사용하여 변수 생성 error 발생하더라도 무시하고자 하면 ignore_errors: True 사용 팩트 (Facts) Managed n..
리뷰 (Review) 더보기 모듈 Ansible을 이용하여 Managed node에 대해 구성 관리(환경 설정)를 수행하는 실질적인 동작 수행 모듈은 namespace 단위로 관리 namespace는 모듈의 집합을 의미 모듈은 기본적으로 멱등성을 가지고 있다. command, shell, raw 모듈은 멱등성이 반영되지 않는다. YAML 데이터를 표현하는 목적으로 사용하는 script 형식 선언 정보나 환경 설정 정보를 기술하는 목적으로 활용 YAML은 단계 표현을 위한 들여쓰기는 스페이스 2칸을 사용, tap 사용 시 오류 발생 Playbook 인벤토리에 정의된 Managed node에서 무엇을 해야 할 것인가(서버 환경 구성 정보)를 정의한 내용 YAML 포맷으로 표현 설정이나 프로세스에 대한 모델 ..
리뷰 (Review) 더보기 IaaS - Infrastructure as a Service Cloud를 통해 가상 머신 환경을 온디멘드로 제공 IaC - Infrastructure as a Code 인프라 구성을 코드를 사용하여 자동으로 구축, 관리, 프로비저닝 IaC를 통해 코드를 기반으로 인프라를 관리하고, 일관성을 유지하고, 배포 관리가 쉽다. Ansible 특징 Agentless 멱등성 - Idempotency 재사용성 - Reusability Ansible 구성 요소 제어 노드 - Contol node Ansible을 실행하는 node Ansible 제공 프로그램을 이용하여 Managed node 관리 매니지드 노드 - Managed node 인벤토리 - Inventory Managed node..
한동안 VMware Workstation을 만져보다가, 오랜만에 VirtualBox가 생각나서 실행을 시켰는데 VM이 실행되지 않았다. 발생한 오류는 Failed to open/create the internal network ‘HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter’ 라는 문구가 떴다. 여기저기 구글링을 해본 결과 윈도우 업데이트 후에 이런 상황이 발생하는 것 같다. 최근에 윈도우 업데이트를 하는 바람에 이렇게 된 것이 아닌가 생각해 본다. 해결 방법 VirtualBox Uninstall - 기존 VM은 유지되고 프로그램만 지워짐 VirtualBox 재설치 VM 네트워크 확인 VM 실행 해당 과정에서 VM이 실행되지 않았는데 실행에..
리뷰 (Review) 더보기 IaC Infrastructure as Code, 프로그래밍형 인프라 인프라 구성을 코드를 통해 자동으로 구축, 관리, 프로비저닝 비용 절감, 배포 속도 향상, 휴먼 에러 감소, 인프라 일관성 향상 (멱등성) 용어 프로비저닝 - provisioning 클라우드 서비스를 시작하고 구성하는 것을 프로비저닝이라 한다. 인프라를 설정하는 프로세스로 시스템, 데이터, 네트워크 작동을 준비하는 과정을 의미 형상 관리 - configuration management 이력 관리 서버 운영상 필요한 소프트웨어를 설치하고 설정으로 관리하는 것 설정 관리에 사용되는 여러 정보 이력을 관리 오케스트레이션 - orchestration 여러 시스템 또는 서비스를 조정하는 것 오케스트레이션의 목표는 배..
리뷰 (Review) 더보기 Cloud Design Pattern AWS-CloudDesignPattern en.clouddesignpattern.org IaC 개요 IaC Infrastructure as Code, 프로그래밍형 인프라 인프라 구성을 코드를 통해 자동으로 구축, 관리, 프로비저닝 ex) 100개의 서버로 구성된 인프라 구축 수동 설정 - 오랜 시간이 걸리고 구축 도중 오류 발생 확률이 높다. IaC 활용 설정 - 하나의 코드를 통해 100개의 서버를 자동으로 구축 IaC 장점 비용 절감 배포 속도 향상 오류 감소 인프라 일관성 향상 (멱등성) 멱등성 - 언제나 동일한 결과 제공 용어 프로비저닝 - provisioning 클라우드 서비스를 시작하고 구성하는 것을 프로비저닝이라 한다. 인프라..
리뷰 (Review) 더보기 S3 데이터를 저장할 때 버킷 단위로 저장하고 저장되는 단위는 객체 (object) 별도의 File system에 의하여 객체를 관리하지 않는다. 버킷에 별도의 폴더를 생성할 수 있으나 일반적인 디렉토리와는 다른 의미 무제한의 저장 공간을 제공하고, 한 객체의 최대 크기는 5TB 버킷은 데이터를 저장하는 공간을 의미 S3 기능 가장 주 목적은 객체 저장 - 데이터 저장 멀티 파트 업로드 버전 관리 수명 주기 관리 정적 웹 서비스 (사이트) 호스팅 전송 속도 향상 edge location을 이용하여 contents 전송 속도 향상 Amazon Cloud Front (CDN) 서비스를 이용한 전송 속도 향상 S3 사용 적합한 경우 한 번 쓰고 여러 번 읽어야 하는 경우 데이터가 ..
리뷰 (Review) 더보기 S3 (Simple Storage Service) 객체 단위 저장 스토리지 EC2와는 별도로 사용되는 serverless 형식의 서비스 서비스 자체는 글로벌 서비스지만 생성은 별도의 리전에 생성 무제한으로 저장 공간을 제공하고, 한 객체의 최대 크기는 5TB S3에 객체를 저장하기 위해서는 버킷(bucket)을 먼저 생성해야 한다. 스토리지 서비스 - S3 S3 (Simple Storage Service) 버킷에 저장되는 단위는 객체 객체는 S3의 버킷에 저장되는 하나의 데이터 의미 키, 데이터, 메타 데이터로 구성 객체 하나의 크기는 1byte ~ 5TB S3 스토리지 클래스에 따라 저장 비용과 검색 속도의 차이가 발생 S3는 별도의 File System에 의하여 객체를 관..