기술 블로그

Netfilx  https://netflixtechblog.com/
Naver D2 https://d2.naver.com/news
kakao  https://tech.kakao.com/blog/
Line  https://engineering.linecorp.com/en/blog/
ZUM  https://zuminternet.github.io/
우아한 형제들 http://woowabros.github.io/
Popit  https://www.popit.kr/
vcnc 기술블로그 http://engineering.vcnc.co.kr/
개발자스럽다  https://blog.gaerae.com/
이상한 모임 https://blog.weirdx.io/
어썸데브 블로그 메일링으로 구독  http://daily-devblog.com/


웹 서버 구성에서 빠지지 않는 L4 switch  실물은 위 사진 에서 화살표로 표시 하였다.

요즘은 실물 장비를 확인 할 경우가 없기 때문에 IDC 방문 당시 기념으로 사진 하나 남겨봤다.

(하드웨어 유지 보수 업체에서 관리 하기 때문에 월별 리포트만 받아보고 있다.)

 

이마저도 클라우드 환경으로 점차 바뀌어가는 요즘 시간이 지나면 라때 선배의 경험담이 될지도 모르겠다;

AWS 기준 주로 (S3 (cloud front) + elb + ec2) 조합을 많이들 사용한다고 한다.

 

L4 와 L7 내용을 간략하게 정리하자면 아래와 같다.

L4 스위치


- Real ip 를 Vip 로 묶어서 로드밸런싱 / Fail over
- TCP/UDP 포트 정보를 확인해, 해당 패킷이 사용하는 서비스 종류별로 처리한다.
   (http,telnet, ftp 등 포트 기반 패킷 처리)
- TCP/UDP 포트를 이용하여 로드 밸런싱
- TCP/UDP 포트 정보를 참조해 스위칭
  즉, 모든 처리가 TCP/UDP 포트 정보 기반으로 함 (서비스 단위로 로드밸런싱, 스위칭)

L7 스위치


- TCP/UDP 포트 정보와 함께,패킷의 내용까지 참조해서 스위칭 한다.
- 포트 + 페이로드(실제 데이터, 컨텐츠) 를 분석함
- http 의 url 이나 쿠키 정보, 바이러스 패턴을 분석해 보안에 더 유리한 로드밸런싱이 가능하다. (트래픽 필터링 가능)
- 페이로드 분석을 통해서 DDos 방어, 패킷 필터링 등이 가능하다.
- URL 별 / FTP 파일 제목 등의 정보로도 스위칭이 가능하다
- HTTP Header값에 따라 특정 String을 기준으로도 로드밸런싱이 가능하다.

요약

 

공통점 스위치로 들어온 패킷을 적절한 목적지로 전송해 준다 불필요한 패킷은 drop


L4는 포트기반으로 패킷을 처리
L7는 포트+페이로드(데이터)를 기반으로 패킷을 처리
페이로드 기반으로 패킷을 처리하는 L7가 더 유연한 처리가 가능하다.
(URL 정보로 패킷을 처리한다든지 등의 더섬세한 컨트롤 가능)

'기타 > 네트워크' 카테고리의 다른 글

[HTTP] caching  (0) 2021.12.16
최신 메시지 큐(Messgae Queue) MQ 기술  (0) 2019.09.02

 

문제 확인

 

데이터 검증을 위해 키바나 페이지에 접근하니 상태 빨강 license-expired 경고 메세지를 보여주고 있다.

라이센스 새로 발급 받을 때가 온거 같아 정리 겸 작업 내용을 작성 해 보려 한다.

라이센스 처리전 까지 kibana 기능을 사용할 수 없다.

 

지금 회사에서 사용하는 'BASIC' 버전의 'Free License'  유효기간은 '1년'이며, 1년이 지났다면 라이센스 등록 페이지로 이동하여, 이름과 이메일, 국가 등의 정보를 등록하면 '라이센스 json 파일' 다운로드 링크를 이메일로 받을 수 있다.

 

작업 전  Elastic 버전 별 오픈 소스 제공 내용은 아래 참고 하시면 된다.

Basic 에 속한 기능들은 오픈소스 라이센스는 아니지만 무료로 사용할 수 있도록 제공되고 있다.

( 개발자 도구,  Kibana 쿼리 자동 완성  같은 편의 기능등이 대부분 Basic 라이센스에 속해 있다).

 

 

