[인프라] Virtualization Software

adam adam·2022년 9월 29일
0

Virtualization Software

가상머신을 생성하고 관련된 환경설정을 지원한다. 개인은 무료이다. 그리고 cmd 하나하나 치면서 하나씩 뚫릴때 재미있긴 함. 오밀조밀한 맛이 있음.

다만, 나의 경우, adapter 문제를 경험했고, 재현불가한 과정들을 거쳐, 최종적으로 실험한 내 개인노트북은 virtualbox 바로가기를 클릭해도 아무것도 안켜진다.

이로 인한 불쾌함과 조바심은 아래 과정에서 드러난다.

한편, 5일 뒤 윈도우 자동업데이트와 함께, 다시 켜진다. 고칠려고 노력하지 않은 게 고쳐졌다. 감사하자.

인프라 설정 시 유의사항

심신안정부터

영단어 라틴어 배경까지 거슬러 올라가면, 그 안에 나름 연관성 있듯이, 설정할때 접하는 수많은 고유명사와 개념들에도 뜻이 있고 뿌리가 있겠다만,

근데, 그래서 내가 어디에 있는 무슨 버튼 누르고, 어떤 명령어 쳐야되는지 알 수가 없음. 마음의 평화 필요. 쉽지는 않지만

좋은 습관

  • 실험환경과 작업환경의 분리
  • 무한 백업하기

+ 버그의 해결보단 새로 생성

앞선 adapter 문제를 해결하며 Windows 10 최근 업데이트랑 충돌 사례, virtualbox 실행안되는 사례들을 바탕으로 문제를 해결하고자 했지만

중간에 평정심을 잃고, '되는 게 당연하지'하면서 검색한 것들을 바로 적용하다보니, 과정도 잘 기록하지 못하고 3시간이 지났다. 그리고 하다하다 안되서 모르는 것도 해봤음. 내 손으로 했으니 내 잘못이라고 하면 그러려니 하지만,

설명들 보면서 레지스트리까지 지우고, 다시 또 탐색기로 virtualbox 들어간거 다 지우고, User아래 .virtualbox도 지우고, 다시 깔아도 원복하는데 실패했다.

그래도,
갈려나간 시간을 보며 얻은 건, 처음부터 작업환경을 분리하고, 평소 백업을 충실히 해야한다는 것을 상기함. 추후 cloud에서도 동일 적용

목표

목표 인프라는 3 tier architecture의 온프레미스 인프라 구성

3 tier architecure

(Example)
1. 크롬 브라우저로 은행사이트에 접속해서 둘러보다가 대출 요청
2. 은행서버는 대출요청을 한도나 금융정책 따라 처리, 그리고 결과 데이터를 DB에 전송
3. 은행 DB 서버는 결과 데이터를 저장

전체 작업 흐름을 위 3단계로 분할하여 이에 따라 설계도 세분화한것으로 일단 이해.

처음부터 이런 구조로 배운 나에겐 '이게 왜 아키텍처지?' 했지만, 자료를 보면서 생각난건데, 엄청 예전에 web browser라는 게 없이, 연구실이나 회사에서 바로 DB 접근하던 시절(2-tier architecutre)과 비교하면 좀 더 새롭게 다가옴

참고로, 위 구조는 화면과 백엔드 서버를 1명이 다 개발하면, 개발자에겐 체감상 2티어

aws and 3-tier

ibm and 3-tier

Virtual Machine

Overview

가상머신은 linux 등의 OS를 올릴 수 있다. linux의 CentOS 계열의 경우, rpm , yum 등의 명령어가 제공된다.

yum으로 wget을 까는 예제들을 볼 때, rpm, yum 다음으로 wget이란 명령어(유틸리티)가 생긴듯하다.

제약
1. centos의 yum, ubuntu의 apt-get 사용X

=> 추가설명 : no yum, no wget까지 고려하면 설치파일을 scp로 보내야할듯

!! yum이 우선 !!

yum으로 바로 다운로드되면 좋고, 안되더라도, yum으로 다운로드 받아서 폐쇄망에 전송한 뒤 작업하면 잠을 충분히 잘 수 있다.

CentOS 7

CentOS7 = { Network, file system, ... }

노트북에 삼성, lg 있듯이 Linux도 centOS, Ubuntu 등등 있는데, 24년에 무료지원이 끝나는 CentOS 7 버전들이 새로운 걸로 전환될 거 생각하면, 제일 요긴할듯해서 일단 CentOS7

