목록분류 전체보기 (135)
Connecting
본 문서는 다음 링크를 참조하여 작성하였음을 알린다. https://www.tutorialspoint.com/unix/unix-special-variables.htm 이번 시간에서는 유닉스/리눅스에서 사용하는 특수 변수에 대해서 알아보도록 한다. 이러한 변수 이름은 예약어로 지정되어 있기 때문에 지역, 전역 변수로 사용할 수 없으며, 스크립트 작성 시 각별하게 유의해야 한다. 예약 변수 (Reserved Variable) 일반적인 프로그래밍 언어에서 사용하는 예약 변수와 동일한 기능을 담당한다고 생각하면 된다. 쉘 프로그래밍을 작성할 때, 예약변수를 사용하면 보편적인 실행환경으로 작성할 수 있으므로 편리하게 사용할 수 있다. 변수명 설명 HOME 사용자 홈 디렉터리 PATH 실행 파일을 찾을 경로 LAN..
AWS, AZURE, GCP 특징 지난 시간에 퍼블릭 클라우드에 대한 내용을 확인했다. 이번 시간에서는 퍼블릭 클라우드에서 가장 많이 사용하는 Amazon AWS, Microsoft Azure, Google GCP의 특징과 제공하는 서비스에 대해서 알아보도록 한다. 퍼블릭 클라우드 3사 2021년 현재 100여 가지가 넘는 다양한 퍼블릭 클라우드 업체가 존재하지만 앞도적인 점유율을 보여주는 업체는 Amazon AWS, Microsoft Azure, Google Cloud Platform이다. Canalys와 Synergy Research Group의 2019 년 보고서에 따르면 GCP의 성장률이 가장 높으며, Azure의 경우 많은 매출을 보여주며, AWS는 가장 오래된 퍼블릭 클라우드 업체로 안정적인 ..
본 문서는 https://www.tutorialspoint.com/ 에서 제공하는 UNIX / LINUX 쉘 튜토리얼을 참고했다. Extended Shell Scripts 쉘 스크립트를 수행할 작업과 시기를 알려주는 필수 구성요소가 필요하다. 대부분의 쉘 스크립트는 이보다 복잡하지만, 쉴 스크립트 역시 일종의 프로그래밍 언어이며, 변수, 함수, 제어, 반복 등과 같은 구조로 이루어진다. 스크립트가 복잡한 구조로 되어 있어도 순차적인 실행구조를 가진다. 다음은 간단한 입력 구조를 가지는 쉘 스크립트 예제이다. #!/bin/sh echo "What is your name?" read PERSON echo "Hello, $PERSON" $./test.sh What is your name? lucas Hello..
Public Cloud 기본 1980년대 전후하여 원격지와 컴퓨터 근처에 있는 단말기 사이에 있는 수많은 네트워크 장비를 전부 그리지 않고 구름을 통해 추상화한 것이 시초가 되어, 2000년대에 들어 클라우드 컴퓨팅이라는 개념이 완성되었다. 모든 서버 및 네트워크 장비와 같은 인프라스트럭처는 데이터센터에 존재하며, 사용자는 이를 인지하지 않고 자원을 임대하여 사용한 만큼 비용을 지불하고 서비스 규모를 자유자재로 설정할 수 있는 특징이 있다. IDC와 클라우드 IDC 온라인 서비스를 운영하는 데 있어서 필요한 서버는 반드시 필요하지만 물리적 공간 및 전력 및 온습도를 제어하기 위한 항온항습 및 방음시설 등을 갖춰야 하는 불편함이 있다. 대기업을 제외하고는 대부분의 기업에서는 이러한 서버를 자체 구축하여 운..
카프카에 대해서 다시 한번 용어를 정리하면 다음과 같다. 프로듀서 : 카프카로 메시지를 보내는 역할 카프카 : 프로듀서가 보낸 메시지를 저장하는 역할 컨슈머 : 카프카에 저장되어 있는 메시지를 가져오는 역할 주키퍼 : 카프카가 분산 코디네이터인 주키퍼와 연결하여 메타 데이터 및 클러스터 노드 관리 카프카를 활용하기 위해서는 클러스터 구성이 반드시 필요하다. 일반적으로 주키퍼 replication 방식이 홀수를 유지해야 하기 때문에 최소 3대를 구성해야 한다. 왜 홀수로 구성해야 하는지에 대한 내용을 설명하도록 한다. 들어가기 전에... 카프카를 사용하기 위해서는 주키퍼(Zookeeper) 사용이 필수적이다. 주키퍼는 분산 시스템에서 필수적인 계층 구조인 Key-Value 저장 구조를 통해서 대규모 시스템..
PART 1 Shell Script Basic Shell Script 쉘 스크립트는 리눅스/유닉스에서 실행하기 위해 고안된 오픈소스 프로램이다. 쉘 스크립트에서는 여러 명령을 작성하여, 반복적이고 단순한 형태의 작업을 프로그래밍하고 실행 가능한 파일 형태로 저장하여 사용할 수 있도록 한다. 쉘이란 사용자와 운영체제 간의 인터페이스를 지칭하는 유닉스 용어이다. 쉘을 통해 사용자에게 인터페이스를 제공하고 사람이 해석할 수 있는 명령을 시스템이 해석할 수 있는 명령으로 변환하여 사용자가 원하는 명령을 실행할 수 있도록 한다. 위의 그림에서 확인할 수 있듯이 커널은 운영체제가 동작하기 위한 가장 핵심적인 부분으로 하드웨어와 운영체제간의 통신을 위해 사용되며, 쉘은 사용자의 입력받은 명령은 운영체제에 전달하고 이..
실전 연습 - Docker Compose 애플리케이션 배포하기 위에서 docker-compose.yml 작성 방법에 대해 알아보았다. 이번 시간에는 실제 docker-compose.yml 파일을 작성하고 실행하여 서비스 동작 과정을 실습한다. XpressEngine 3와 mariadb 연동하기 위에 고급 실습을 통해서 XpressEngine 3의 Dockerfile를 만들었고 정상적으로 실행하기 위한 데이터베이스 연결과정을 작성해 보도록 하겠다. version: '3.4' services: xpressengine: image: jusk2/xpressengine ports: - 10001:80 restart: always database: image: mariadb environment: M..
Overview of Docker Compose Docker가 주는 독립된 애플리케이션 실행 환경 덕분에 많은 이득을 얻은 덕분에 개발환경도 빠르게 구축하기 위한 프로젝트인 fig 프로젝트가 나오게 되었다. 초창기 단순 Docker 명령을 한 번에 실행하기 위한 서드파티 도구였지만 인기를 얻자 Docker가 이를 흡수하여 Docker Compose 도구를 개발하게 되었다. 이를 활용하면 컨테이너를 실행하는데 필요한 옵션과 의존성 및 실행 순서를 한 번에 정의하여 작성하고 실행할 수 있다. Docker Compose install 기본적으로 윈도우, Mac 사용자의 경우 위에서 Docker를 설치하게 되면 같이 Docker Compose도 같이 설치되기 때문에 따로 설정이 필요가 없으나, 리눅스 사용자의 ..
실전 연습 - Dockerfile로 이미지 만들고 push 하기 위에서 학습한 내용을 가지고 Dockerfile을 작성하고 실습을 진행하도록 한다. 프로그래밍 언어별로 예제를 만들어 보았으니, 확인 후 테스트하길 바란다. Simple Web Application with bootstrap 간단한 방법으로 정적 웹페이지를 만들어보는 실습을 진행한다. $ mkdir docker-bootstrap && cd docker-bootstrap $ git clone https://github.com/ThemesGuide/bootstrap-themes.git $ mv bootstrap-themes pages$ vi DockerfileFROM nginx LABEL seongwon "seongwon@edu.hanbat.a..
Docker backup & restore Docker를 사용하다 보면 해당 이미지 혹은 컨테이너를 직접 백업하고 복구하는 상황이 생길 수 있다. 이때는 다음과 같은 명령을 통해서 시도할 수 있다. docker export 컨테이너를 백업하는 명령이다. $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f70cd32010d3 hello-dockerfile "cat /hello-docker.t…" 29 minutes ago Exited (0) 29 minutes ago $ docker export f70cd32010d3 > ./hello-dockerfile.tar # 컨테이너 ID 혹은 이름으로 지정docker import 출력된 컨..