라이센스 등록 과정

 

아래 링크에 접속 하여 Basic License 등록을 시작 하자

 

Register | Elastic

Afghanistan Åland Islands Albania Algeria American Samoa Andorra Angola Anguilla Antarctica Antigua and Barbuda Argentina Armenia Aruba Australia Austria Azerbaijan Bahamas Bahrain Bangladesh Barbados Belarus Belgium Belize Benin Bermuda Bhutan Bolivia, P

register.elastic.co

 

등록과정-A

 

등록과정-B

등록 마무리 했다면 이제 메일을 확인 하여 라이센스 파일을 다운로드 한다. 첫 링크 /download/ 선택

 

다운로드 과정-A
다운로드 과정-B (해당 되는 버전 선택 하여 다운로드 진행 한다.)

 

라이센스 JSON 포멧은 아래와 같다.

{
    "license": {
      "uid": "",
      "type": "basic",
      "issue_date_in_millis": ,
      "expiry_date_in_millis": ,
      "max_nodes": ,
      "issued_to": "dongmin seol (dm)",
      "issuer": "Web Form",
      "signature": "hazE2k5J0oSNcW0bOAAABm",
      "start_date_in_millis": 
    }
 }

 

라이센스 교체

이제 서버로 이동하여 기존 라이센스 교체가 필요하다 서버로 접속 해본다.

다운로드한 license.json 파일을 서버로 옮긴 후 xpack의 rest api 로 밀어 넣어 주면 된다. 아래 참조 커멘드

curl -XPUT -u elastic:{elastic_password} 
https://{ipaddress}:9200/_xpack/license?acknowledge=true 
-d @/server/elasticsearch-5.1.1/{license_file_name}.json

 

라이센스 확인

 

등록한 라이센스 정보를 확인 해본다. 아래 참조 커멘드

curl https://{ipaddress}:9200/_license

결과는 아래와 같다.

 

'기타 > Elasticsearch' 카테고리의 다른 글

[Elasticsearch] DSL 쿼리  (0) 2021.09.29

 

참조링크 https://2hyes.tistory.com/91

 

 

- git 설치 링크 https://git-scm.com/downloads

 

Git - Downloads

Downloads macOS Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. GUI Clients Git comes with built-in GUI tools (git-gui, gitk), but there are several third-party tools for users looking for a platform-specific exp

git-scm.com

 

- github에서 생성한 repository 주소를 복사하여 메모장에 준비해 두자

 

 

- github에 업로드 진행 할 프로젝트 마우스 우클릭 > Git Bash Here

- Git Cmd 창이 뜨면 초기 설정을 아래 참조 이미지 순으로 진행

git config --global user.name "github name"
git config --global user.email "github email"
git init
git add .
git commit -m "저장코멘트"
git remote add origin https://github.com/repository주소.git
git push -u origin master

 

  • nginx : 기동
  • nginx -s stop : 정지
  • nginx -s reload : 재기동
  • nginx -t 설정파일 체크
  • /etd/nginx : main 설정파일 위치
  • /etc/nginx/conf.d/ : 각 서버용 설정파일 위치
nginx 기동
nginx -s stop 정지
nginx -s reload 재기동
nginx -t 설정파일 체크
/etd/nginx main 설정파일 위치
/etc/nginx/conf.d/ 각 서버용 설정파일 위치

Nginx 명령의 옵션

-?, -h nginx 명령어의 도움말 표시
-v nginx Version
-V nginx를 make 했을시 컴파일러 또는 configure 옵션 표시
-t, -q nginx 설정파일 오류 체크 (오류 체크시 nginx 정지 상태에서 실행, 정상메세지 출력)
-s stop 강제종료
-s quit 실행중 request 처리 종료하고 nginx 정리
-s reload 설정파일 다시 읽음
-s reopen nginx 재기동중 로그파일을 다시 오픈
-c 설정파일 지정한 설정파일로 nginx 기동
-g global 디렉티스 설정 지정한 global 디렉티브의 설정으로 nginx를 기동 (부하실험 등)
-p prefix default=/usr/local/nginx

'기타 > Linux' 카테고리의 다른 글

CentOS 7 서비스 관리  (0) 2019.08.29

+ Recent posts