CentOS-7-x86_64-Minimal-2009.iso goto download

Install

Virtual Box and CentOS7 설명에 따라 설정 완료

미리 좀 보자면,

yum을 help를 통해 검색해보니까, 누군가가 여전히 관리하고 있다는 게 왠지 신기했음

Firewall and Network

나에게 네트워크는 노드 간의 연결이다. 네트워크 도식에선 이런 연결을 수학의 선분으로 간략히 표현하지만, 나한테는 너무 함축적이다. 어느새 익숙해져서 Port와 IP가 그려지긴하는데, 처음에는 뭔말인지 몰랐음

Firewall은 고속도로 톨케이드,Port는 고속도로 톨케이트의 1개 입구, IP는 여러 차선을 가진 고속도로의 시작부분로 생각중. 그러면 1개의 고속도로에 여러개의 차선이 있고, 나름 그 차선마다 의미를 부여할 수 있을듯.

한편, 연결과 별개로
각 노드는 보다 구체적인 역할을 통해 추가적인 새 이름을 부여받는다고 이해 중.
보다 자세한 건 wiki 네트워크 토폴로지

근데, 실제 고속도로를 건설한다고할때, 고속도로가 건설되고 그 위에 톨게이트가 건설되지 않을까? 하지만 지금은 전체적인 관점이 아닌, 노드라는 부분요소에서 바라보는 거니까 일단 패스

Firewall of CentOS

방화벽 설정에서 차선의 입구와 같은 port를 열어둔다. 이때, 도로의 1차선은 버스만 지나갈수있듯이, 주요 port들, 22,80, 8080,은 관습적으로 역할이 정해져 있다. 22는 보안 통신, 80은 웹서버 통신, 8080은 워즈 통신이 주이다. 난 이 관습을 따를거다. 효과적이니까

이러한 주요 port들을 연다. 그러면 CentOS 7 관점에서, (주로) 작업노트북을 향해 차선들의 입구를 연다고 생각하는 중.

firewall-cmd --add-port=22/tcp --zone=public --permanent

firewall-cmd --add-port=80/tcp --zone=public --permanent

firewall-cmd --add-port=8080/tcp --zone=public --permanent

* 나는 이미 열어놓은 차선를 또 열라고하니까 Warning이 뜨는데, 중요한건 success

다만, 아직 한쪽 도로 입구만 있을 뿐, 도로가 생긴 건 아니라고 생각할 수 있다. 상대편에서도 도로 입구를 만들고, 무엇보다 중간에서 이를 연결해주는 도로(차선들)이 필요. IP 도로를 만들자

Network

참고로, virtualbox 의 화면에서는 이더넷 어댑터라는 표현을 쓰고, HW 관점으로는 라우터나 wifi 공유기랑 다르다.

하지만 나한테는 유사함. 그래서 Router-like adapter

IP assignment

centos7깔때 네트워크 열어서 위와 같이 바로 뜨는 듯함.

[IP]:[Port]

was나 db 설정이 끝나면 위에서 할당하고 열어둔 ip:port로 접속가능

CentOS => Application Server

CentOS에 추가적인 설정을 통해 Application Server로 구체화한다.

SSH

안전하게 설정된 22번 포트로 통신하는 것으로 일단 정리

SSH가 되면 안전하게 파일을 전송하는 SCP 통신도 된다.

SCP

scp [option] [file or directory] [username]@[target_ip]:[target_path]
scp testfile.txt root@192.168.56.1:/home/root

scp 또한 22번 도로와 같은 22번 포트로 통신한다.

인터넷에 직접 연결된 Windows10 에서 필요한 tomcat을 다운받아 1차적으로는 외부와 단절된 CentOS7으로 scp전송한다. rpm, yum, wget없이 고립된 운영체제가 유일한 통로를 통해 자료를 받는 방법으로 이해중

근데 대다수의 자료는 모두 yum으로 jdk 설치와 설정을 한번에 하고, 별개로 scp로 전송하는 글은 10년 전에 1개 찾았다. 그래서 부득히 yum 자료들을 매우 많이 짜깁기함.

JDK

