DevOps 41

ELB(일래스틱 로드 밸런서)

ALB, NLB 1. ALB (Application Load Balancer) Application Load Balancer는 OSI 7계층에서 일곱 번째 계층인 애플리케이션 계층에서 작동한다. 로드 밸런서는 요청을 받으면 우선순위에 따라 리스너 규칙을 평가하여 적용할 규칙을 결정한 다음, 규칙작업의 대상 그룹에서 대상을 선택한다. - HTTP, HTTPS, WebSoket을 활용하는 로드밸런서라는 것이 가장 큰 특징이다. - ALB는 HTTP Header, 요청 Method 등을 이용해 사용자의 요청을 적절한 대상그룹으로 라우팅(부하분산)할 수 있으며 규칙에 우선순위를 두고 차례대로 적용할 수 있다. - HTTP 헤더에는 표준헤더, 요청헤더, 응답헤더, 일반 헤더가 존재한다. 요청 상황, 응답 상황에 ..

DevOps/AWS 2023.02.13

Pattern4. 가용성을 중시한 인트라 웹

재해 시에도 시스템이 정상작동하게끔 구성할 경우 1. 데이터 센터 다중화 - 복수의 가용성 영역(AZ)에 걸쳐 인프라를 구성한다. 2. 장애 자동 복구 - 감시 서비스인 클라우드 워치로 장애를 조기에 탐지하고 자동적으로 복구한다. 3. 리전의 다중화 DNS 서비스인 라우트 53이 가진 기능인 DNS 장애 복구 기능을 사용하여 장애 발싱 시에 백업 사이트로 자동 전환한다. 1. 장애 발생을 전제로 설계하기 2. AZ 다중화가 기본이다. AWS에서 가용성을 높이는 가장 기본적이면서 효과가 큰 방법은 복수의 AZ에 걸쳐 리소스를 배치하는 것이다. AZ는 AWS의 데이터 센터에 해당하며 하나의 리전에 최소 2개 이상 리전이 준비되어 있다. RDS와 EC2는 멀티-AZ기능을 활용해 다른 AZ에 중복된다. 장애 복..

DevOps/AWS 2023.02.13

Apache Tomcat

1. Apache Tomcat 폴더구조 2. webapps https://hamdi.tistory.com/23 [자바] Tomcat 구조 및 server.xml과 context.xml의 차이 * 톰캣 기본 폴더구조 * Tomcat.../context.xml, server.xml 구조 * context.xml에 대해 1) Context란 - Context 설정은 톰캣에서 구동되는 하나의 웹 어플리케이션 자체의 설정을 의미한다. 주요 설정으로 ContextPath, hamdi.tistory.com 3. server.xml server.xml 은 톰캣이 실행시 필요한 정보를 정의한 파일이다. 포트 정보, DB 접속정보, 웹 리소스(ex. jsp, image 파일) 참조경로, 이벤트 리스너(event liste..

Terraform 테라폼, 여러 클라우드의 이기종 환경에서 프로비저닝 위함.

1. 테라폼이란? 테라폼은 오픈소스 IaC소프트웨어로 해시코프HashiCorp에서 출시했다. 해시코프 구성 관리 언어라고 불리는 고수준 구성관리 언어로 데이터 센터 인프라를 정의한다. 2. 테라폼 시작 https://btcd.tistory.com/20 테라폼(Terraform)이란? - 개념, 장점, 관리툴 ※ 목차 ▶ IAC 가상화 기술의 발전 Iac 란 Iac 종류 ▶ Terraform Terraform 개념 Terraform 장점 Terraform 구성 사용관리 툴 들어가기전에.. IT산업에 종사하면서 도구의 사용법을 익히는 것도 중요하지만, 그 btcd.tistory.com

AWS VPC - IntenetGateway - Subnet - Router - RoutingTable

