Azure関数アプリのEast AsiaリージョンがOpenAIアクセス禁止国の香港なせいでハマった 2025年1月
最近、Azure Functions(関数アプリ)を使ってプロジェクトを構築していたときに、思わぬ罠にハマったので共有します。
背景
Azureの関数アプリは非常に便利で、サーバーレスでコストを抑えながら柔軟なアプリケーションを構築できます。最近では「Flex従量課金」プランが登場し、さらにコスト効率が良くなりました。しかし、このFlex従量課金プランには大きな落とし穴があります。
Flex従量課金に日本リージョンが無くなった
Flexプランはその便利さとコスト効率の良さが魅力的ですが、日本リージョン(Japan East/West)は2025年1月時点で対応していません。つまり、日本国内で低レイテンシーのサービスを構築したい場合でも、このプランでは日本リージョンを選べません。
そのため、多くの人が次善の選択肢としてEast Asia(東アジア)リージョンを選ぶでしょう。このリージョンは地理的に近く、香港に位置しています。しかし、ここで思わぬ問題が発生します。
問題点: OpenAI APIと香港の関係
OpenAIはAPI利用において、いくつかの国や地域をアクセス禁止にしています。そのリストの中に香港が含まれています。このため、Azure FunctionsでOpenAI APIを利用しようとすると、関数アプリがEast Asiaリージョンにデプロイされている場合、リクエストがブロックされてしまいます。
分かるかこんなの。
「香港がアクセス禁止国?でも香港って中国本土と違って規制が緩いんじゃないの?」と思うかもしれません。しかし、現実としてOpenAIは香港からのアクセスを禁止しています。これにより、関数アプリが正常に動作しなくなりハマりました。
解決策: Southeast Asia(シンガポール)リージョンを選ぶ
結論として、Azure FunctionsでOpenAI APIを利用したい場合は、リージョンをSoutheast Asia(シンガポール)に設定することを推奨します。
Southeast Asiaリージョンはシンガポールに位置しており、香港の問題を回避できます。また、日本からのアクセスでも比較的低いレイテンシーを維持できます。
AzureとOpenAIを組み合わせて利用する際には、このようなリージョン設定の罠に気をつけてください。
Azure OpenAI ServiceのリージョンをEast Asiaにした場合どうなるんだ?とか一瞬思ったけど、考えるのをやめました。
Discussion