Infra & Network

📚 총 56개 글 2023년 7월 - 2025년 7월
1

VMware EXSi의 대안, OpenStack으로의 VM 마이그레이션 가이드

VMware ESXi에서 OpenStack으로의 VM 마이그레이션을 위한 단계별 가이드. 마이그레이션 계획 수립, 기존 환경 감사, 낮은 중요도의 서버부터 시작, 다운타임 고려, DNS TTL 조정, VM 내보내기, 디스크 이미지 포맷 변환, OpenStack으로 이미지 가져오기 및 인스턴스 실행, 마이그레이션 검증 과정을 포함하여 비용 효율적인 클라우드 환경으로의 전환을 지원합니다.

2

ESXi무료로 받아보자

VMware ESXi 8.0U3e 무료 버전이 출시되었으며, 다운로드는 제공된 링크를 통해 가능하다. 파일 이름, 릴리스 날짜, 빌드 번호 및 해시 값 등의 정보가 포함되어 있다.

7

Kubernetes 각 용어 개념을 다시한번 정리해보자

쿠버네티스의 각 요소를 식당에 비유하여 설명합니다. 클러스터는 식당 전체, 컨트롤 플레인은 주방의 두뇌, 노드는 요리가 이루어지는 작업대입니다. API 서버는 주문 접수, etcd는 중요 정보를 기록, 스케줄러는 요리사 배정, 컨트롤러 매니저는 운영 상태 감시 역할을 합니다. 손님은 메뉴판을 통해 쉽게 주문하고, 서비스는 고정된 주문 창구 역할을 하며, 파드는 완성된 요리, 컨테이너는 요리의 핵심 재료로 비유됩니다.

8

mtr을 따라 알아보는 VPN에 대한 재밌는사실 : VPN 간 통신은 홉이 없는것처럼 보임 ㄷㄷ

AWS에서 VPN을 구축하며 mtr로 VPC 간 통신을 분석한 결과, IPSec으로 암호화된 홉은 보이지 않지만 지연시간으로 거리를 유추할 수 있다. tailscale을 이용해 내부 및 외부 네트워크 속도를 비교한 결과, 내부 네트워크는 매우 빠른 속도를 보였고, 외부 네트워크는 홉이 많지만 평균 속도는 87로 나타났다.

9

SDN과 AWS Transit Gateway의 유사성과 차이점

SDN과 AWS Transit Gateway는 중앙 집중식 네트워크 관리와 연결성을 공유하지만, SDN은 다양한 환경에서 사용 가능한 광범위한 아키텍처인 반면, AWS Transit Gateway는 AWS 클라우드에 특화된 서비스입니다. AWS Transit Gateway는 SDN 원칙을 클라우드 환경에서 부분적으로 구현할 수 있으며, SD-WAN과의 통합을 통해 동적 라우팅을 지원합니다. 그러나 AWS Transit Gateway는 SDN의 전체 아키텍처를 대체하지 않으며, 주로 트래픽 라우팅에 초점을 맞추고 있습니다.

10

VPC 게이트웨이 엔드포인트는, S3랑 DynamoDB만 지원한다고? 이게 무슨 말일까?

VPC 게이트웨이 엔드포인트는 S3와 DynamoDB에만 지원되며, 이는 AWS의 네트워킹 설계 결정에 기인한다. 이 엔드포인트는 EC2 인스턴스가 인터넷을 거치지 않고 AWS 서비스와 프라이빗하게 통신할 수 있도록 하며, 간단한 요청-응답 패턴과 보안 구조 덕분에 가능하다. 다른 AWS 서비스들은 더 복잡한 통신 패턴을 가지고 있어 인터페이스 엔드포인트를 사용해야 한다. 이 제한은 AWS가 고객의 문제를 해결하기 위한 점진적 접근 방식을 보여준다.

11

AWS 스토리지 삼총사: EFS, EBS, S3 제대로 이해하기

AWS의 EFS, EBS, S3는 각각 고유한 특징을 가진 스토리지 서비스이다. EFS는 네트워크 파일 시스템으로 여러 EC2 인스턴스가 파일을 공유할 수 있도록 설계되었고, EBS는 블록 스토리지로 EC2 인스턴스에 연결해 사용해야 한다. S3는 객체 스토리지로, 고유한 키를 가진 객체 단위로 데이터를 저장하며, HTTP를 통해 직접 접근할 수 있어 정적 웹사이트 호스팅이 가능하다. 각 서비스는 용도에 따라 다르게 사용되며, S3의 설계는 서버 관리 부담 없이 클라우드 네이티브 애플리케이션을 지원한다.

