일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- SQL
- matplotlib
- 그로스해킹
- airflow 설치
- pandas
- 데이터분석
- MySQL
- mysql :=
- 머신러닝
- Round
- Limit
- not in
- 파이썬
- seaborn
- solvesql
- 데이터리안 웨비나
- SUM
- 전처리
- hackerrank
- 결측값
- SQLite
- PostgreSQL
- 다중 JOIN
- having
- Oracle
- GROUPBY
- 프로그래머스
- TRUNCATE
- join
- 데이터시각화
- Today
- Total
Milky's note
[Airflow] GCP 내부 IP로 Airflow UI 접속하기 본문
GCP 프로젝트에서 고정 IP를 생성하여 인스턴스에 할당을 해주었다.
그래서 외부 IP로 Airflow UI에 접속하여 ETL 운영 작업을 했었는데
갑자기 보안 정책으로 인하여,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
고정 IP를 제거하라는 요청이 들어왔다.
SSH 터널링을 이용해서 외부 IP 없이 내부 IP로 Airflow UI에 접속할 수 있다.
로컬 머신에서 GCP의 VM 인스턴스에 SSH로 연결한 후, Airflow UI에 접근할 수 있도록 포트를 포워딩
0. 사전 작업 (gcloud 설치)
gcloud sdk를 이용하여 로컬 기기에 ssh 연결을 해주어야 하기 때문에 gcloud cli를 입력할 수 있는 gcloud를 설치해야한다. 다음 링크를 들어가서 설치를 해준다.
https://cloud.google.com/sdk/docs/install?hl=ko
설치 방법은 간단하고 설치가 완료되면 GCP 계정과 인증을 한 번 해야한다.
인증을 완료하면 위와 같은 화면이 출력된다 !
1. 로컬에 SSH 연결
위에서 설치한 Google Cloud SDK Shell을 실행하여 다음과 같은 명령어를 실행시킨다.
1. 현재 프로젝트 설정
gcloud config set project <PROJECT_ID>
2. 프로젝트 확인 (설정한 프로젝트가 올바른지 확인)
gcloud config get-value project
3. GCP 인스턴스 연결 확인
gcloud compute ssh <INSTANCE_NAME> --zone=<ZONE>
위 명령어로 SSH 연결이 성공하면 로컬 머신의 터미널에서 GCP 인스턴스에 접근할 수 있게 된다.
아래와 같이 터미널 창이 자동으로 켜지면서 인스턴스 접근을 확인할 수 있다.
SSH 연결에 성공했으니 이제 SSH 터널링을 설정 해야 한다.
2. 포트 포워딩
나의 경우 GCP 인스턴스 내에 있던 airflow web server의 port는 기본 port인 8080이다.
포트 포워딩을 해주려면 아래와 같은 명령어를 입력해준다.
※ 윈도우 기준 명령어 (ssh-flag 이용)
gcloud compute ssh <instance name> \
--project <project id> --zone <region> \
--ssh-flag="-L" \
--ssh-flag=“<target port>:localhost:<instance port>“
이번에도 마찬가지로 터미널 창이 자동으로 켜지면서 인스턴스 접근을 확인 할 수 있다.
그리고 브라우저 창을 열어 localhost와 포워딩 해준 port를 입력해서 접속해준다!!
접속이 잘 되는 것을 확인했다 !!!!!!!!!!!!!!
이제 외부 IP를 지우기 위해 GCP 내의 Compute Engine에 들어가서
고정 IP를 지울 인스턴스에 대해 [수정]을 해준다.
밑쪽으로 내리면 [네트워크 인터페이스 수정] 항목이 있는데
여기에서 외부 Ipv4 주소를 없음으로 변경해준다.
외부 IP 변경에는 인스턴스 중단이 필요 없어서 바로 완료를 눌러주면 설정이 바뀐다 !
다만 ssh 터널링 해준 터미널이 중단 되어서 다시 접속 해주어야 한다.
외부 IP가 없다는 경고 문구가 뜨고 알아서 포워딩 된다 !!!
정말 힘든 보안 정책이당,,,, ㅜ
'DevOps > Airflow' 카테고리의 다른 글
[Airflow] Airflow db 변경 (0) | 2024.08.23 |
---|---|
[Airflow] 설치 (by.GCP 환경) (1) | 2024.08.22 |
[Airflow] Catch up 설정 (기존 수행 내역 삭제) (0) | 2023.06.15 |