Menu 102

Docker CPU 제어하기

Docker는 CPU 제한을 하지 않으면 unlimited로 무제한으로 사용한다. 컨테이너에서 제한하면 이에 따라 cgroup이 리소스를 제공한다. CPU Time Scheduling CPU 사용시간 제어 - 기본값은 1024이다. lscpu 위의 커맨드로 현재 hostos의 cpu를 확인할 수 있다. docker run -d --name=cpu-1024 --cpu-shares=1024 leecloudo/stress:1.0 stress --cpu 4 docker run 할 떄 위 처럼 옵션을 주면, cpu 작업 시간을 제한할 수 있다. cpu register에 등록되어 제어가 된다. 위에처럼 stress로 부하테스트를 하면 이렇게 htop에서 cpu가 가득 차는 것을 확인할 수 있다. student@ho..

Cloud/Docker 2024.03.25

IPsec VPN - 설명 & Site-to-Site VPN 과정

IPsec VPN 터널링 public network => private network 로 들어가기 위해서는 Dynamic NAT 가 필요하고 private network => public network 로 나가기 위해서는 Static NAT 가 필요하다. private network public network private network 에서 private끼리 통신하기 위해서는 VPN 기술이 필요하며 이떄 터널링이 사용된다. 사설 ip로 public network에서 통신을 할 수 없기 때문에 public ip가 들어있는 header가 하나 더 씌워진다. 패킷이 private network에서 나갈때 public network와 맞닿아 있는 포트의 public ip를 출발지 주소로 가고싶은 private..

Cloud/Network 2024.02.23

VLAN, TRUNK - 분할 솔루션

스위치는 건물의 층별로, 라우터는 건물별로 설치한다고 배웠다. 보안을 위해서 연구소 직원들은 다른 네트워크를 사용하려고 하면, 아래와 같이 스위치가 더 많이 필요하게 된다.(스위치는 네트워크를 분할할 수 없기 때문에) 또한, 스위치는 브로드캐스트를 차단하지 못하기 때문에 많은 장비가 연결되어있으면 해당 대역폭인 점차 브로드캐스트로 차게된다. 그래서 스위치를 분할하여 성능도 높일 수 있다. 1. 보안 + 성능 이렇게 되면 네트워크를 분할하고 싶은 수만큼 3대의 스위치가 더 붙게 된다. 스위치의 비용에 점점 더 늘어나 비용적인 측면이 매우 안좋아진다. 2. VLAN (보안 + 성능 + 비용) 그래서 VLAN이라는 솔루션이 나오게 되었다. VLAN이란, 스위치를 분리하는 솔루션이다. 아래에서는 1대의 스위치를..

Cloud/Network 2024.02.19

Packet Travel - 핸드폰에서 웹 페이지 접속하면 네트워크에서 이뤄지는 과정

Packet Travel - 핸드폰에서 웹 페이지 접속하면 네트워크에서 이뤄지는 과정 Overview AP 무선랜 인증 DHCP 서버 DORA (브로드캐스트) ARP Request / Reply DNS 서버 DNS Query / Answer ARP Request / Reply TCP 3-way HandShake Web Server HTTP GET / 200 TCP 4-way HandShake 이렇게 8개의 과정이 이뤄진다. 1. AP ( AccessPoint) 휴대폰에서 wifi 설정할 때 되는 통신으로 보면 된다. wifi를 선택하고 비밀번호를 입력하게 되는데, 이 과정해서 해당 wifi 공유기와 비밀번호가 맞는지 인증 절차가 진행된다. 2. DHCP 서버 줄여서 DORA 과정이 진행된다. Discov..

Cloud/Network 2024.02.17

라우터(ROUTER)와 스위치(SWITCH) 비교하기

라우터(ROUTER) VS 스위치(SWITCH) 1개의 공통점과 5개의 차이점을 가지고 있다. 공통점 1. 스위칭 스위칭이란, 패킷이 장치에 도착했을 때, 패킷의 Destination Address를 보고 몇 번 포트로 보낼 지 결정하는 것이다. 스위치와 라우터 모두 각각의 테이블을 보고 어디로 보낼 지 결정한다. 차이점 1. 계층 OSI 7 Layer에서 라우터와 스위치의 layer는 다르다. 라우터 : 3계층 스위치 : 2계층 라우터는 3계층 장치이기에 IP주소를 보고 스위칭을 한다. 스위치는 2계층 장치이기에 MAC주소를 보고 스위칭을 한다. 물론 3계층 장치는 2계층 주소인 MAC주소도 읽을 수 있다. 라우터 = 3계층 + 2계층 + 1계층 이렇게도 볼 수 있는데, 이때 2계층 주소를 보고 2계층..