12

Tailscale의 MagicDNS 작동 원리

Tailscale 설치 후 MagicDNS를 활성화하면 각 디바이스는 호스트 이름으로 서로 접근할 수 있으며, 로컬 DNS 설정이 수정되어 Tailscale DNS 서버로 질의가 전달됩니다. 이 과정에서 사용자는 Tailscale IP를 통해 기기 간 직접 통신이 가능해지며, MagicDNS는 TailScale 네트워크 내부에서만 작동합니다.

14

Redis는 어디에 두어야 하는가?

웹 애플리케이션에서 Redis는 세션 관리와 캐싱을 위한 중간 계층으로 활용되며, 인메모리 기반의 빠른 데이터 접근을 제공한다. Redis는 별도의 서버나 전용 클러스터에 배치하는 것이 권장되며, 이는 성능 최적화와 장애 격리 측면에서 가장 안전한 선택이다. 작은 규모의 시스템에서는 DB 서버 내 컨테이너로 운영할 수도 있지만, 장기적으로는 독립적인 서버 구성이 더 바람직하다.

15

세션(Session)이 과부하를 일으키는 이유

세션이 과부하를 일으키는 주요 원인은 사용자 수 증가로 인한 메모리 부담, 세션 동기화 문제, 빈번한 읽기/쓰기 요청이다. 온라인 게임에서는 실시간 사용자 상태 관리와 동시 접속자 수가 많아 세션 유지가 복잡해지며, 애플리케이션 레이어와 데이터 레이어에서 과부하가 발생한다. 효율적인 세션 관리를 위해 부하 분산, 세션 스케일링, 성능 모니터링 등의 최적화 기법이 필요하다.

16

캐싱과 세션의 차이점

캐싱은 자주 조회되는 데이터를 빠르게 제공하여 시스템 성능을 개선하고, 세션은 사용자별 상태를 유지하여 일관된 사용자 경험을 제공합니다. Redis는 메모리 기반으로 빠른 읽기/쓰기를 지원하며, 다양한 자료구조와 확장성을 통해 캐싱과 세션을 효과적으로 관리합니다.

17

3티어 아키텍처의 본질, "비용과 성능"

3티어 아키텍처는 프레젠테이션, 비즈니스 로직, 데이터 계층으로 나뉘어 각 계층의 역할을 명확히 하여 비용과 성능을 최적화합니다. 이 구조는 부분적 확장과 운영 효율성을 제공하며, 병목 현상을 최소화하고 유연한 배포가 가능합니다. 2티어 구조에 비해 관리가 용이하고, 성능과 보안 문제를 독립적으로 해결할 수 있어 장기적으로 더 효율적입니다.

18

JUMP TUNNEL ! : ssh 터널링 클라이언트를 직접 개발해보았다

Jump Tunnel은 SSH 터널링의 복잡성을 단순화하기 위해 개발된 GUI 프로그램으로, Bastion Host를 통해 내부망을 안전하게 보호하고 ProxyJump 기능을 활용하여 여러 서버에 쉽게 접근할 수 있도록 해줍니다. 사용자는 마스터 계정과 키를 통해 관리 효율성을 높일 수 있으며, 간편한 설정 자동화로 SSH 터널링을 쉽게 이해하고 적용할 수 있습니다.

19

어쩌면 당연하지 않을 1티어와 3티어, 그 본질에 관하여

3티어 아키텍처는 수직 확장과 수평 확장, 논리적/물리적 티어의 개념을 이해해야 하며, 1티어는 모든 기능이 단일 서버에서 실행되는 반면, 3티어는 각 층이 독립적으로 확장 가능하다. 논리적 3티어는 기능적 분리를 의미하고, 물리적 3티어는 각 층이 별도의 서버에 배치되는 것을 의미한다. 단일 서버에 컨테이너로 WEB, WAS, DB를 올리는 경우, 논리적 3티어로 간주되지만 물리적으로는 1티어로 여겨질 수 있다.

20

Web과 Was의 차이가 본질적으로 뭘까?

Web과 Was의 본질적 차이는 함수 실행의 깊이에 있으며, Web은 단순 내장 함수처럼 바로 실행되는 반면, Was는 여러 단계를 거쳐 실행됩니다. 결국 차이는 함수 호출 체계와 실행 로직의 복잡성에서 비롯됩니다.

21

ProxMox 네트워크 모드 - 디폴트 설정과 폐쇄망 만드는 방법

