Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
4
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

@akehoyayoi

AppServiceにて固定IPを設定する方法(AppService Environment)

皆さん、Azure使っていますか?使っていませんね
普通に使うならAWSだと思います。しかし、世の中にはAzureを使わざるを得ないこともあります。
そんな理不尽を戦いながら、調査した内容をしたためてみました

AppService Environmentについて

AzureにはGAEのぱくったAppServiceというContainerServiceが存在しており、VisualStudioで実装すればとても簡単にデプロイできます
WebサービスをAzure上に構築する際にはよっぽどのことがないかぎりAppServiceで実装するのが良いでしょう

しかしながら、このAppServiceはクラウドのサービスなのでデプロイした際にIPが決まるのですが、Azure自体はIPが変わらないことを保証しているわけではありません。エンタープライズの用途で使う際にはIPを固定化して使いたいという用途があります

App Service Environment の概要

ここで用いるのがAppServiceEnvironment(以下、ASE)というもので仮想ネットワーク(以下、VNET)以下にAppServiceに作れるという代物です

ここが難しいよ、ASE

IPは最初の作成時に割り振られる

既存IPは設定できない

Azure上に展開できる他のサービスのCloudServiceなどは予約IPを購入しておき、そのIPを設定して使うような作りになっています。しかし、ASEは環境作成時自動で割り振られてそのIPが変わらない、ということを保証してくれる仕組みとなっています。ですので、予め確保してあるIPを割り当てる、ということはできません。

なんかよく分からないv1とv2の差異

だまってV2使っておけ

このASEにはv1とv2が存在しており、これの使い分けが分かりません
しかもドキュメントも分かりにくくどちらがどちらを指しているのかページを追っていくと分からなくなったりします

App Service Environment v2 の概要

App Service Environment v1 の概要

IPを固定したいという用途だけならv2を使っておけばまず問題ありません
ので黙ってv2を使っておくことをおすすめします

サブネット設定の罠

サブネットは新規で作るべし

ASEを作成時に必ず設定するVNET上に新しいサブネットを作成する必要があります
既存のVNETを使うとそのVNET上にあるサブネットにかぶらないように新しいサブネットを構成する必要があり、とてもめんどくさいです

Pasted image at 2017_09_12 08_20 PM.png

上記のようになっていたら設定不可ですね…
だまって新規で作成する方が楽です

AppServiceの作り方が分からない

まずAppServicePlanを作れ、話はそれからだ

ASEを作ると意味合い的にその下にAppAerviceが作れるのかな、と思うのですが探せど探せどそんなUIはASEのUI上には見つかりません
下記の順を追わないとAppServiceを作ることが出来ないのです

  1. ASEを作る
  2. 上記で作成したASEを場所としてAppServicePlanを作成する
  3. 上記で作成したAppServicePlanを指定してAppServiceを作成する

Pasted image at 2017_09_12 08_29 PM.png

ASE環境を作っておくとAppServicePlanの作成をしようとすると場所に作成したASEを指定できるようになっています
これを使ってAppServicePlanを作成します

次にAppServiceを作るのですが、通常AppServiceの名称部分は下記のように表示されています

Pasted image at 2017_09_12 08_35 PM.png

ここで先程作成したAppServicePlanを入力すると下記のように表示が変わります

Pasted image at 2017_09_12 08_36 PM.png

先程作成したASEがサブドメインとして設定されていることが分かると思います
このままAppServiceを作成すればASE以下にAppServiceを構築することができます

まとめ

なんとかAppServiceのIPの固定化に成功しました
これでIPが代わってしまう可能性がある日々から解放されました

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
4
Help us understand the problem. What are the problem?