SSH Tunneling

  • SSH(Secure Shell): 프로토콜을 이용하여 네트워크 트래픽을 암호화된 통로(터널)를 통해 안전하게 전송하는 기술
  • 일반적인 Proxy의 연결 방식과 차이가 없지만 SSH 프로토콜을 기반으로 작동하므로, 평문 연결에 대해서도 암호화 통신을 하는 효과를 얻을 수 있다. 단, 터널 제한을 하지 않는다면 클라이언트에서 중계서버에서 접근 가능한 모든 서버에 접근할 수 있다는 이야기이므로 오히려 보안상 취약할 수 있다.

  • 터널링 설정 : Linux Shell / Windows Power shell / OS X shell
# ssh -L $LOCALHOST_LISTEN_PORT:$TARGET_HOST:$TARGET_PORT $USER_NAME@TUNNEL_SERVER
# ssh -L 내_PC에서_오픈할_포트:실제_접속할_서버_호스트:실제_접속할_서버_포트    중계서버_계정@중계서버_호스트
ssh   -L    18080:172.17.0.100:8080    user@172.17.200.200
  • 터널링 설정 : Windows Putty

OpenLdap 설치 (on Redhat linux)

  • LDAP 개요

  • LDAP(Lightweight Directory Access Protocol) :
    디렉터리 서비스(Directory Service)에 접근하고 관리하기 위한 표준 프로토콜로써 다음과 같은 특징을 가진다.

경량 프로토콜 : 이름 그대로 “Lightweight”, 기존 X.500 디렉터리 서비스의 복잡한 구조를 단순화해 TCP/IP 환경에서 효율적으로 동작한다.
계층적 구조(Tree 구조):
dc=example,dc=com과 같은 도메인 기반 트리 구조로 데이터를 저장.
ou=users,dc=example,dc=com (ou=Organizational Unit).
데이터 저장 방식: 사용자 정보(UID, 이름, 비밀번호, 메일 등)를 속성(attribute) 형태로 저장.
검색 및 인증 서비스: SSO, RBAC 등에 사용 (OpenLDAP / Active Directory)

Hive 설정

Apache Hive는 방대한 규모에서 분석할 수 있는 내결함성을 갖춘 분산 데이터 웨어하우스 시스템이다. 데이터 웨어하우스는 정보에 입각한 데이터 중심 의사 결정을 내릴 수 있도록 쉽게 분석할 수 있는 정보의 중앙 스토어를 제공하며, 사용자가 SQL를 사용하여 페타바이트 데이터를 읽고 쓰고 관리할 수 있도록 한다.

JDBC, ODBC 연결 및 SQL을 처리해주는 hiveserver2와
테이블 정보 등 메타데이터를 관리해주는 metastore 두 기능을 제공한다.

Trino(PrestoDB) 설치

Trino(PrestoDB)는 분산 SQL 쿼리 엔진으로, 하나 이상의 혼성 데이터 소스에 분산된 대규모 데이터 세트를 쿼리하기 위해 설계된 오픈 소스 소프트웨어이다. Trino는 Hive 및 Iceberg 테이블 형식을 사용하여 HDFS, AWS S3, Google Cloud Storage 또는 Azure Blob Storage 같은 다양한 스토리지 시스템에 존재하는 ORC 또는 Parquet 와 같은 개방형 열 지향 데이터 파일 형식을 포함하는 데이터레이크를 쿼리할 수 있다. 또한 Trino는 MySQL, PostgreSQL, Cassandra, Kafka, MongoDB, 그리고 Elasticsearch 와 같은 다양한 데이터 소스의 테이블을 쿼리하는 페더레이션 쿼리를 실행할 수 있다. Trino는 Apache 라이선스 에 따라 배포된다.

AWS의 Athena가 Presto 기반, NHN cloud의 DataQuery의 경우 Trino 기반이다.

 

Trino 바이너리 다운로드 및 설치, 기본 설정

  • RPM, DEB 등 패키지 설치가 아닌 바이너리 다운로드 및 구동 기준 변수 설정 등.

 

Trino 구동을 위한 설정, (LDAP 인증, TLS 적용 설정)

  • LDAP을 통한 인증 설정이 된 Trino 클러스터 설정.
  • 인증 기능을 활성화 하기 위해서는 TLS설정이 필요하므로, TLS 설정을 포함한다.
    자체 서명 인증서 생성과 관련된 내용은 “사설 인증서 생성” 에서 확인할 수 있다.

 

Trino FileDB 기반 인증 설정

  • LDAP이 아닌 FileDB를 통한 인증 설정.

 

Trino Data Catalog 설정

  • Trino를 통해 접근할 타겟 데이터 베이스 카탈로그 설정.
  • Iceberg 활용을 위한 메타스토어 등록 등.
  • HDFS(Hadoop Distributed File system), 오브젝트 스토리지(minio) 등.

Grafana 설치

Grafana는 데이터를 시각화하고 모니터링하기 위한 오픈소스 플랫폼이다. 주로 실시간 데이터 분석 및 대시보드 생성에 사용되며, IT 인프라 모니터링, DevOps, IoT 데이터 분석 등 다양한 분야에서 활용된다. Grafana는 데이터를 다양한 형태의 그래프로 표현하고, 여러 데이터 소스와 통합하여 유용한 통찰을 제공한다.

https://wiki.haedongg.net/ko/knowledge/application/monitoring/grafana