Go, Vantage point
가까운 곳을 걷지 않고 서는 먼 곳을 갈 수 없다.
Github | https://github.com/overnew/
Blog | https://everenew.tistory.com/
DNS 서버 란? DNS는 IP 주소 및 기타 데이터를 저장하고 이름별로 쿼리 할 수 있게 해주는 계층형 분산 데이터베이스입니다. 즉, DNS는 컴퓨터가 서로 통신하는 데 사용하는 숫자 IP 주소로 변환되는, 쉽게 읽을 수 있는 도메인 이름의 디렉터리입니다. 예를 들어 브라우저에 URL을 입력하면 DNS는 URL을 해당 이름과 연결된 웹 서버의 IP 주소로 변환합니다. DNS 디렉터리는 정기적으로 업데이트되는 전 세계의 도메인 네임서버에 저장되고 배포됩니다. -Google Cloud- 우리가 항상 사용하는 google.com 를 웹 주소로 쿼리 하면 매칭되는 IP로 바꿔주는 것이 DNS 서버의 역할이다. 여기서 google.com. 에 마지막 .은 생략되어 있지만, 최상위 루트 도메인을 의미한다. 따라서..
Nginx 란? Nginx는 Web server는 보통 WAS(web app server)의 앞단에 위치하여, 클라이언트로부터 HTTP 요청을 받아 정적 콘텐츠를 제공한다. 만약 동적인 콘탠츠(유저별로 다른 데이터)가 필요하다면 WAS에 요청을 넘기는 역할을 수행한다. 대표적인 Web server가 Nginx와 Apache 그리고 IIS(window server)이다. Web Server의 특성상 로드 밸런싱이 떠오를 수 있다. 실제로 AWS의 ALB는 Nginx로 구현된 로드 벨런서라고 한다. 아파치와 같은 경우는 연결마다 새로운 프로세스가 스레드에 할당되는 방식이다. 따라서 많은 트래픽에는 대처하기 힘들고, 스레드의 컨택스트 전환과 같은 오버헤드로 느려지기 쉽다. 실제로 Spring boot를 사용하..
Virtual Box에 가상머신을 쓰다 보면, 항상 ip가 바뀔 수 있기 때문에 ssh 접속할 때마다 ip설정이 귀찮을 수 있다. 이를 위해 두가지 어댑터를 붙여주어야 한다. 하나는 Virtual Box 내의 사설망에서 사용되는 호스트 전용 어댑터, 다른 하나는 외부로 통신이 되는 NAT 네트워크를 붙여줄 것이다. 호스트 전용 어댑터는 host pc에서도 인식이 되기 때문에, 이 호스트 전용 어댑터의 주소를 통해 내부 NAT 네트워크로 포트 포워딩을 해줄 것이다. 우리가 사용할 호스트 전용 adapter들을 만들어주자. 이제 VM의 네트워크 설정에서 어댑터 1에 호스트 전용 어댑터를 연결해 주자. 이제 또 다른 어댑터를 활성화해 주고, 포트포워딩 설정을 해줄 것이다. 이 NAT는 Virtual Box가 ..
DHCP(Dynamic Host Configuration Protocol)는 해당 IP(인터넷 프로토콜) 주소와 기타 관련 구성 정보(예: 서브넷 마스크 및 기본 게이트웨이)를 IP 호스트에 자동으로 제공하는 클라이언트/서버 프로토콜이다. -MS- 원하는 ip 범위 내로 할당을 하고 싶다면, 직접 DHCP 서버를 설치하고 해당 네트워크 범위 내에 ip를 할당해보자. 우리가 할당할 IP는 100.100.100.200~100.100.100.220 router의 주소는 100.100.100.254이다. 아래 명령어로 isc의 dhcp 서버를 설치해 주자. sudo apt-get install isc-dhcp-server 설치 후, 일단 잘 동작하는지 확인해 보자. systemctl start isc-dhcp-..
이번 여름 방학에 진행했던, Elastic Search와 AWS를 결합한 프로젝트에서 특별상을 수상하게 되었다. 프로젝트 초반에 팀원 분들이 개인 사정으로 모두 나가셨기 때문에, 1인 팀이 되어 버렸지만 오히려 기획, 설계와 구현을 모두 스스로 해볼 수 있었기 때문에 클라우드를 입문하는 경험으로서는 최고였던 것 같다. 다행히 좋은 평가를 받아 이번 12.29일에 AWS 본사에서 진행되는 AWS Rookie Championship 2023에 참여하게 되었다. AWS Rookie Championship 2023은 한 해 동안 대학생들이 진행했던 AWS 프로젝트 중에서 우수한 팀들이 참여해 발표를 하는 대회이다. 이를 위해 남은 기간 동안 AWS 자격증 공부도 하고 서비스가 정말 유저에게 도움이 될 수 있도록..
일단 Window10에서 Ubuntu Desktop과 연결을 해보자. 호스트 전용 네트워크를 만들면 Window10 -> Ubuntu Desktop로는 되지만 반대는 안 된다. Window10은 기본적으로 방화벽이 켜져 있기 때문에, 설정을 살펴보면 들어오는 연결이 막혀 있다. 방화벽을 꺼주면 정상적으로 연결이 된다. Ubuntu server와 win 10도 동일하게 진행이 된다. 이번에는 다른 host only 어댑터끼리 가능 한지 확인해보자. 다른 host only 어댑터는 서브넷이 다르기 때문에 통신이 안 된다. (subnet이 다른 ip를 할당받은 것을 확인할 수 있다.) 호스트 전용 네트워크에서 DHCP가 자동으로 IP를 세팅해 주기 때문에, 통신이 되지 않는다. 이를 위해서 Static IP를..
aws의 ALB(애플리케이션 로드밸런서)를 생성하다보면 스키마(체계)를 선택할 때가 있다. 선택에 따라 internal load balancer 혹은 internet-facing load balancer로 생성이 되고, 생성 후에는 변경할 수 없다. 두 종류는 완전히 다르기 때문에, 원하는 방식에 따라 선택해 주어야 한다. internet-facing internet-facing Load Balancer는 (LB의 컴퓨팅 노드들이) public ip를 가지게 된다. DNS 서버에는 이 IP들이 등록이되어, 외부 인터넷으로 부터 요청을 받을 수 있게 된다.이때의 DNS 서버는 AWS의 자원이 아니여도 가능하게 된다. public ip로 노출된 Load Balancer가 라우팅을 해주기 때문에 대상 그룹의 ..
Elastic Search에서 search를 진행할 때 매칭되는 것이 너무 많으면, 요청한 측에서 처리하기가 곤란할 수 있다. 이를 위해서는 페이징 기술이 필요한데, Elastic search에서는 3가지의 페이징 기능을 제공한다. 각각은 장단점이 있기 때문에 상황에 맞게 선택할 필요가 있다. 3가지의 장단점에 대한 내용은 아래의 블로그 게시글이 잘 정리하고 있으니 참조하자. https://blog.naver.com/occidere/222686762033 [Paging] Elasticsearch 의 페이징 방식 3가지 요약 Elasticsearch 의 페이징 처리 방식 3가지 1. Random access with size & from params - 매번 검색할... blog.naver.com 이번에 ..
채용 공고를 빠르게 검색하는 용도로 Elastic Search를 사용하고 있는데, 채용 공고는 몇달이나 지난 것은 의미가 없기 때문에 날짜가 가까울수록 높은 Score를 낼 수 있도록 만들어야 한다. script_score를 사용하면 부분 텍스트나 숫자로 score를 만들기 때문에, Decay functions을 사용해야 한다. https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.html#function-decay Function score query | Elasticsearch Guide [8.11] | Elastic Keep in mind that taking the log() of ..
기존에는 한 폴더 내의 변경 만으로도 모든 폴더가 각각 빌드되는 Workflow를 적용하고 있었다. 아무리 Public Repository는 Github Actions가 무료라도 이런 비효율성을 참을 수가 없으니 바꾸어 보자. https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore Workflow syntax for GitHub Actions - GitHub Docs A workflow is a configurable automated process made up of one or more jobs. You m..