Proxmox에서 VM을 생성하면 기본적으로 Bridge 모드로 설정되며, 이를 통해 VM들이 인터넷을 사용할 수 있다. 특정 VM들끼리만 통신할 수 있는 독립된 네트워크를 만들기 위해서는 새로운 브리지를 생성하거나 VLAN, Open vSwitch를 사용할 수 있다.

22

ProxMox 네트워크 모드 - Bridge , NAT , Bond

ProxMox의 네트워크 구성 방식에는 브리지, 라우팅, NAT 및 본딩이 있다. 브리지는 가상 머신이 실제 네트워크에 직접 연결된 것처럼 작동하며, 라우팅은 서버가 모든 네트워크 연결을 처리하여 여러 가상 머신을 인터넷에 연결한다. NAT는 내부 IP를 사용하여 호스트의 IP로 외부에 접속하게 하며, 본딩은 여러 네트워크 포트를 묶어 안정성과 속도를 높이는 기술이다.

23

워커노드 , Pod , Container 의 차이점

워커 노드는 레스토랑, 팟은 테이블, 컨테이너는 음식에 비유되며, 각 구성 요소가 함께 작동하여 전체 시스템을 형성하는 구조를 설명합니다. 워커 노드는 PC, 팟은 VM, 컨테이너는 VM 내의 컨테이너로 생각할 수 있습니다.

24

Cilium & eBPF 관계

Cilium은 쿠버네티스에서 컨테이너 간의 네트워크 통신을 관리하는 도구로, eBPF 기술을 사용하여 빠르고 세밀한 네트워크 관리가 가능합니다. eBPF는 리눅스 커널에서 작동하며, 네트워크 데이터 처리, 보안 감시, 시스템 성능 확인을 실시간으로 가능하게 합니다. Cilium은 이러한 eBPF 덕분에 빠른 네트워크 속도와 안전한 네트워크 감시를 제공합니다.

26

mac에서 ssh 키젠은 어디서 일어나는가?

맥 보안칩에서 ssh 키젠이 작동하며, 이 칩 안에 private 키가 저장되어 있어 확인할 수 없다. 인증은 지문을 통해 이루어지며, 지문 인증 후에만 public 키가 전송되고 ssh 인증이 완료된다.

27

자동화의 본질은 무엇인가?

자동화의 핵심 요소는 기준과 감지이며, 이를 통해 시스템은 문제를 발견하고 알림을 보낼 수 있다. 대처까지 자동화되면 오케스트레이션이 이루어지며, 이는 시스템이 스스로 문제를 해결하는 고급 자동화로, 쿠버네티스와 같은 도구가 이를 지원한다. 자동화는 문제를 알리는 역할을 하고, 오케스트레이션은 문제를 직접 해결하는 역할을 한다.

28

DNS 캐시를 지우기전 vs 지운 후 패킷분석

DNS 캐시의 영향을 분석한 실습에서는, 캐시가 있을 때는 DNS 서버가 저장된 정보를 직접 제공하여 다른 DNS 서버에 요청하지 않고, 캐시를 지운 후에는 요청을 다른 DNS 서버에 전달하는 과정을 확인했다. 이를 통해 DNS 요청과 HTTP 요청의 흐름을 이해하고, 캐시의 유무가 DNS 조회에 미치는 영향을 정리하였다.

29

VirtualBox 네트워크 모드 정리 (NAT , NAT network , Bridge , HostOnly)

VirtualBox의 네트워크 모드에는 Bridged Adapter, Host-Only Adapter, NAT, NAT Network가 있으며, 각 모드는 호스트와 게스트 간의 통신 방식이 다릅니다. Bridged Adapter는 실제 네트워크와 연결되어 독립적인 IP를 부여받고, Host-Only Adapter는 사설 네트워크를 구성하여 인터넷 연결이 불가능합니다. NAT 모드는 게스트가 외부 인터넷에 접근할 수 있지만, 호스트에서 게스트로의 접근은 포트포워딩이 필요하며, NAT Network는 게스트 간의 통신이 가능하지만 호스트와의 직접 통신은 불가능합니다. 포트포워딩 설정을 통해 호스트에서 특정 게스트 VM에 접근할 수 있는 방법도 설명하고 있습니다.

31

Docker의 파일구조는 Union임을 기억하라

도커 컨테이너는 Union 파일 시스템을 사용하여 여러 레이어를 통합하여 파일 시스템을 관리하며, Dockerfile의 변경은 이미지 빌드 과정에서 레이어 재구성을 초래할 수 있습니다. 초기 레이어의 변경은 캐시 무효화로 이어져 빌드 시간이 증가하고, 파일 시스템 구조의 변화는 컨테이너의 동작에 영향을 줄 수 있습니다. 최적화를 위해 Dockerfile의 명령어 순서를 조정하고, 자주 변경되는 부분을 뒤쪽에 배치하는 것이 중요합니다.