Cloud/Network 2024.02.17

Packet Travel - 다른 네트워크로 Ping을 보내면 진행되는 과정 (feat.Ping이 초반에 실패하는 이유 w/ ARP Table)

Packet Travel - 다른 네트워크로 Ping을 보내면 진행되는 과정 (feat.Ping이 초반에 실패하는 이유 w/ ARP Table) Packet Tracer를 이용하여 라우터와 스위치가 아래와 같이 연결된 상황에서 PING을 보내면 어떻게 동작하는 지를 살펴보려고 한다. 우선, 패킷은 간단하게 [MAC주소 [IP주소 [ Port번호 [메세지] ] ] ] 이렇게 4개의 헤더로 쌓여있다. 라우터는 L3 장비로 L2 Address인 MAC주소를 벗겨내고 IP주소를 확인한 후 새로운 MAC 주소를 씌운다. 반드시 모든 패킷은 MAC주소를 알아야 보낼 수 있다. Overview 먼저 PING은 ICMP 프로토콜로 패킷을 보낸다. 이때 Ping 보낼 때 입력한 IP주소로 Destination IP Ad..

Cloud/Network 2024.02.17

[Prometheus] - CentOS에서 모니터링 & Pushgateway & AlertManager 구축 해보기!(시연 및 추가정보)

Monitoring 시연 정리 2024.02.12 - [Data Engineering/Observability] - [Prometheus] - CentOS에서 모니터링 & Pushgateway & AlertManager 구축 해보기!(실습) [Prometheus] - CentOS에서 모니터링 & Pushgateway & AlertManager 구축 해보기!(실습) 2024.02.12 - [Data Engineering/Observability] - [Prometheus] - CentOS에서 모니터링 & Pushgateway & AlertManager 구축 해보기!(이론) [Prometheus] - CentOS에서 모니터링 & Pushgateway & AlertManager 구축 해보기!(이론) Prome..

[Prometheus] - CentOS에서 모니터링 & Pushgateway & AlertManager 구축 해보기!(실습)

2024.02.12 - [Data Engineering/Observability] - [Prometheus] - CentOS에서 모니터링 & Pushgateway & AlertManager 구축 해보기!(이론) [Prometheus] - CentOS에서 모니터링 & Pushgateway & AlertManager 구축 해보기!(이론) Prometheus 모니터링을 위한 오픈소스 시스템으로 주로 "Metric" 정보를 수집하기 위한 용도로 사용된다. 다양한 시스템의 상태를 쉽게 확인 및 분석할 수 있다. 특정 rule을 위배하는 트리거가 발생하 cstory-bo.tistory.com 위의 이론내용을 바탕으로 아래와 같은 구조로 프로젝트를 진행해보았다. CentOS VM Server 3대로 구성 Node e..

[Prometheus] - CentOS에서 모니터링 & Pushgateway & AlertManager 구축 해보기!(이론)

Prometheus 모니터링을 위한 오픈소스 시스템으로 주로 "Metric" 정보를 수집하기 위한 용도로 사용된다. 다양한 시스템의 상태를 쉽게 확인 및 분석할 수 있다. 특정 rule을 위배하는 트리거가 발생하면 경고를 보내 미리 장애를 예방할 수 있다. 장애 예방에 대한 Observability에 대한 내용은 아래 포스팅에서 확인 할 수 있다. 2023.12.29 - [Data Engineering/Observability] - [Observability] - 1. Observability란 & 도구 [Observability] - 1. Observability란 & 도구 좋은 서비스를 만드는 것도 중요하지만 제대로 운영하는 것도 매우 중요하다. 서비스를 정상적으로 운영하기 위해서는 Observabi..

[ORACLE] - 여러 Transaction들로 LOCK 충돌 시나리오 확인 (Consistency, Isolation 확인)

시나리오 시간 Transaction 1 Transaction 2 Transaction 3 비고 09:00 SELECT last_name, salary FROM employees WHERE employee_id=200; HARD PARSING (DISK IO) 09:01 UPDATE employees SET salary = 8000 WHERE employee_id=200; LOCK(TM/TX) 걸림 09:02 SELECT last_name, salary FROM employees WHERE employee_id=200; SOFT PARSING (MEM IO) UNDO 데이터에서 가져옴 09:03 UPDATE employees SET salary = 8000 WHERE employee_id=200; LOCK..

Cloud/DataBase 2024.02.07