일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- PostgreSQL
- pandas
- 머신러닝
- airflow.cfg
- not in
- 파이썬
- 데이터시각화
- matplotlib
- Oracle
- GROUPBY
- join
- MySQL
- 데이터분석
- SQLite
- Limit
- having
- airflow 설치
- seaborn
- Round
- hackerrank
- SQL
- SUM
- 데이터리안 웨비나
- 프로그래머스
- TRUNCATE
- solvesql
- 다중 JOIN
- 결측값
- 그로스해킹
- 전처리
- Today
- Total
Milky's note
[GCP] Google Cloud SDK로 SSH 터널링 (로컬 cmd에서 서버 접속) 본문
내가 현재 진행하고 있는 프로젝트는 GCP 기반으로 폐쇄망을 사용한다.
추가로 Public IP도 사용하지 않고 GCP 내부 IP만 사용한다.
초반에 Airflow를 Public IP로 구성을 해놓았는데 내부 IP만 허용이 되는 정책으로 변경이 되었다...
어쩔 수 없이 Airflow 서버를 내부 IP만 사용되게 하였는데 당연하게도 Airflow UI 접속이 불가능해졌다 !
그래서 내가 생각한 방법은 로컬에서 서버로 접속하기 !
내부 IP만 사용하지만 SSH 터널링을 사용하면 서버로 접속이 가능하다 !
1. 로컬에 SSH 연결
외부 IP 없이 Airflow UI에 접속하기 위해 SSH 터널링을 사용할 수 있다.
이 방법은 로컬에서 GCP의 VM 인스턴스에 SSH로 연결한 후,
Airflow UI에 접근할 수 있도록 포트를 포워딩하는 것이다.
먼저 Airflow를 접속하려는 로컬에 Google CLI를 설치한다.
[링크 참고]
https://cloud.google.com/sdk/docs/install?hl=ko
gcloud CLI 설치 | Google Cloud CLI Documentation
이 페이지는 Cloud Translation API를 통해 번역되었습니다. 의견 보내기 gcloud CLI 설치 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 이 페이지에는 Google Cloud CLI
cloud.google.com
설치 방법은 아주 간단하며 몇 번의 인증이면 완료가 된다 !
그리고 설치한 Shell을 실행 !
먼저 아래 명령어를 입력해준다.
1. 현재 프로젝트 설정현재 사용하고자 하는 프로젝트를 설정
>> gcloud config set project <PROJECT_NAME>
2. 프로젝트 확인설정한 프로젝트가 올바른지 확인
>> gcloud config get-value project
내가 터널링하려는 프로젝트를 설정해주었고, 확인까지 마쳤다.
다음 명령어를 입력해서 GCP 인스턴스에 연결이 되나 확인한다.
명령어를 입력하여 GCP 인스턴스에 연결되나 확인
>> gcloud compute ssh <INSTANCE_NAME> --zone=asia-northeast3-a
이 명령어를 입력하고 조금 기다리면 새로운 터미널 (나의 경우 putty)가 열리면서 서버 로그인에 성공한다.
연결이 성공하면 로컬 머신의 터미널에서 GCP 인스턴스의 셀에 접근할 수 있게 된다.
이후 SSH 터널링을 설정하여 내부 IP를 통해 Airflow UI에 접근할 수 있다.
그리고 아래 명령어를 이용해 터널링을 해준다.
※ 주의해야할 점은 --sh-flag에서 앞에는 로컬에서 들어갈 PORT이고,
뒤에는 인스턴스에서 실행되고 있는 서비스의 PORT이다.
gcloud compute ssh <INSTANCE_NAME> --project <PROJECT_NAME>
--zone asia-northeast3-a --ssh-flag="-L" --ssh-flag="<로컬 PORT>:localhost:<인스턴스 PORT>"
외부 IP가 없어서 디폴트로 IAP 터널링을 사용한다는 문구가 뜨고 다시 새로운 터미널이 뜨고 서버에 접속이 완료된다.
그 이후에 로컬 브라우저에서 127.0.0.1과 위에서 포워딩해준 port로 접속을 하면
원하는 서버에 터널링 되어 접속이 가능한 것을 확인 할 수 있다.
스크린 샷은 Airflow 서버가 아니지만 다른 모든 인스턴스에서도 다 터널링이 가능하다는 것을 보여주기 위해
첨부하였다 !
![](https://t1.daumcdn.net/keditor/emoticon/challenge/large/010.png)
'DevOps > GCP' 카테고리의 다른 글
[GCP] 랜딩존 설정으로 차단된 Google API 호출 (GA, GSC, Google Ads, Youtube) (3) | 2024.11.15 |
---|---|
[GCP] VM Instance 생성 및 고정 IP 할당 (0) | 2024.07.10 |
GCP Repositories를 사용해서 Airflow DAG 반영하기 (0) | 2024.05.17 |
로컬에서 GCP SSH 접속(Mac) (0) | 2022.12.08 |