DNS 名の再利用は、現代のどの企業内でも DevOps に便利です。 DNS 名を再利用してアプリケーションを再デプロイするという発想は、クラウド開発を保護するオンデマンドの理念を実現します。 したがって、ある顧客が名前を解放して、ただ別の顧客が同じ名前を使用する結果となった場合、だれでも使用できる DNS 名が問題になることに注目することが重要です。 これはサブドメインの乗っ取りと呼ばれます。 顧客が特定の名前を使用するリソースを解放し、別の顧客が同じ DNS 名を持つ新しいリソースを作成します。 古いリソースを指すレコードがあった場合、新しいリソースも指し示すことになります。
これを避けるために、ACI では、顧客が DNS 名を再利用することを許可すると同時に、別の顧客が DNS 名を再利用できないようになりました。 ACI では、DNS 名に関連付けるハッシュ値をランダムに生成することで DNS 名をセキュリティで保護するため、別の顧客が誤って同じ名前の ACI を作成し、過去の顧客の ACI 情報にリンクすることが困難になります。
重要
DNS 名再利用ポリシーのサポートは、ACI API バージョン 10-01-2021
以降でのみ使用できます。
前提条件
有効な Azure サブスクリプション。 アクティブな Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。
この攻略ガイドで使用するすべてのリソースを管理するためのリソース グループ。 この記事では、サンプルのリソース グループ名 ACIResourceGroup を使用します。
az group create --name ACIResourceGroup --location westus
DNS 名再利用ポリシーの概要
ACI を作成するときに、DNS 名ラベルが持つ再利用のレベルを選択できるようになりました。
ポリシー名 | ポリシー定義 |
---|---|
unsecure | ハッシュは生成されません。 オブジェクトのドメイン ラベルは、リソース グループ、サブスクリプション、またはテナント内で再利用できません。 |
tenantReuse | 既定のハッシュは、DNS 名とテナント ID に基づいて生成されます。 オブジェクトのドメイン名ラベルは、同じテナント内で再利用できます。 |
subscriptionReuse | ハッシュは、DNS 名とテナント ID とサブスクリプション ID に基づいて生成されます。 オブジェクトのドメイン名ラベルは、同じサブスクリプション内で再利用できます。 |
resourceGroupReuse | ハッシュは、DNS 名とテナント ID、サブスクリプション ID、およびリソース グループ名に基づいて生成されます。 オブジェクトのドメイン名ラベルは、同じリソース グループ内で再利用できます。 |
noReuse | ハッシュは GUID を使用して生成されます。 このハッシュは常に一意であるため、オブジェクトのドメイン ラベルは自由に再利用できます。 |
コンテナー インスタンスの作成
重要
DNS 名再利用ポリシーの設定は、現在、Azure CLI からはサポートされていません。
コンテナー インスタンスをデプロイするプロセスは変わりません。 コンテナー インスタンスをデプロイする方法の詳細なプロセスが必要な場合は、推奨されるデプロイ方法を含むクイック スタートを参照してください。 たとえば、ARM テンプレートのクイック スタートです。
Azure portal ユーザーの場合、[DNS 名ラベル スコープの再利用] フィールドを使用して、コンテナー インスタンスの作成プロセス中に [ネットワーク] タブで DNS 名再利用ポリシーを設定できます。
ARM テンプレート ユーザーの場合、Resource Manager リファレンスを参照して、dnsNameLabelReusePolicy フィールドが既存のスキーマにどのように適合するかを確認してください。
YAML テンプレート ユーザーの場合は、YAML リファレンスを参照して、dnsNameLabelReusePolicy フィールドが既存のスキーマにどのように適合するかを確認してください。
次のステップ
仮想ネットワーク内にコンテナー グループをデプロイするには、Azure クイックスタート テンプレート「仮想ネットワークを使用して Azure コンテナー グループを作成する」を参照してください。