Back End/서버 지식

00. 서론개인용 홈서버 환경을 구성하면서, SSH 연결을 위해 고정IP 설정을 할 일이 있었다.그런데 고정IP 설정을 하려고 했더니 서브넷마스크, 게이트웨이 뭐 이런것들도 설정을 해야 한다더라,,사실 서브넷마스크 용어는 많이 들어봤어도, 자세하게는 이해하지 않고 그냥 다른 블로그에서 설정하라는 숫자대로만 생각없이 적었었다.그래도 이제는 개념 정리를 해야할 필요를 느껴서 이렇게 공부한 내용을 포스팅한다.01. IP 주소개념우선 IP주소는 모두가 알다시피 각 컴퓨터를 구분하기 위한 고유 번호이다.우리는 이 IP주소를 활용해서, 다른 특정한 PC에 접근할 수도 있고, 내 PC에 접근한 상대방들을 IP주소를 통해 구분할 수 있다.컴퓨터의 명령프롬프트에 ipconfig라고 치면 해당 컴퓨터의 IP 주소를 확인할..
01. CI/CD란?CI/CD는 Continuous Integration, Continuous Deployment 의 약자로, 지속적 통합, 지속적 배포 라는 의미를 가진다.지속적 통합은 여러 개발자들이 작성한 코드를 지속적으로 병합하며, 그 과정에서 발생할 수 있는 문제를 발견하는 테스트 과정을 포함한다.지속적 배포는 개발된 코드를 실시간으로 운영 환경에 배포하는 과정을 이야기 한다.예시로 여러명의 개발자들과 협업하는 경우를 생각해보자.각 개발자들이 작성한 코드를 main branch에 병합하는 과정에서, 아마 높은 확률로 Conflict가 발생할 것이고, 이를 직접 검토하며 통합하는 적업은 꽤나 많은 시간을 소모할 것이다.또한, 이렇게 작성된 코드를 배포하는 과정도 꽤나 복잡하다. 서버 PC에 접속 ..
01. SSH(Secure Shell)란SSH: 네트워크 상에서 다른 컴퓨터를 통해 PC를 원격으로 조작할 수 있게 해주는 프로토콜 Shell을 사용하여 원격으로 외부 PC를 조작한다. 이때 PC를 조작하는 명령들은 대칭키와 비대칭키를 활용하여 암호화 된다. 때문에 기존의 Telnet 프로토콜보다 보안상 뛰어나다. 02. SSH 통신 사용 사례 및 예시 SSH 통신은 주로 서버 PC를 원격으로 조작하기 위해 사용된다. 운영 환경에서 서버 PC는 별도의 서버실에 존재하거나, 또는 클라우드 플랫폼을 사용하여 구축된다. 이때 서버 PC를 조작하기 위해 매번 서버실에 출입하기에는 번거롭다. 이런 경우 SSH 프로토콜을 사용하여 개인 PC에서 원격으로 서버 PC를 조작할 수 있다. PuTTY, Xshell 등의 ..
00. 암호화통신과정에서 암호화는 매우 중요한 요소이다.HTTPS, SSH 등 여러 부분에서 사용된다.크게 대칭키 를 사용하는 암호화 방법, 비대칭키 를 사용한 암호화 방법으로 분류할 수 있다.01. 대칭키대칭키는 암호화에 사용되는 키와, 복호화에 사용되는 키가 동일한 키를 의미한다.대칭키를 사용한 암호화, 복호화 과정대칭키를 사용한 암호화 과정은 간단하자. 위 그림을 보자.왼쪽의 사람(A)이 오른쪽의 사람(B)에게 평문을 암호화 하여 전달하고자한다.A는 임의의 대칭키를 만들어서 평문을 암호화한다.이때 암호화에 사용된 대칭키를 사용하여, 암호문을 복호화 할 수 있다.A는 B에게 대칭키를 전달한다.A는 B에게 암호화된 문장을 전달한다.B는 A에게 받은 대칭키를 사용하여 전달받은 암호문을 복호화한다.대칭키의..
01. 컨테이너란가상화의 필요성PC에서 여러 소프트웨어를 실행시킬 경우 아래와 같은 문제들이 발생함OS 호환성 문제라이브러리 의존성 문제보안 문제등등 ...이런 문제를 해결하기 위해 가상화 라는 방법을 사용하여, 하나의 PC에서 각 소프트웨어의 독립적인 실행을 보장함 컨테이너는 이런 가상화 방법 중 한가지이다.컨테이너 VS 가상머신가상화 하면 가장 먼저 떠오르는 방법이 가상머신(Virtual Machine, VM) 을 사용하는 방법일 것이다.그렇다면 가상머신과 컨테이너의 차이점에는 어떤 것이 있을까?리소스 사용: 컨테이너는 OS 커널을 공유하여 더 가볍고 효율적임격리 수준: VM은 완전한 OS를 포함하여 더 강력한 격리를 제공함시작 시간: 컨테이너는 OS 부팅 과정이 없어 더 빠르게 시작됨유연성: VM은..