32

하드웨어 수준의 자원 공유(캐시, TLB, 버스 대역폭)는 완전한 격리가 어려워진다.

하드웨어 수준의 자원 공유는 완전한 격리를 어렵게 만들며, Intel VT-x와 같은 기술이 하이퍼바이저 수준의 격리를 제공하지만, 컨테이너 환경에서는 CR3 스위칭을 사용하여 데이터 유출 가능성이 존재한다. 스레드 지역 저장소(TLS)는 프로세스 컨텍스트 스위치 시 자동으로 갱신되지만, Spectre/Meltdown 취약점이 이를 위협한다. cgroup 기반 CPU 자원 관리 모델은 물리적 코어 독점이 아닌 시간 축 자원 분배를 통해 멀티테넌트 환경을 지원하며, 차세대 기술은 하드웨어 기능을 활용한 향상된 격리 정책을 도입할 것으로 예상된다.

33

cgroup에서 cpu 코어 할당은, 과연 완벽한 격리라고 말할 수 있는가?

cgroup을 통해 CPU 자원을 할당할 때, 컨테이너는 특정 CPU 코어를 완전히 점유하지 않으며, 시간 기반으로 자원을 공유합니다. cpuset 컨트롤러를 사용하면 특정 CPU를 할당할 수 있지만, 다른 작업이 동일한 CPU를 사용할 경우 완전한 점유는 보장되지 않습니다. OS의 컨텍스트 스위칭 덕분에 여러 컨테이너가 CPU를 공유하더라도 각 프로세스는 격리된 상태를 유지합니다.

34

ProxMox 시놀로지를 고쳐보자

HDD 사용률이 100%를 초과하여 Synology VM에 접속할 수 없는 문제 발생. RAID로 묶인 두 개의 하드디스크가 가상 머신의 QCOW2 파일로 인해 거의 가득 차 있으며, 파일 정리를 위해 직접 접속하거나 더 큰 HDD로 데이터 이전이 필요함. 현재 스토리지 정보와 가상 머신 설정이 포함됨.

37

리눅스 격리에 사용되는기술 3가지 (chroot , namespace , cgroups)

리눅스 격리에 사용되는 주요 기술은 chroot(파일 시스템 격리), namespaces(자원 격리), cgroups(자원 제한)으로, 이 세 가지 기술이 결합되어 현대적인 컨테이너 기술의 기반을 형성합니다. chroot는 프로세스의 루트 디렉토리를 변경하여 파일 시스템 접근을 제한하고, namespaces는 시스템 자원을 독립적으로 관리하며, cgroups는 자원 사용량을 제어하여 각 컨테이너가 독립적으로 동작하도록 합니다.

41

수직확장 vs 수평확장

수직 확장은 서버의 자원을 늘려 처리 능력을 향상시키고, 수평 확장은 서버를 추가하여 부하를 분산하는 방식입니다. 수직 확장은 비용이 들 수 있지만 한계가 있으며, 수평 확장은 클라우드 환경에서 더 흔히 사용됩니다. 3티어 아키텍처에서는 각 티어에 적합한 확장 방식을 선택할 수 있습니다.

42

포워드 프록시 vs VPN 뭔차이임?

포워드 프록시는 특정 요청을 대신 처리하는 서버이며, VPN은 사용자의 전체 트래픽을 암호화하여 다른 네트워크처럼 보이게 하는 기술이다. 차단된 사이트에 접근할 때 VPN이 더 많이 사용되는 이유는 편리함과 보안성 때문이다. 포워드 프록시는 주로 웹 트래픽에 한정되며, 설정이 복잡하고 암호화가 부족한 반면, VPN은 모든 인터넷 트래픽을 처리하고 강력한 암호화를 제공한다.

43

포워드 & 리버스 프록시 뭔차이임?

포워드 프록시는 사용자가 직접 인터넷에 접근하지 않고 프록시 서버를 통해 요청을 전달하여 클라이언트를 보호하며, 리버스 프록시는 서버가 직접 사용자의 요청을 받지 않도록 중개하여 서버를 보호하고 보안성을 높인다. 예를 들어, 회사의 직원들이 프록시 서버를 통해 인터넷을 사용하고, 레스토랑에서 웨이터가 주문을 중개하는 방식으로 설명된다.

45

Penpot 셀프호스팅