설정과 밀접한 리눅스의 CentOS 디렉토리를 말하면

  • /etc/profile
  • /usr/bin
  • /home/root/*

/etc/profile은 윈도우에서 jdk 설정할때, JAVA_HOME, Path 들 설정하는 자료에 대응

/usr/bin은 운영체제가 가용 명령어를 모아두는 디렉토리, 여기에 명령어 설정이 안되어 있으면, cmmand not found가 뜬다.

/home/root 하위 디렉토리 및 파일들은 내가 만든 디렉토리 파일들로 설정이 편하게 할려고 이리 함. 보안적인 부분은 추후 aws에서 해볼듯

참고로
설정은 옆집 김치찌개 조리법처럼, 만든사람이 생각한대로 하면 된다. 똑같은 결과를 얻고자 할수록 선택지는 정해진다고 생각. 아래 내용은 이러한 조리법

yum install jdk을 하면 아래 install과 centos의 jdk 인식 2가지 설정을 한번에 해준다. rpm도 그런듯. rpm은 1995년도 이후 CentOS면 들어가있을듯하다. 유용할듯


download site

파란색 버전의 jdk로 압축해제하면, 뜬금없이 아래와같은 안내가 뜸

[root@localhost bin]# ./javac
-bash: ./javac: cannot execute binary file

지금보면 저 ARM이 아마도 intel이 아닌 arm버전을 말하는 듯? 하는데, 64bit OS에 64bit를 제대로 넣는데? 왜그러지이이이이이이이이이이이이?하면서

centos, jdk, install로 조합한 검색 열심히 해봤자, 나오는 건 지겹도록 본 yum 명령어를 통한 설치 및 자동 config 였음. 그리고 수동설치라고 해도 yum으로 wget하는 게 나옴. 그게 일반적인 가본가하다가, 그냥 왠지 arm이 뒤늦게 보이고, 딴걸로 설치했더니

내가 아는 게 뜸. 넘쳐나는 약자에 대해서 무신경했었으니, 그럴 수 있지. 이제부터는 윈도우에서 했던 거와 같이 JAVA_HOME 등 OS가 java 명령어를 자기 일부로 받아들이게 설정 시작


JAVA_HOME 설정하면 끝날 줄 알았는데 아니었네

JAVA_HOME 설정하는 법 따라서 JAVA_HOME했고,

echo $JAVA_HOME하면 정상적으로 뜨는데, 윈도우때와 달리, 운영체제 차원에서 java 명령어를 인식 못함

결과적으로 /usr/bin 하위에 소프트링크를 걸어야겠다라고는 생각함. 근데, 윈도우사용자로서 경험한 것 내에서 해야할일을 생각하고 찾은글을 따라 했는데

현재까지 수동설치글은 못찾고, 모두 다 yum install jdk 글이라 이런 부분을 인지못함. 그렇네. 10년 전에 scp로 파일 후 guest로의 다운로드가 가능하다라는 글 1개에서 여기까지 온거면 그럴 수 있지.


이렇게 많은 명령어들을 어떻게 다 소프트링크 걸지?

yum으로 설치했다는 글에서 JAVA_HOME 설정하는 글 보면,

/usr/bin/java 가 소프트링크로 자동배치된 /usr/lib/jvm/[해당버전 jdk]/java

연결되어있어서, 이때 /usr/lib/jvm/[해당버전 jdk]를 JAVA_HOME으로 설정하고 끝남.

즉, 명령어별로 소프트 링크 거는 건 자동화함. 근데 나는 yum을 안써서 그게 안됨.

당장 눈에 보이는 java, javac에다가 소프트링크 1개씩 걸수는 있지. 근데 그건 코딩하는 사람 사고 방식은 아닌듯? 자동화를 위해선 쉘스크립트를 짜야할듯?

근데, 막연히 떼어두었는데, rpm 쓰면 해줄거 같음. rpm 우선 tar의 centos 커스텀으로 이해
쉘스크립트는 방향이 아닌듯, 로그인은 커녕 게시글전체 조회도 시간내불가할듯


설명에 따라 rpm으로 압축해제하니, 소프트링크까지 자동으로 걸어준듯함.

rpm -ivh jdk-11.0.16_linux-x64_bin.rpm

이제는 역으로 설정된 소프트링크를 바탕으로 JAVA_HOME 변경

한편, yum으로 설치하면 /usr/lib/jvm 하위에 jdk가 배치되는듯. yum 쓸때는 이것만 알아두면 될듯

이쯤에서 확인하는 rpm and yum

rpm은 지금 본것처럼 내 작업노트북과의 통신만 이루어질뿐, 외부 망을 직접 타진 않음.

Tomcat

CentOS 7 tomcat 설치 따라 진행, catalina는 안함. 안해도 되긴하는데, 세부적인건 나중에 aws

참고로, 설치 당시 최신인 9.0.65 version 설치했는데, 그새 9.0.67 나옴. 톰캣 이전 버전 다운로드 방법 참고해서 리눅스 맞춤 tar 압축파일 받는다.

톰캣이 구동할려면 JAVA_HOME이 필요. 아마 기본적으로 이 경로를 찾아가게 세팅되있을듯, 윈도우에서도 톰캣안쓰는 java application 돌릴때도 왜 꼭 JAVA_HOME이라고 명명할까했는데, 이러한 곳에서 넘어온것인듯

./ 이라는 건 윈도우에서 파일 더블클릭해서 호출하는 것

startup.sh 해서 Tomcat started 확인

curl은 ip:port 로 응답 요청 하는 걸로 아는데, 왠지 get 일듯

127.0.0.1 는 한국어에 '나와 너' 중 나에 대응하는 ip로 이해

컴퓨터들의 ip로 너(상대) 컴퓨터를 찾는데, 그러면 나를 찾는 ip도 있을법 하니까

그래서 8080 port에서 제공하는 html 을 response 로 받는것,

나는 누구?
=> response ( html )

스스로에게 묻고 답하는 게 웃기긴함, 그리고 127.0.0.1 보다 직관적인 이름으로 localhost라는 또다른 이름을 주었다고 생각중

curl 127.0.0.1:8080 = curl localhost:8080


상단 port와 ip 설정을 통해 Windows 10에서도 접속가능 재확인

CentOS => DB Server

virtualbox instance 복제를 통해서 기존 CentOS 설정을 그대로 가진 새로운 인스턴스를 생성, 실제로 복사한 인스턴스는 게스트 IP가 원본과 당연히 같다.

아직 게스트 간 통신을 할 것은 아니므로, 냅둔다. 조금 유의할 부분은 guest ip가 동일하므로, 두 인스턴스를 동시에 실행시키지 않는다.

(web + was) server와 달리, db는 폐쇄망을 가정.이에 따라 rpm을 통한 설정이 비교적 중요

근데 왜 이렇게 예시들에 yum을 활용한 db 설치가 1번째로 소개되나 생각하면 정말 최초 인프라 구축시에는 열어놔서 그런가?
일단 패스

yum과 rpm 종합활용

폐쇄망을 전제할때, yum을 직접은 못쓰나, 설명과 같이 인터넷을 접근해도 무방한 곳에서 yum으로 rpm 패키지를 다운로드 받은 후, 폐쇄망에 접근하여 이 rpm들을 순서대로 압축해제하는 방법이 존재하고 아주 효과적

왜냐하면 하단 'rpm만 사용하면 안되는 사례'에서 볼 수 있듯이, rpm을 활용한 설치 시, 고질적인 의존성 문제가 있음. 경우에 따라서는 개인 DBA가 해결불가능할수 있음

우선 공식사이트 경로를 통해 핵심 rpm 파일 확보
그리고 이와 버전연동이 잘 되어있을 rpm들을 인터넷이 되는 서버에서 yum --download를 통해서 별도로 확보하고 전송

개인적으로 2시간동안 돌고돈 의존성 문제가 폐쇄망 내에서도 4줄로 효과적으로 해결됨

yum, Chocolately, homebrew

설치

rpm -ivh pgdg-redhat-repo-latest.noarch.rpm

한 다음 쑥쑥 설치된다.

/usr/pgsql-12/bin 에서

postgres -D /usr/local/pgsql/data

도 가능하나, 매번 그렇듯 이러한 manually의 어려움과 실수가능성을 아시는 분들이 아래와같은 service라는 단위로 제어가능하게 해주심 감사감사

service, systemctl

sudo -u postgres psql

리눅스상에 자동 등록된 postgres user로 psql이라는 명령어를 실행

postgresSQL에 접속됨

참고자료
https://projooni.tistory.com/entry/CentOS-7%EC%97%90%EC%84%9C-PostgreSQL-13-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0-Offline


windows 10의 dbeaver로 접속

rpm만 사용하면 안되는 사례


12.11 도 희망일뿐, 근본적으로 다른 접근 필요

적극활용


[Postgresql] Postgresql13 rpm으로 설치
https://hgko1207.github.io/2020/09/10/postgresql-1/

https://reason1241.tistory.com/42

https://www.c-sharpcorner.com/article/postgresql-installation-and-uninstallation/

=> lib이랑 client 먼저 rpm 인스톨하면, contrib이나 server는 무관한듯

postgreSQL 다운로드

https://www.postgresql.org/download/linux/redhat/

https://yum.postgresql.org/rpmchart/

https://yum.postgresql.org/12/redhat/rhel-7-x86_64/repoview/postgresqldbserver12.group.html

scp -r postgresql12-12.12-1PGDG.rhel7.x86_64.rpm root@192.168.56.1:/home/root/postgresql

scp -r postgresql12-contrib-12.12-1PGDG.rhel7.x86_64.rpm root@192.168.56.1:/home/root/postgresql

scp -r postgresql12-libs-12.12-1PGDG.rhel7.x86_64.rpm root@192.168.56.1:/home/root/postgresql

scp -r postgresql12-server-12.12-1PGDG.rhel7.x86_64.rpm root@192.168.56.1:/home/root/postgresql

sudo rpm -ivh postgresql12-libs-12.12-1PGDG.rhel7.x86_64.rpm
sudo rpm -ivh postgresql12-12.12-1PGDG.rhel7.x86_64.rpm
sudo rpm -ivh postgresql12-server-12.12-1PGDG.rhel7.x86_64.rpm
sudo rpm -ivh postgresql12-contrib-12.12-1PGDG.rhel7.x86_64.rpm

-ivh : 패키치 설치, verbose 자세한 정보 출력, print hash marks: 설치 진행 상황을 # 문자를 이용하여 출력한다.

위와같이 공식 사이트에서 제공하는 rpm을 다운받아 설치하려고 하나, error가 뜬다. 이는 rpm 명령어의 고질적인 의존성 문제이다. 더불어 관련된 rpm 패키지가 모두 있더라도, 그 설치 순서에 따라서 설치가 되기도 안되기도 한다.

지금은 4개라서 어떻게든 추가 작업을 통해 대응가능하지만, 실무에서 10여개 이상의 rpm을 상대해야하는 상황이라면 아래와같은 방법을 혼용할 수 있다.

rpm과 yum 응용
https://letitkang.tistory.com/262

https://centos.pkgs.org/7/centos-x86_64/libicu-50.2-4.el7_7.x86_64.rpm.html

scp -r libicu-50.2-4.el7_7.x86_64.rpm root@192.168.56.1:/home/root/postgresql

sudo rpm -ivh libicu-50.2-4.el7_7.x86_64.rpm

https://pkgs.org/download/libperl.so()(64bit)

scp -r perl-libs-5.16.3-297.el7.x86_64.rpm root@192.168.56.1:/home/root/postgresql

sudo rpm -ivh perl-libs-5.16.3-297.el7.x86_64.rpm

https://centos.pkgs.org/7/centos-x86_64/perl-5.16.3-297.el7.x86_64.rpm.html

scp -r perl-5.16.3-297.el7.x86_64.rpm root@192.168.56.1:/home/root/postgresql

sudo rpm -ivh perl-5.16.3-297.el7.x86_64.rpm

1개 남아서 방심했는데, 그냥 안되는 일 하고 있구나 하면서 계속해야함

하나씩 에러뜨는대로 설치하면 되는 게 아닌 게, 두 rpm이 서로 필요하면서 또 언제까지 새로운 의존 rpm을 설치해야할 지 모름.

이에 따라 버전을 12.11 로 우선 시도

rpm -qa | grep postgre
rpm -e [rpm 패키지명]

삭제도 역순으로 해야한다. 이거까지하면 rpm으로 의존성을 관리한다는 것 무게를 다시한번 느낄 수 있다. 다른 사람이 해놓은 것이라면 더더욱 이후사람은 제어불능에 빠지기 쉽다.

임시

NAT Port Forwarding

보다 대등한 관점에서 Windows 10 과 CentOS 7 그리고 네트워크 요소를 도식화함. Windows가 VirtualBox 를 품고 있다라고 표현하려고 노력함

port forwarding 설명에 따르면, 흔히 집에 있는 wifi 공유기 생각하면 좋을 듯하다. 그리고 이 공유기를 중심으로 네트워크망 구축 시작

(CentOS7의 ip와 port)를 (작업노트북 virtualbox용 ip와 port)를 우선 확인하고

이제는 상대가 묻고 답하게 설정하기 위해선 앞선 virtualbox port fowarding을 추가 설정해야햠

CentOs7 가상머신을 선택하고, 이것의 '설정', 네트워크, NAT 확인, 2개를 연결, 임시 공유기의 포트포워딩 세팅한다고 생각 중

!! CentOS7이 '실행중' 일 때 !!

ssh root@192.168.56.1 -p 22

로 접근가능하다

한편, 여기서 192.168.blabla에는 또 이야기; 사설ip, 공인 ip가 숨어있다.

ssh가 된다면 scp도 된다.


virtualbox guest 간 통신을 위해 다른 관점의 ip 설정부터

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=wwwkasa&logNo=221559500032

새로운 enp0s8이 생김, 내가 기존에 쓰던거는 enp0s3 와 별개이고, 어제 삽질한 게 enp0s3에는 세부설정이 enp08에 비해 없어서 그런듯?, 역시 하나 되는거 생기니까, 줄줄이 떠오름

어제 몇시간 갈려나간 문제가 한텀쉬고 왔더니 한방에 됨. 애당초 자료가 없는 환경이 아니라지만, 되기를 바라면서 했던 설정들
이 안되고, 자칫 설정하나 잘못했다가 어디까지 되돌아가야하나 하는 조바심과 불안감이 작용을 해서 그런듯, 원래그런거지이이이 기계도 아니고

한편 정확히는 어제 시도한 포트포워딩은 여전히 안되네, 내 로컬 ip의 5432로 접속하면 이게 NAT에 의해 10.0.2.15:5432로 전환되서 db에 붙는 게 당연하다고 생각했고, 내가 다른 데서 잘못했다고 생각했는데, 나중에 돌아와서 상황파악 다시해야겠다.

ssh로 접근할때는 이렇듯 내 ip:22으로 붙으면 NAT되고, 10.0.2.15:22로 가게 설정해서 작업이 됬는데, 말이지


windows 10 에서 virtualbox 의 ec2에 port forwarding을 통해서 접근했듯이, Windows10에서 포트포워딩을 경유해서 dbeaver가 virtualbox postgresql에 붙기를 기대했음

dbeaver가 192.168.56.1:5432로 들어가서 10.0.2.15:5432 로 전환되서 붙는 생각을 했고,

관련 .conf 다 설정했는데, 안됨

안되니까, 또 아 되야 하는데... 아 되야하는 데 하면서 빙글빙글 3시간정도 돌음. 그 시간에 딴 거 했으면 하나는 끝냈을텐데 설정잡는 건 역시 지능보단 심신안정인듯

일단 포트포워딩말고, virtualbox guest간 통신 설정잡고 다시 돌아와야지이이이이


외부접근
!! 방화벽이랑 설정파일 둘다 !!
https://devkingdom.tistory.com/267

포스트그레 방화벽
https://tobepro.tistory.com/8

https://tbmaster.tistory.com/89

postgreSQL - 추가 방화벽 설정 관련 자료
https://wylee-developer.tistory.com/24

posrgreSQL - 외부접근 시 방화벽을 통한 설정이 권장 된다?
https://rastalion.me/centos-7-%EC%97%90%EC%84%9C-%EB%B0%A9%ED%99%94%EB%B2%BD%EC%97%90-postgresql-%EB%A6%AC%EC%8A%A4%EB%84%88-%ED%8F%AC%ED%8A%B8-%EB%93%B1%EB%A1%9D%ED%95%98%EA%B8%B0/

.bash_profile 이 뭘까
포스트그레 11 센트오에스 에 설치 ; 영문모를 .bash_profile, 방화벽 설정참고
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=geartec82&logNo=221455688560

db remote access
PostgreSQL remote access

https://cloud.google.com/community/tutorials/setting-up-postgres

https://dev-j.tistory.com/20

3-tier-architecture
https://jaws-coding.tistory.com/9

virtualbox 네트워크망
https://yjshin.tistory.com/entry/%EB%B2%84%EC%B6%94%EC%96%BC-%EB%B0%95%EC%8A%A4-VirtualBox-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0

온프레미스 클라우드
https://www.microsoft.com/ko-kr/microsoft-365/business-insights-ideas/resources/cloud-storage-vs-on-premises-servers

[리눅스마스터2급 관련 지식, 좋음]
https://velog.io/@layssingcar/%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C-Protocol-TCPIP

ipconfig, netstat 깔기, ubuntu

0개의 댓글