[에스넷시스템 부트캠프] TIL Day 28 - Podman 명령어, 컨테이너 생명주기, 이미지
·
TIL
1. Podman 명령어1) 이미지 관리 명령어podman images [options] : 현재 사용할 수 있는 이미지 이름 확인REPOSITORY : 등록되어 있는 실제 이름. 리포지토리 사이트 / 네임스페이스 / 이미지 이름으로 구성TAG : 태그 IMAGE ID : 이미지를 생성할 때 자동으로 부여되는 IDCREATED : 이미지가 생성된 시기SIZE : 이미지 사이즈. 하나의 파일이 아닌 base image 위에 여러개의 추가 구성요소로 구성 podman rmi [-f] :: 이미지 삭제. -f로 강제 삭제 가능 podman push //:: 이미지 push podman pull [options] //:: 특정 원격 레지스트리에서 이미지 가져오기 podman history [options] ..
[에스넷시스템 부트캠프] TIL Day 27 - Docker
·
TIL
1. Docker컨테이너 기반의 오픈소스 가상화 플랫폼 가상머신처럼 독립적으로 실행되지만 가상머신보다 빠르고 쉬우며 효율적컨테이너라는 격리된 환경에서 작동하는 프로세스 단위로 실행1) VM vs Docker항목 Virtual Machine Docker 실행 구조Hypervisor + Guest OSDocker Engine운영체제Guest OS 필요Host OS 공유성능하드웨어를 깊게 활용 가능가볍고 빠름사용 목적강한 격리, 복잡한 OS 환경빠른 배포, 일관된 환경 제공 2) 도커의 특징확장성/이식성 : 도커가 설치되어 있다면 어디서든 컨테이너 실행이 가능표준성 : 컨테이너라는 표준으로 서버를 배포하므로 모든 서비스들의 배포 과정이 동일이미지 : 빌드 서버에서 Dockerfile로 이미지를 만들어 이미..
[에스넷시스템 부트캠프] TIL Day 26 - AWS 개념 2
·
TIL
1. 느슨한 결합 전략1) 모범 사례 : 서버가 아니라 서비스를 설계웹서버는 데이터를 로컬이 아닌 외부 저장소(NFS/NAS 등)에 저장정적 웹 자산은 S3 같은 외부 저장소에 저장사용자 인증 및 상태 저장은 AWS 관리형 서비스 활용하나의 서버에는 하나의 애플리케이션만 실행하는 것이 원칙서버리스 환경에서는 필요 시 자동 프로비저닝애플리케이션 간 통신은 메시지 대기열 사용→ 서버에서 서비스 단위로 전환하면서 서버 관리 부담을 줄임 💡 서버리스의 정확한 의미서버가 없다는 의미가 아니라 서버 인프라를 직접 관리하지 않아도 되는 컴퓨팅 모델을 의미한다. 2) 서비스 지향 아키텍처(SOA) 구현구성 요소들이 통신 프로토콜로 서비스를 주고받는 구조때로는 불필요한 정보가 제공되기도 함 (뒤에서 활용됨)전통적인 모..
[에스넷시스템 부트캠프] TIL Day 25 - AWS 개념 1
·
TIL
1. AWS 글로벌 인프라1) AWS 데이터 센터단일 데이터 센터에 수천 개의 서버 운영모든 데이터 센터는 온라인으로 연결됨Amazon 사용자 정의 네트워크 장비 및 프로토콜 스택 사용 : 아마존이 직접 설계한 맞춤형 하드웨어와 소프트웨어 스택으로 구성다양한 ODM(Original Design Manufacturer) 기반 하드웨어 채택 2) 가용 영역 (Availability Zone, AZ)하나 이상의 데이터 센터로 구성결함 격리 설계: 하나가 장애 나도 나머지는 정상 운영고속 프라이빗 링크를 통해 다른 AZ와 상호 연결사용자가 AZ 선택 가능복원력 확보를 위해 여러 AZ에 걸쳐 배포 권장일반적으로 리전당 2개 AZ 권장3개 이상 AZ 사용 시 비용 효율성 저하 가능 3) 리전 (Region)각 리전..
[에스넷시스템 부트캠프] TIL Day 24 - KVM, QEMU, 클라우드 기초 용어
·
TIL
1. KVM 기본 이론1) KVM (Kernel-based Virtual Machine)KVM은 리눅스 커널을 하이퍼바이저로 전환하는 가상화 인프라서버에 직접 하이퍼바이저를 설치하는 방2007년부터 Linux 커널 메인라인에 포함되었으며, 완전한 가상화(Full Virtualization)를 지원VM은 Linux 프로세스로 동작하며, 커널 스케줄러의 제어를 받음Linux 커널 기능을 그대로 활용 (메모리 관리, 스케줄링, 보안 등)x86 가상화 확장 기능(Intel VT-x, AMD-V)이 있는 CPU에서 동작MAC(Mandatory Access Control) 정책 적용 가능 (ex. SELinux)VM도 리눅스 프로레스처럼 관리되어 기존 리눅스 도구로 모니터링 가능모든 Linux 지원 스토리지 사용 ..
[에스넷시스템 부트캠프] TIL Day 23 - 직무 특강
·
TIL
✍️ 하루 회고오늘은 현직자 분들을 초청한 직무특강이 진행되었다. 첫 번째 파트에서는 AI와 DX(디지털 전환)를 중심으로, 다양한 환경에서의 네트워크 구성도와 인프라에 대한 강의가 있었다.AI 성능이 날로 발전함에 따라 이를 뒷받침하는 인프라의 중요성도 함께 커지고 있으며, 단순한 모니터링 수준을 넘어서 옵저버빌리티(Observability) 역량을 갖추는 것이 중요하다는 점을 강조하셨다.강의 중 소개된 다양한 네트워크 구성도를 통해, 지금까지 네트워크 수업에서 배운 개념들과 실무 환경이 어떻게 연결되는지를 체감할 수 있는 유익한 시간이었다. 두 번째 파트는 네트워크 관련 직무에 대한 소개와 주요 용어 정리, 그리고 면접 준비 팁을 중심으로 진행되었다.아직 내가 어떤 직무를 중점적으로 준비할지 확실히 ..
[에스넷시스템 부트캠프] TIL Day 22 - Ansible 실습
·
TIL
1. [실습] 웹 서버 설치 및 삭제 자동화 webserver 그룹 서버에 Apache 웹서버 설치 및 서비스 설정 자동화로컬 파일을 원격 서버로 복사 (웹 페이지 제공)웹 서비스 활성화 및 방화벽 설정 적용위 작업을 제거(rollback)하는 Playbook 작성 및 실행정상적으로 웹 서버가 서비스되고 있는지 HTTP 요청으로 확인방식별 정리1. 단순한 개별 요청- name: URL check 130 uri: url: http://10.10.10.130간단하지만 중복이 많아짐서버 개수 늘어나면 유지보수 어려움2. delegate_to: localhost 사용- name: URL check uri: url: http://{{ inventory_hostname }} delegate_to: localhost..
[에스넷시스템 부트캠프] TIL Day 21 - Ansible 문법
·
TIL
1. Ansible Playbook 주요 키워드1) hosts작업 대상 호스트 지정인벤토리 내 그룹명 또는 호스트명 지정미리 정의된 예약어localhost: 현재 로컬 머신all : 인벤토리에 정의된 모든 호스트[group] : 그룹 단위 작업2) become: true권한 상승(sudo) 허용일반 사용자 -> root로 전환해 작업 수행ansible.cfg의 설정을 오버라이드하여 playbook에서 직접 제어 가능3) tasks작업의 목록 정의 시작점각 작업은 하나의 모듈 실행여러 개의 task -> 하나의 play 여러 개의 play -> 하나의 playbook ✏️ 작성 팁:name: 키워드를 꼭 사용해서 작업 목적을 명시적으로 설명해주는 것이 가독성과 유지보수에 매우 유리 2. 모듈 관련 명령어..
[에스넷시스템 부트캠프] TIL Day 20 - IaC, Ansible 기초
·
TIL
1. 자동화리눅스에서 자동화라 함은 두가지 방식으로 나뉜다.시스템 내장형 자동화 (batch) : 리눅스 자체 기능을 활용한 스케줄 기반 자동화 (crontab, systemd, bash script 등)부가 설치형 자동화 (AutoHotKey 등) : 주로 GUI기반의 매크로 자동화로 윈도우에서 사용리눅스에서는 대부분이 CLI기반이기 때문에, GUI 자동화보다는 쉘 스크립트, Ansible, Crontab 같은 커맨드 기반 자동화가 중심이다. 2. Infrastructure as Code, IaC코드로 인프라를 관리하는 장점에 대해 알아보자. 원격지 서버 관리 효율성→ 서버가 멀리 있어도 코드 한 줄로 명령 전송, 대역폭을 적게 사용하며 관리 가능버전 관리 용이→ Git 등의 도구로 설정 변경 내역 ..
[에스넷시스템 부트캠프] TIL Day 19 - 스크립트, 반복문, 조건문, 원격지 접근 자동화 스크립트
·
TIL
1. 스크립트1) 스크립트란?명령어를 순서대로 자동 실행하도록 작성한 텍스트 파일을 말한다. 반복적인 작업을 자동화하여 효율을 높이는 데 많이 이용된다. 컴파일 언어 : .c -> gcc 등으로 바이너리 파일로 컴파일 후 실행 ex) C++인터프리터 언어 : 소스 코드를 인터프리터가 한 줄씩 해석하여 실행 ex) Python, Bash# cat /etc/shells 명령어를 통해 시스템에 설치된 쉘(interpreter) 목록을 확인할 수 있다. 2) 쉘 종류sh : 오리지날 쉘, 부팅시에 실행되는 스크립트는 sh를 이용bash : 리눅스에 기본 탑재, 왠만한 배포판에는 bash를 이용중csh : c언어 기능을 탑재tcsh : c쉘이 발전ksh : aix , hp_ux 쪽에서 사용zsh : 그 이후 ..