Penpot 셀프호스팅에 대한 블로그 포스트로, Docker를 사용하여 인프라 및 네트워크 관련 내용을 다루고 있습니다.

46

Cyberduck: Mac용 강력한 파일 전송 및 관리 도구

Cyberduck은 Mac과 Windows에서 사용 가능한 무료 오픈 소스 파일 전송 및 관리 도구로, FTP, SFTP, WebDAV 등 다양한 프로토콜과 클라우드 서비스(Amazon S3, Microsoft Azure, Google Drive, Dropbox)를 지원합니다. 사용자 친화적인 인터페이스와 실시간 파일 편집 기능을 제공하며, 웹 개발, 서버 관리 및 클라우드 스토리지 통합 관리에 적합합니다.

47

공유기 브릿지 모드가 뭐임?

브릿지 모드는 네트워크를 효율적으로 확장하고 관리하는 기술로, 여러 공유기를 사용할 때 중복 IP 할당을 방지합니다. 주요 특징으로는 NAT 기능 비활성화, 단순 연결, IP 할당 기능 제거가 있으며, 주로 넓은 공간에 네트워크 범위를 확장하거나 이중 NAT 문제를 피할 때 유용합니다. 브릿지 모드를 적용하면 네트워크 구조가 간소화되고 성능이 향상되며, 모든 장치가 하나의 네트워크에 속하게 됩니다.

48

ProxMox 보안 관련 세팅

ProxMox 보안을 위해 시스템 업데이트, 알림 설정, TLS 인증서 구성, 데이터 백업 작업 설정, PCI 패스스루 활성화, VM 모범 사례 적용 등의 설정을 권장하며, VPN을 통해 내부망 접근을 제한하고 fail2ban으로 무작위 대입 공격을 차단하는 방법을 설명합니다. 또한, 해외 IP 차단을 위해 iptables를 사용하여 방화벽 규칙을 설정하는 방법도 안내합니다.

49

포트포워딩 vs 리버스 프록시 뭔 차이임?

역방향 프록시는 클라이언트 요청을 분석하여 여러 내부 서버로 분배하며, URL 기반 라우팅과 보안 강화 기능을 제공합니다. 반면 포트포워딩은 특정 포트를 통해 요청을 전달하고 설정이 간단하지만 보안과 관리의 복잡성이 증가할 수 있습니다. 역방향 프록시는 로드 밸런싱과 SSL/TLS 인증서의 통합 관리가 가능하여 더 많은 이점을 제공합니다.

50

무료 DNS - DuckDNS

무료 DNS 서비스인 DuckDNS에 대한 정보와 관련 링크가 포함되어 있습니다.

51

VPN서버 구축

VPN 서버 구축을 위해 Tailscale이나 PiVPN을 설정하고, OpenVPN을 사용할 계획이다. Fail2ban을 통해 SSH 서버의 보안을 강화하고, Docker를 이용해 OpenMediaVault, Nginx Proxy, OpenVPN, Fail2Ban을 설치하여 관리할 수 있다. 각 서비스의 설정 파일을 수정하여 외부에서 안전하게 NAS에 접속할 수 있도록 하고, 무차별 대입 공격을 차단한다.

52

aws 갑자기 ssh timed out먹통될때

SSH 연결 시 "Operation timed out" 오류 발생 시 해결 방법에 대한 내용과 관련된 링크들이 포함되어 있습니다.

54

aws 프리티어 무한 재가입

Gmail의 + 기능을 활용하여 동일한 이메일로 여러 AWS 프리티어 계정을 생성할 수 있으며, 매년 새로운 계정을 만들어 사용할 수 있어 편리하다. 이를 통해 가입 시도를 쉽게 관리하고, 확인 메일을 통해 프리티어 기능을 정상적으로 사용할 수 있음을 확인할 수 있다.

55

aws 비용 폭탄 방지

AWS에서 사용하지 않는 인스턴스와 계정은 반드시 삭제해야 하며, 비용 발생을 방지하기 위해 청구서를 정기적으로 확인하고, 필요 없는 리소스는 삭제해야 합니다. 또한, 계정 해킹 방지를 위해 구글 OTP 설정과 비용 알림 설정이 필요합니다.

56

Docker.socket은 왜 항상 실행되어야 하는가?

Docker 소켓은 Docker 명령이 실행될 수 있도록 항상 활성 상태여야 하며, 이를 통해 Docker 데몬이 필요할 때 자동으로 시작됩니다. 소켓이 활성화되면 사용자가 매번 수동으로 서비스를 시작할 필요 없이 Docker 명령을 신속하게 실행하고 컨테이너를 관리할 수 있습니다.