CS & Network/컴퓨터 네트워크(Network)

[네트워크 network] Shared VPC란? (GCP Shared VPC)

현재 진행 중인 프로젝트는 GCP 환경에서 App Engine을 사용해서 운영이 되고 있습니다. 프로젝트는 GCP A Project와 GCP B Project가 동시에 운영이 되고 있는데요. B Project가 A Project의 Cloud sql을 공유해서 사용해야 하는 상황에 놓였습니다. 처음 계획은 A Project VPC Connector를 만들고 B Project에서 app.yaml 파일에 A Project의 VPC Connector를 사용하도록 설정해서 deploy 하기였는데요. 결론적으로는 실패했습니다. 이유는 여기 스택오버플로우에 나와있듯이 App Engine끼리 VPC Connector만을 이용해서 CloudSQL을 사용하는 방식은 지원하지 않기 때문이었죠. 삽질을 하다가 CTO님한테 다..

2022.07.31 게시됨

CS & Network/컴퓨터 네트워크(Network)

[네트워크 network] TCP 3-way HandShake & 4-way HandShake

최근 복습을 하면서 TCP와 UDP의 차이점에 대해 공부했습니다. 간단히 정리해보자면. TCP는 연결형 서비스로 3 핸드 세이킹 과정을 통해 연결을 설정하여 가상 회선 방식을 사용해서 순서와 신뢰성을 보장하지만 속도가 느리고, UDP는 비연결형 서비스로 신뢰성이 떨어지고 데이터그램 방식을 사용합니다. 수신 여부 따위는 확인하지 않아 속도가 빠르죠. 이번 시간에는 TCP가 연결을 할 때 사용하는 3 핸드 셰이킹(3-way HandShake), 연결을 해제할 때 사용하는 4 핸드 셰이킹(4-way HandShake)이 무엇인지 한 번 자세히 정리해보려고 합니다. TCP 3방향 핸드셰이크(TCP 3-way HandShake)란? TCP는 안전한 통신을 위해 통신 시작 전, 사전 연결 작업을 진행합니다. 목적지..

2022.02.21 게시됨

CS & Network/컴퓨터 네트워크(Network)

[네트워크 network] 로드 밸런서(load balancer) 란?

제가 현재 일하고 있는 Canverse의 도메인은 canverse.org 입니다. 모바일 브라우저(사파리 기준)에서 앞에 http를 붙이면 안 되고, https를 붙여야만 접속이 가능한 이슈가 계속 있어왔고, 최근 수정을 요청받았습니다. 그래서 단순하게 토이 프로젝트에 적용했던 방식을 적용하려고 했었는데요, 그 방식은 다음과 같습니다. 사용 스택 : EC2 + NGINX Nginx에서 https를 설정한 후, 개인키 csr키를 생성합니다. Letsencrypt를 사용해서 ssl 인증서를 발급합니다. ssl 인증서와 키를 추가해서 Nginx 서버 블록을 구성합니다 Nginx 설정 파일 (/etc/nginx/sites-available 폴더에서 default 파일)에서 서버 블록을 아래와 같이 수정해줍니다...

2021.10.23 게시됨

CS & Network/컴퓨터 네트워크(Network)

[네트워크 network] HTTP/HTTPS 란?

먼저 시작하기 전에 지금 도메인을 자세히 보겠습니다. HTTPS인 경우가 대부분일텐데요. HTTP? HTTPS?의 차이를 이번시간에 알아보겠습니다. HTTP(HYPERTEXT TRANSFER PROTOCOL) HYPERTEXT? 어디서 많이 들어봤는데요. 맞습니다. HTML에서도 HYPERTEXT라는 단어가 들어가죠. 하이퍼텍스트가 뭘까요? 간단하게 정리하면,컴퓨터 디스플레이나 독자가 즉시 액세스 할 수 있는 다른 텍스트에 대한 참조(하이퍼 링크)가 있는 기타 전자 장치에 표시되는 텍스트라고합니다. 돌아와서, HTTP는 웹 상에서 클라이언트와 서버가 서로 정보를 주고받을 수 있도록 하는 OSI7계층 중 7계층(애플리케이션 계층)의 프로토콜/규약입니다. 우선 클라이언트는 서버에 정보(데이터) 전송을 요청(..

2021.07.19 게시됨