분류 전체보기 328

오토 스케일링(Auto Scaling)

1. 오토 스케일링 CPU, 메모리, 디스크, 네트워크 트래픽과 같은 시스템 자원들의 메트릭 값을 모니터링하여 서버 사이즈를 자동으로 조절하는 서비스 // 스케일링이란 인스턴스 혹은 컴퓨팅 파워를 늘리는 것을 말한다. //스케일 아웃 스케일 인 2.시작(구성) 템플릿 Auto Scaling 그룹에서 인스턴스를 시작하는데 사용하는 템플릿으로, AMI(이미지)라고 생각해도 된다. 템플릿이라 함은 똑같은 OS 환경의 인스턴스를 간편하게 복제하기 위해서 구성하는 것이다. 따라서 템플릿을 오토스케일링 그룹에 지정시킴으로서, 오토스케일링을 통해 인스턴스를 늘리면 그 인스턴스의 환경 구성이 템플릿에 설정된 환경에 따라 복제됨으로써 서비스를 늘린다는 개념인 것이다. 템플릿은 수정이 불가능하다. 만일 옵션을 바꿀 필요가..

DevOps/AWS 2023.02.18

AWS EBS vs. EFS vs. S3

Block Level Stoarge vs. Object Storage 1. Block Level Storage : 파일을 저장할 때 Block Level Storage는 블록 단위의 작업을 지원하기 때문에 변경된 데이터만 최신화해주면 된다. 따라서 Block Level Storage sms낮은 I/O 레이턴시를 자랑하며 Read/Write 작업이 빠르다는 장점이 있다. 즉, 자주 파일이 업데이트되고, Read/Write 작업이 빈번하다면 Block Level Storage가 좋은 선택이 될 수 있다. 2. Object Storage : 변경된 파일은 새로운Object로 인식하며 기존의 파일은 지우고 새로운 파일이 대체하게 된다. 따라서 Read/Write가 빈번한 환경이라면 작업이 오래걸린다. 하지만, ..

DevOps/AWS 2023.02.17

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

작업 스케줄러 - 크론탭(crontab)

1. crontab이란 crontab은 원하는 시간에 특정 작업을 실행하게 하는 텍스트 파일이다. 이 crontab에 작성된 파일을 찾아 cron이라는 시스템의 데몬이 작성된 일정대로 작업을 실행하게 되는 것. 주기적이고 반복적인 작업에 많이 사용된다. 1) crond 실행여부 확인 ps -ef | grep crond 2) crontab의 작업 목록 확인, crontab 편집, crontab 삭제 // crontab 작업 목록 crontab -l // crontab 편집 crontab -e // crontab 삭제 crontab -r 주기적으로 특정작업을 실행해야할 경우 crontab 사용. (JAVA의 경우 스케쥴러로 Quartz를 이용할 수도 있다.) cron은 Linux 운영체제에 기본으로 설치되어..