본문 바로가기

💻 개발/인프라12

11/23 - TIL : Load Balancer와 API Gateway의 차이 Spring Cloud와 관련해서 공부를 하던 도중 Load Balancer와 API Gateway의 차이에 대해 알아보면 좋을 것 같아서 이에 대해 알아보고자 한다.  두 가지는 공통적으로 요청이 들어오면 분배하는 느낌이지만, 사실 차이점은 있다.  간단하게 요약을 해보자면, Load Balancer는 여러 서버 간의 트래픽을 균등하게 분산시켜 시스템의 안정성을 유지한다. 하지만, API 게이트웨이는 클라이언트의 요청을 적절한 내부 서비스로 라우팅을 하는 역할이다. Load Balancer우선 로드밸런서는 네트워크 트래픽을 여러 서버에 균등하게 분산시켜, 시스템의 부하를 관리한다. 이를 통해 서버 과부하를 방지하고, 서비스의 가용성과 성능을 향상시킨다.  로드 밸런서의 주요 기능은 다음과 같다. 트래픽.. 2024. 11. 23.
docker - 컨테이너를 다루는 다양한 옵션 (실행) 4. 컨테이너 실행 앞서 컨테이너를 다루는 다양한 옵션(1) 에서 예시로 생성한 myubuntu container를 실행하면 바로 중지된다. (docker ps 명령어로 확인해보면 실행 중인 컨테이너 목록에 없음) docker의 COMMAND를 보면 ubuntu라는 이미지의 shell을 띄우는 것만 한다. docker는 시스템을 실행하는 것이 아닌, 시스템 상에 실행되는 program을 실행하는 것 따라서, COMMAND 상의 프로그램이 종료가 되면 container 자체도 종료가 된다. docker start [컨테이너 이름] docker는 container를 하나의 응용 프로그램으로 다루고 있다. 이것은 운영체제가 아닌, 운영체제 상에서 실행하는 응용 프로그램을 포함해서 하나의 프로그램을 실행하고 중.. 2023. 6. 29.
docker - 컨테이너를 다루는 다양한 옵션 (생성, 확인, 삭제) Docker Container 관련 주요 명령 docker container 관련해서는 몇몇 가장 많이 쓰이는 옵션(예를 들어, 생성하는 명령어, 실행하는 명령어, 생성하면서 실행하는 명령어…)을 포함한 명령어들 이 있다. 하지만, 처음 익힐 경우, 관련 명령이 어떻게 구성될 수 있는지, 차근차근 세부 명령을 알아볼 필요가 있다. 1. 컨테이너 생성 각 이미지는 컨테이너로 만들어줘야 실행이 가능하다. 이미지와 컨테이너는 각각 관리해줘야 한다. 컨테이너 생성 시, docker 프로그램에서 이름이 자동 부여 된다. docker create [이미지명] docker create [이미지명:태그] 이미지만 입력하면 latest 이미지이다. 명령어의 의미는 해당 이미지를 가지고 container를 생성한다는 의미.. 2023. 6. 28.
local에 docker 설치하기 docker engine 설치를 고집하다가.. 결국에는 docker desktop 설치......... 삽질 중... OS : Windows 11 확인을 누르면 다시 시작(재부팅) 창이 뜬다. 다시시작을 해줘야 적용이 완료됨 WSL 관련 기능 활성화 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart입력 dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 입력 WSL Linux 커널 업데이트 wsl --set-default-version 2 입력 Microsoft Store에서 ubunt.. 2023. 6. 4.
docker - 이미지를 다루는 다양한 옵션 docker image 주요 명령 docker image 관련 명령 docker 설치 docker image 다운로드 다운로드 받은 image로 docker container 생성 및 실행 모든 docker 명령은 CLI(Command Line Interface)로 키보드로 직접 명령을 작성하는 형태로 수행 docker 명령 옵션 선택자(이미지ID/컨테이너 등) docker는 image와 container 명령이 각각 별도로 존재 다음과 같이 image를 다루는지, container를 다루는지를 명시적으로 이해하기 위해, docker 다음에 image 또는 container를 기재해줌 명령어는 어차피 다르므로(image에서 사용하는 명령어와 container에서 사용하는 명령어가 다름), 굳이 image.. 2023. 6. 4.
도커에 대한 기본 이해 Docker란? 다양한 운영체제와 시스템 환경 상에서, 서버 셋업을 위한 작업이 각각 다르고 복잡함. 도커는 컨테이너 기반의 가상화 플랫폼으로, 컨테이너 상에 서버를 셋업해놓을 수 있음. 따라서 기반 환경이 다르더라도, 언제든 해당 컨테이너를 실행만 하면, 동일한 서버 셋업이 가능함. Docker Internals docker는 리눅스 컨테이너부터 시작된 기술임. 내부 기술에 대해 가볍게라도 이해하면 훨씬 깊은 레벨의 이해가 가능함 LXC(LinuX Containers) 단일 컴퓨팅 시스템에 설치된 리눅스 운영체제 상에서, 다른 영역과 완전히 분리된 별도의 리눅스 시스템을 운영할 수 있는 리눅스 커널 기술 리눅스 운영체제 레벨에서 영역과 자원 할당 (CPU, 메모리, 네트워크) 등을 분리하여, 마치 별도.. 2023. 6. 4.
ubuntu EC2에 docker 설치하기 1. PuTTY로 ubuntu EC2에 접속하기 2. docker 구축 과정 ubuntu 창에 다음 명령어들 차례로 입력 [Docker]Docker 설치하기(Ubuntu) 해당 블로그에 나와있는 순서대로 docker를 설치하였다. (패키지 저장소 추가 & Docker CE Install) docker 실행 중임을 확인하기 위해서는 다음 명령어를 입력하면 됨 sudo systemctl status docker active(running) 이므로 실행 중임 :q 를 입력하면 나갈 수 있음 3. sudo 명령 없이 docker 명령어 사용하기 설정 1. 현 사용자(ubuntu) ID를 docker group에 포함 명령어 : sudo usermod -aG docker ${USER} 2. 터미널 끊고, 다시 s.. 2023. 6. 3.
클라우드 서비스(AWS 서버 구축) 리눅스 설치 방법 - 2가지 방법 가상 머신 소프트웨어 PC 환경에 따라서, 예상치 못한 문제들을 만날 수 있음, 설치가 불가 클라우드 컴퓨팅 서비스 활용 → 본 강의에서 활용할 방법 최신 기술에 익숙해진다는 장점 동일한 환경에서 사용이 가능 단, 설정에 따라 진행이 필요 가볍게 이해하는 클라우드 컴퓨팅 클라우드 컴퓨팅 서비스 : 서버 환경을 미리 구축해놓고, 간단한 설정으로 바로 사용할 수 있도록 만든 서비스 이전 : 미리 서버 컴퓨터를 구축 현재 : 클라우드 컴퓨팅 환경 사용 사용할 클라우드 플랫폼 : AWS AWS 리눅스 서버 구축하기 EC2 서비스로 이동 이제 인스턴스 만들기를 하면 인스턴스가 생성된다. 이제 해당 인스턴스에 탄력적 IP(고정 IP)를 할당하자. 탄력적 IP 주소 할당 버튼 클릭 .. 2023. 6. 1.
모던 서버 기술 관련 배경 지식 이해 docker : 일종의 서버 환경을 감싸서, docker 레벨로 서버를 다룰 수 있음 따라서, 서버 이전, 서버 패키지 버전 변경 등 일일이 서버 설정이 불필요 단순히 도커를 만들어서, 서버에서 실행하면 됨 웹서비스 개발과 마이크로 서비스 모놀리틱 구조 : 하나의 서버에 모든 기능을 넣음 1세대 : USER —— INTERNET —- WEB SERVER (Read static HTML) 2세대 : USER —— INTERNET —- WEB SERVER (Create request-based HTML from CGI + DB) 3세대 : USER —— INTERNET —- WEB SERVER MVC 패턴 기반 프레임워크 활용 MVC : Model - View - Control 패턴으로 구조화된 프레임워크를.. 2023. 6. 1.
IT 인프라 (3) Storage 기초 익히기 스토리지란 무엇이며 왜 필요할까? 스토리지 : 컴퓨터에서 데이터를 비휘발성으로 저장할 수 있는 저장 장치 이전까지는 데이터를 저장하는 하드웨어의 견고함, 성능, 그리고 용량에 집중하였다면, 최근에는 데이터 레이크, 데이터 가상화 기술 등 다양한 데이터 스토리지 기술이 조명받고 있음 최근 인공지능이나 IOT 등 다양한 IT 기술들이 등장 → 데이터의 양이 상당히 많아짐 → 다양한 데이터 스토리지 기술들이 조명 받음 스토리지의 성능과 가용성을 높여주는 RAID 기술 RAID 구성을 도와주는 Array Controller RAID는 하드웨어적으로도, 소프트웨어적으로도 지원이 가능 RAID는 여러 개의 저장장치를 묶어서 마치 하나의 Disk 처럼 사용할 수 있게 도와주는 기술 Disk.. 2023. 5. 28.
IT 인프라(2) Network 기초 익히기 네트워크란 무엇이며 왜 필요할까? 네트워킹 어원적으로 Net(그물) + Work(일) : 그물을 짜는 행위 → 그물망 처럼 서로와 서로를 연결할 수 있도록 도와주는 것 인터넷으로 연결되는 세상을 가능하게 하는 것 → 다른 사람들과 정보와 자원을 공유할 수 있음 네트워크를 통해 장비들은 서로 통신할 수 있게 되며, 이를 통해 우리는 정보와 자원을 공유함 OSI 7 Layer 네트워크를 이해하기 위한 가장 중요하고 기반이 되는 것 OSI 7 계층은 국제 표준화 기구 (ISO)가 발표한 모델 네트워크 프로토콜이 통신하는 구조를 7개의 계층으로 분리하여 각 계층간 상호 작동하는 방식을 정해 놓은 것 신뢰성 있고, 원활한 통신을 수행하기 위해 모든 장비들이 지켜야하는 통신 규약 OSI .. 2023. 5. 27.
IT 인프라 (1) IT Infrastructure IT 인프라, 왜 알아야 할까? 어플리케이션을 동작시키기 위해서는 다양한 요소들에 대한 고민이 필요 시스템을 크게 기능적 요구 사항과 비기능적 요구 사항으로 나누어 생각해볼 수 있음 이때 IT 인프라 환경은 비기능적 요구사항에서 중요한 역할을 차지 제품 요구 사항 ex) 시스템이 얼마나 빨리 실행되고, 얼마나 많은 cpu나 memory가 존재해야 하는지 혹은 장애가 났을 때를 대비하여 고가용성을 어떻게 구성할 것인지에 대한 내용이 들어가게 된다. 조직 요구 사항 ex) 사용될 프로그래밍 언어는 어떤 것인지, 설계 방법 외부 요구 사항 ex) 법률적 요구사항, 윤리적 문제 IT 인프라란 무엇인가? IT Infrastructure란, IT 서비스의 기반이 되는 Informat.. 2023. 5. 27.