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を知らないほうがなんとなくですぐに答えにたどり着いていたかもしれません。

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


--------------------------
システム開発のご要望・ご相談はこちらから
--------------------------
【この技術ブログを読んだエンジニアの皆様へ】
カサレアルブログをお読みいただき、ありがとうございます!

私たちは、常に新しい技術に挑戦し、ユーザーのニーズに応えるサービスを提供しています。
もし、当社の技術への情熱や、会社・チーム・社員の雰囲気に共感いただけたなら、
ぜひ私たちと一緒に働きませんか?
現在、株式会社カサレアルでは事業拡大に伴い、新たな仲間となるエンジニアを積極的に募集しています。

少しでも興味をお持ちいただけましたら、まずは弊社のことを知っていただけると嬉しいです。
▼採用サイト
https://www.casareal.co.jp/recruit/career
▼社員インタビュー
https://hrmos.co/pages/casareal/jobs/0000016
▼エンジニアの仲間になる! エントリーはこちらから
https://hrmos.co/pages/casareal/jobs

皆様のエントリーを心よりお待ちしています!

アメリカ旅行に行ってきました(前編)
コード設計に関する本を読んだのでその感想

コメントを残す

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

コメント ※

名前 ※

メール ※

サイト