Google App Engine(GAE)への内向きの内部通信について | Google Cloud Platform

今回はTipsと言えるほどのものでもないのですが、このことを解説する記事がなかなか見つからなかったので書かせていただきました。

GAEを使ってサービスを作成するにあたって、同じVirtual Private Cloud(VPC)内のみの通信を許可したいことはよくある話だと思います。

例を言いますと下図のような構成のシステムを組んだとします。

こちらの例では

①Google Compute Engine(GCE)からGAE(GAEから見て内向き)
②GAEからcloud SQL(GAEから見て外向き)

の2つ、GAEが絡む内部通信があります。
特に②のようなGAEからcloud SQLへの通信はよくよくある例かなと思います。

ここでGAEから見て外向きに関しては調べるとすぐ情報が見つかります。
(スタンダード環境かフレキシブル環境かによりますが)それぞれ公式ドキュメントにズバリの記述があります。

スタンダード環境からの内部通信

フレキシブル環境からの内部通信

 

このように外向きの内部通信においてはドキュメントにやり方がズバリと記載されています。

 

しかし、今回行いたかったのはGAEへの内向きの内部通信でした。
触ったことある方はわかると思いますが、GAEはデプロイが完了したときに

https://PROJECT_ID.REGION_ID.r.appspot.com

の書式のURLを発行するのみでGCEみたいにパブリックIPやプライベートIPという概念がそもそもありません。

さらに、同じようなことを行いたい方も少なくはないはずのこのクエスチョンですが、これに対する回答は調べてみてもズバリなものがなかなか見つかりません。。

さてどうしたものでしょうか、、

 

 

もったいぶるほどでもない情報なのでそのズバリを書いてしまいます。

実は、GAEは内部通信が可能な状況にあるサービスから

https://PROJECT_ID.REGION_ID.r.appspot.com

の書式のURLへアクセスすると勝手に内部通信でつながってくれます。

確認したい場合は、GAEのコンソール画面のサービスへ飛んで、
「INGRESS設定を編集」から内部のみ許可をして
同じVPC内のGCE等からcurlコマンドで先のURLへの接続を試してみてください。

 

こちらで内部通信が行われていることが確認できます。

 

おわりに

今回いろいろ調べてここまでたどり着きましたが、わかってしまうととてもあっけない答えでした。
もしかするとGAEを知らないほうがなんとなくですぐに答えにたどり着いていたかもしれません。

この記事が同じことを調査するエンジニアさんの力になれれば幸いです。


--------------------------
システム開発のご要望・ご相談はこちらから

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です