[GCP] Bastion Host VM 서버 구축 (Proxy, OS Login)
·
Cloud
GCP 환경에서 직접 VM에 외부에서 접근하는 것은 보안상 위험이 있어, 안전한 방법을 찾게 되었습니다. 특히, Cloud IAP(Identity-Aware Proxy)를 활용해 외부 IP 오픈 없이도 SSH 접속을 가능하게 하려는 요구가 있었고, 이를 위해 Bastion Host를 설정하게 되었습니다. Bastion Host는 관리용 VM으로 최소한의 보안 구성을 갖추어 내부 자원에 대한 안전한 접근 통로 역할을 합니다.1. Bastion Host VM 설정VM 생성 방법Compute Engine → VM 인스턴스 → ‘인스턴스 만들기’ 선택주요 설정 값이름: bastion-host-dev리전/존: 서비스 환경과 동일한 리전 선택 (예: asia-northeast3-a)머신 타입: e2-medium (..
[GCP] Google Cloud Armor 적용 (feat. Custom Error page - Cloud Storage)
·
Cloud
서비스를 운영하다 보면 내부 시스템을 외부에 노출시켜야 하는 상황이 생긴다. 특히 클라이언트사 담당자들이 접근하는 운영/통계용 대시보드는 접근 권한을 세밀하게 제어해야 할 필요가 있는데, GCP 환경에서 Google Cloud Armor를 활용한 IP 기반 접근 제어를 구현하게 되었다.이 글은 Cloud Armor를 활용하여 특정 IP만 접근 가능하도록 구성하고, 허용되지 않은 IP는 커스텀 에러 페이지로 유도하는 구성 방법을 상세히 정리한 실전 가이드이다.왜 Cloud Armor를 도입했는가Cloud Armor를 도입한 이유는 명확하다. 운영 중인 VM이 퍼블릭하게 노출되어 있고, 이 서비스에 접근 가능한 IP를 고객사 내부망으로 제한하고자 했기 때문이다.GCP의 VM 방화벽 기능으로도 IP를 제어할 ..
[Apache upgrade] 2.4.55 -> 2.4.60 version 업그레이드 (CentOS 7.9.2009)
·
컴퓨터 과학 [CS]
Apache 2.4.55 버전이 보안 검사에서 이슈가 많이 발생해서 2.4.60 버전으로 업그레이드 하기로 결정했다. 서버는 CentOS 7.9.2009 다. 신경 써야 될 부분도 있었는데, 기존 Apache 는 유지 시키고 새 경로에 Apache 를 설치 했다. (문제 생길시 바로 되돌리기 위해)  아래는 꼭 신경 써야 하는 내용들이다 apr, apr-util 설치로드 밸런싱을 사용한다면 mod_jk 도 설치 해야한다. (이 경우는 yum update 를 하는게 아니라면 workers.properties 파일을 생성하고 거기에 로드밸런싱 설정 값을 넣어 줘야 한다.)적용하는데 어렵지는 않지만 서비스 중인 서버라면 서비스가 멈추지 않도록 계획을 잘 짜야 한다.1. Apache 버전 확인현재 설치된 Apa..
[GIT] Git Flow - 가장 쉬운 깃 브랜치 전략 (생애 첫 기술 발표 영상)
·
Git
1. Git Flow란 무엇인가?Git Flow는 소프트웨어 개발 프로세스에서 효율적인 브랜치 관리와 협업을 돕는 브랜치 전략입니다. 개발, 테스트, 배포 등의 단계에서 코드의 안정성을 확보하고, 여러 개발자 간 협업을 체계적으로 할 수 있게 해줍니다. Git Flow는 feature, develop, release, hotfix, main(또는 prod)와 같은 브랜치 구조를 사용하여 명확한 워크플로우를 제공합니다.2. Git Flow의 주요 브랜치 규칙Git Flow는 다섯 가지 주요 브랜치로 작업을 나누며, 각 브랜치는 특정 목적과 규칙을 가지고 있습니다.1) main 브랜치 (prod)목적: 운영 서버에 배포되는 안정적인 코드를 관리합니다.규칙: main에는 항상 릴리스된 코드만 포함되어야 하며,..
[javascript] var, let, const 비교 및 사용법
·
Javascript
현대적인 JavaScript 개발에서는 const를 기본으로 사용하고, 값이 변경되어야 하는 경우에만 let을 사용한다. var는 스코프와 호이스팅 문제로 인해 사용을 지양하는 것이 일반적이다.const의 사용 권장: 불변성을 유지하여 코드의 안정성과 예측 가능성을 높인다.let의 보조적 사용: 변경이 필요한 변수에 한해 사용한다.1. var스코프(scope): 함수 스코프를 가진다. 즉, 함수 내에서 선언된 변수는 함수 전체에서 접근 가능.호이스팅(hoisting): 변수 선언이 스코프의 최상단으로 끌어올려짐. 그러나 초기화는 선언 위치에서 이루어지므로, 선언 이전에 변수를 참조하면 undefined를 반환.재선언 가능: 동일한 스코프 내에서 같은 이름의 변수를 재선언할 수 있음.적절한 사용 상황레거시..
DB 암호화 Transparent Data Encryption (TDE)
·
데이터베이스 [DB]
Mariadb 가 설치 되어 있다는 가정으로 진행File Key Management Encryption Plugin (파일 키 관리 암호화 플러그인) 사용체크해야 할 부분/etc/mysql 에 my.cnf 파일 있는지 확인키 파일 /etc/mysql/key.enc 에 저장암호화 키 /kms 에 저장 (kms 폴더 생성)TDE 적용암호화에 사용할 키 생성// Linux$ (echo -n "1;" ; openssl rand -hex 32 ) | sudo tee -a key.src$ (echo -n "2;" ; openssl rand -hex 32 ) | sudo tee -a key.src// Windows"1;$(openssl rand -hex 32)" | Out-File "C:\kms\key.src"Add..
[Fine tuning - LoRA] 10분만에 로컬에서 파인튜닝하기 (Ubuntu)
·
인공지능 [AI]
준비물AI 모델 - Hugging face 에서 아무 모델이나 다운받아서 설치해도 됨. (로컬 성능을 참고해서)작업은 Gemma-2-2b-it 로 진행했음.* 이전 게시물 참고 [Llama3.1] Windows 로컬 에서 AI 모델 사용하기 - Ubuntu 24.04Llama3.1 모델을 처음 설치할때 Windows 에 설치 했다가 에러가 하도 많아서 그냥 Ubuntu 에서 실행하기로 했다.Ubuntu 설치는 이전에 올린 글 참조 24.04 버전 설치 https://bob-data.tistory.com/42  [Linux] Windowsbob-data.tistory.comDataset 준비Hugging face 에 있는 medical 데이터 사용. https://huggingface.co/datasets..
Certbot 으로 Let’s encrypted 무료 https SSL 적용 - AWS Node.js
·
Cloud
준비물domain (가비아에서 도메인 구매)domain, www.domain (두 개 설정 필요)Lightsail server AWS 가입후 lightsail 에서 instance 생성5$, $7, $12 는 3개월 무료SFTP 접속Lightsail 에서 console로 접속키 파일을 다운받아 putty 로 접속도 가능 (putty gen 으로 private 키를 생성하고 접속해야 함)Nginx  설치sudo apt updatesudo apt install nginx conf.d 파일에 도메인 설정 추가 (site-available 에 추가함)sites-available/sites-enabled 는 더이상 사용되지 않는 Nginx 설정 방법이라고 한다. 이 포스팅에서는 conf.d 에 Nginx 설정 파..
coder_
Good coder