글

라벨이 연결인 게시물 표시

GCP BigQuery connection(DBMS)

이미지
사진1) Big Query화면 구글 클라우드에서 Big Query화면에 들어가서 Add를 선책합니다. 사진2) 외부연결 이번에는 GCP의 SQL(My-SQL)에 접속하는것이 목적이기 때문에 'connections ~ '을 선택한다. 사진3) 외부연결 설정 사진4) 연결할 DB확인 사진5) 연결설정 완료 사진 4번에서 해당 DBMS의 'connection name'을 확인하고 사진5번에 작성을 마무리 합니다. 사진6) 연결 완료 사진7) 쿼리 실행 사진8) 쿼리 실행중 에러 사진6번과 7번에서 실행해도 사진8번과 같이 에러가 발생되는 경우가 있습니다. 에러의 원인은 해당 DBMS에서 연결도중에 연결을 끊어버렸다는 것입니다. 하나의 해결책으로 해당 Big Query가 DBMS에 접근할 권한이 없는 것입니다. 사진9) 서비스 계정 ID 확인 사진10) IAM계정 추가 사진11) 서비스 계정 등록 사진12) Cloud SQL Client선택 해당 Big Query의 service account ID(사진 9)를 확인하고 IAM계정을 추가합니다. 권한은 'Cloud SQL Client'(사진12)으로 추가합니다. 사진13) 쿼리 실행 완료 제대로 동작된다면 사진 13처럼 쿼리를 입력하고 정상적으로 데이터를 불러오는 것을 알수 있습니다. 

GCP VM Instance(Compute Engine) 생성 및 터미널 연결

이미지
  사진1) Compute Engine 선택 GCP에서 VM Instance를 생성하기 위해서 Compute Engine를 선택합니다. 사진2) 인스턴스 만들기 선택 인스턴스를 생성합니다. (AWS의 인스턴스와 같음) 사진3) 인스턴스 생성을 위한 설정값 입력 사진4) 리전 선택 사진5) 기타옵션 선택(HTTP, HTTPS 등등) 사진 3 ~ 5까지 인스턴스 생성을 위한 설정값을 줍니다. 위 블로그 글에는 Dabian(Linux) OS로 만들었습니다. 사진6) 인스턴스 만들기 사진6에서 만들기를 클릭하면 인스턴스가 생성됩니다. 사진7) 인스턴스 생성 인스턴스가 생성되는데 약 5분정도 걸립니다. 생성이 완료 되면 SSH접속이 가능합니다. 사진8) 웹으로 SSH 접속 사진9) 웹  SSH접속중 사진10) 터미널 접속 SSH접속후 아래와 같은 작업을 해야 합니다. 사진5에서 이미 HTTP트랙픽을 허용했기 때문에 모든 포트에 대해서 접근이 가능합니다. 하지만 빠르게 열렸는지를 확인하기 위해서 apache2를 설치하고 80번 포트로 연결해서 외부에서 인스턴스에 접근 가능한지 확인하겠습니다. 1) apt update - 로컬 패키기가 최신 버전으로 반영 $ sudo apt update copy 1) http 배포 및 확인을 위한 apache2 설치 - 80포트가 외부로 정상 접근 가능한지 확인을 위해 설치 $ sudo apt install apache2 copy 사진11) VM 인스턴스 방화벽 설정 참고로 만약 연결하지 못한다면 사진 11의 창으로 가서 80번 포트가 접속이 허용되어 있는지 확인 부탁드립니다. 사진12) 80번 디폴트 페이지 출력 완료

NestJS Redis 연결

이미지
 안녕하세요. 이번에는 Redis을 이용하여 NestJS와 연결을 하도록 하겠습니다.  일단 해당 Local 또는 Remote PC에 Redis가 설치되 있어야 하고 특히 Remote PC는 해당 Redis가 외부에서 통신이 가능하도록 셋팅해야 합니다. NestJS 공식 문서 링크 Redis 공식 문서 링크 1. npm모듈 설치(dependencies) - cache-manager와 cache-manager-redis-store를 설치한다 $ npm install cache-manager cache-manager-redis-store copy 2. npm모듈 설치(devDependencies) - cache-manager와 cache-manager-redis-store를 설치한다 $ npm install -D @types/cache-manager copy // src/cache-dbmodule/cache-dbmodule.module.ts import { CacheModule , Global , Module } from '@nestjs/common' ; import * as redisStore from 'cache-manager-redis-store' ; import { CacheDbmoduleController } from './cache-dbmodule.controller' ; import { CacheDbmoduleService } from './cache-dbmodule.service' ; require ( 'dotenv' ). config (); // env파일을 사용하기 위한 코드 // CacheModule를 설정합니다. export const cacheModule = CacheModule . registerAsync ({ useFactory : async () => ({ store : r...

node.js check file, folder path or concatenate path

이미지
 Please read how to initialize npm from this  post. 1. require // Reference : https://nodejs.org/dist/latest-v14.x/docs/api/path.html const path = require ( 'path' ); 2. Base File name console . log ( "The Base File Path" ); console . log ( path . basename ( __filename )); Print the current file name. use '.basename' to console.log the file name. The output type is string. '__filename' is the current file. 3. Directory name console . log ( "The File Directory Path" ); console . log ( path . dirname ( __filename )); Print the current file directory. use '.dirname' to console.log the file directory. The output type is string. 4. File Extension console . log ( " The File Extension" ); console . log ( path . extname ( __filename )); Print the current file extension. use '.extname' to console.log the file extension. The output type is string. 5. Create Path Object console . log ( " \n\n The File Whole Info" );...