1. VPC를 구축할 때 VPC의 아이피 범위 VPC를 구축할 때는 VPC의 아이피 범위를 RFC 1918이라는 사설 아이피 대역에 맞추어 구축해야 한다. VPC에서 사용하는 사설 아이피 대역 - 10.0.0.0 ~ 10.255.255.255(10/8 prefix) - 172.16.0.0 ~ 172.31.255.255(182.16/12 prefix) - 192.168.0.0 ~ 192.168.255.255(192.168/16 prefix) 한 번 설정된 아이피 대역은 수정할 수 없고, VPC는 하나의 리전에 종속된다. VPC는 각각 완전히 독립적이기 때문에 VPC간 통신을 원하면 VPC피어링 서비스를 이용 2. Subnet 서브넷은 VPC를 잘개 쪼개는 과정 VPC 안에 존재하며 더 작은 단위이기 때문에..

DevOps/AWS 2023.02.04

Ansible-Playbook

Ansible이 작업장의 도구면 Ansible Playbook은 작업 메뉴얼이고 Inventory는 재료이다. 1. Ansible 구성요소 1. Inventory : 관리할 대상의 서버 리스트, 자동화 대상(Managed Node)목록을 작성하는 곳 2. Modules : host에 action을 수행하는 스크립트, 자동화 기능 내장 패키지로 하나의 완전한 단위 기능 제공 3. Playbook : 앤서블의 구성, 배포 및 오케스트레이션이 포함된 파일로 OS 구성에서 애플리케이션 배포와 모니터링까지 4. 시스템의 상태를 순차적으로 정의할 수 있다. 5. Plug-in: 확장 기능(emai, logging) 제공 6. Custom modules : 사용자가 작성한 모듈 2. Playbook 예시 // Pla..

CloudFormation (클라우드 포메이션)으로 인프라 관리하기

IaC 의 두 종류 : 1. Provisioning Tool (프로비저닝 도구) 2. SCM Tool( 구성관리도구) 1. Provisioning Tool -> Terraform, CloudFormation 모든 가상 리소스(가상 서버, 로드 밸런서, 스토리지, 네트워크 계층 등)를 코드로 관리한다. 2. 시스템 구성에 초점을 두는 구성관리(Configuration System) - Ansible 운영체제 구성부터 패키지 설치 및 애플리케이션 배포까지 자동화 3. 클라우드 포메이션 https://btcd.tistory.com/123 참고 : Terraform & Ansible외의 도구 개념 및 관계 - 2 안녕하세요! 하씨가문의 영광입니다. 이전시간에는 Puppet & Chef를 다뤄봤는데요! 이번 시간..

Docker & Kubernetes

1. 도커의 개념 1) 컨테이너 서비스 : 서비스하고자 하는 애플리케이션 코드와 프로세스를 격리가능하게 한다. 컨테이너 서비스는 기본 환경과 다르게 애플리케이션 실행에 필요한 바이너리, 라이브러리 및 구성파일 등을 패키지로 묶어 배포하는 방식으로 논리적 패키징 매커니즘을 제공한다. 호스트 운영체제를 공유하고 애플리케이션에 필요한 환경을 패키징 하는 것을 운영체제 레벨 가상화라고 한다. (vs. 하드웨어 레벨 가상화 : 하이퍼바이저 등을 이용한 가상머신 방식) 컨테이너 동작에 필요한 모든 내용을 사전에 코드로 작성하여 Ansible고 같은 인프라 프로비저닝도구로 자동화하게 되면 기업이 필요할 때 마다 애플리케이션 및 서버 환경을 적은 비용으로 빠르게 개발, 배포, 확장할 수 있다. 이를 IaC(Infras..

DevOps 2023.01.29

Jenkins, Packer, Ansible의 역할

1. 프로비저닝이란? 사용자의 요구에 맞게 서버를 설정해 두었다가 필요시 서버를 즉시 사용할 수 있는 상태로 미리 준비해 두는 것. ex) ec2 인스턴스에 JDK를 설치해 두거나 MySQL을 설치하고 DB를 생성해두는 작업 등 2. Jenkins, Packer, Ansible Jenkins에서 AMI 빌드 JOB을 실행하는 과정 1) Jenkins 서버에서 GIT에 코드레벨로 관리되는 Packer와 Ansible 코드를 pull 받고 2) Jenkins 서버에서 Packer가 인스턴스를 셋업한다. 3) Ansible을 이용해 셋업된 인스턴스에 프로비저닝 작업을 진행하고 4) Packer가 프로비저닝 완료된 인스턴스를 복사해 AMI를 생성한다. 3. Ansible Ansible은 프로비저닝, 애플리케이션..