GCF에서 외부로의 HTTP 요청을 고정 IP로 설정
2020/10/16 추가
Cloud Run에서 외부로의 HTTP 요청도 고정 IP화할 수 있습니다.
h tps : // c ぉ d. 오, ぇ. 코 m / 룬 / 드 cs / ぇ 아세의 s # 오 c ebe r_13_2020
h tps : // c ぉ d. 오, ぇ. 코 m / 룬 / 드 cs / 곤후 ぃ ぐりん g / こんに c チン g-vpc? hl = 엔 # 에g 렛 s
2020/06/18 추가
Cloud Run에서 외부로의 HTTP 요청도 고정 IP화할 수 있을 것 같다.
gcloud alpha run deploy의 경우 --vpc-egress 옵션이 있습니다 htps // t. 코 / m hVfYj0D — _ (@apstndb) June 18, 2020
하고 싶은 일
Cloud Run에서 외부로의 HTTP 요청도 고정 IP화할 수 있을 것 같다.
gcloud alpha run deploy의 경우 --vpc-egress 옵션이 있습니다 htps // t. 코 / m hVfYj0D — _ (@apstndb) June 18, 2020
하고 싶은 일
GCF에서 화이트리스트에 등록 된 IP 주소에서만 요청을 허용하는 서비스에 액세스하고 싶습니다.
사용하는 것
GCF, VPC, 서버리스 VPC 액세스, Cloud NAT
공식 문서
이 근처에 쓰여 있다.
h tps : // c ぉ d. 오, ぇ. 코 m / 훙 c 치온 s / 드 cs / 네토 ぉ r g g
htps : // c ぉ d. 오, ぇ. 이 m / 나 t / 도 cs / 우신 g t # s 페시 fy_ 스 b
비용
htps : // c ぉ d. 오, ぇ. 코 m / 훈 c 치온 s / p 리신 g
h tps : // c ぉ d. 오, ぇ. 코 m / vpc / 드 cs / 곤푸 쿠레 루 r ゔ ぇ r ぇ s vpc
h tps : // c ぉ d. 오, ぇ. 코 m / t / p 리신 g
htps : // c ぉ d. 오, ぇ. 코 m / 코 m 뿌테 / 네토
절차 노트
함수 만들기
package p
import (
"fmt"
"io/ioutil"
"net/http"
)
// Sample print global ip address.
func Sample(w http.ResponseWriter, r *http.Request) {
resp, err := http.Get("http://httpbin.org/ip")
if err != nil {
fmt.Println(err)
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
module example.com/sample
go 1.11
GCF를 실행해보십시오 1
107.178.234.80
에서 액세스 중입니다. 이것은 고정 IP가 아니다.
VPC, 서브넷 만들기
서브넷은 여기서 192.168.0.0/24
로 설정됩니다. (나중에 이와 맞지 않는 범위를 지정하는 장면이 있음)
서버리스 VPC 액세스 커넥터 만들기
처음에는 오류가 발생할 수 있습니다. →Serverless VPC Access API를 활성화해야 합니다.
아래 URL을 직접 두드리면 API를 활성화하는 화면으로 날 수 있다. [your-projectid]
는 읽어들일 것. 보통 API 메뉴에서 가도 OK.
htps : // 이런. cぉd. 오, ぇ. 코 m / 네토 ぉ r g / 이런 c와 rs / 아 d? p로지ぇct=「요 rp로지ぇc치d」
필요사항을 입력하여 작성.
IP 범위는 여기에서는 192.168.2.0/24
로 설정.
최소 처리량과 최대 처리량은 각각 200, 300이 하한. 바뀌는 것처럼 보이지만 밸리데이션에서 에러가 되어, 최소 스루풋은 200~. 최대 처리량은 하한보다 큰 값으로 100의 배수를 구한다.
작성이 완료되면 GCF로 돌아가 커넥터를 설정합니다. すべてのトラフィックを VPC コネクタ経由でルーティングする
를 선택하는 것이 중요합니다. 이것에 의해 반드시 VPC 커넥터 경유의 리퀘스트가 된다. 이것을 하지 않으면 방금전 실행해 보았을 때의 외부 IP로 나가 버린다.
GCF 실행하기 2
요청이 VPC로 라우팅되어 거기에서 밖으로 나갈 수 없기 때문에 에러가 된다. (예상대로)
Cloud NAT 만들기
VPC에서 밖으로 나가는 Cloud NAT를 만듭니다. 라우터도 함께 작성한다.
NAT 주소는 수동을 선택하고 정적 IP를 만들고 할당합니다.
정적 IP가 할당되었습니다. 이제 Cloud NAT를 만듭니다.
GCF 실행하기 3
Cloud NAT를 만들 때 할당한 정적 IP35.200.133.233
로 연결할 수 있습니다.
이 IP 주소를 서비스의 화이트리스트에 넣으면 OK.
Reference
이 문제에 관하여(GCF에서 외부로의 HTTP 요청을 고정 IP로 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/suzutatsu/items/8a54ba628e52c6be71aa텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)