※本記事は、Todd Bottger による“Introducing Vanity URLs for APEX and ORDS on Oracle Autonomous Database”を翻訳したものです。

2021年 10月 15日


 

2021年9月より、Oracle Autonomous Database on Shared Infrastructure(ADB)のお客様は、APEX、Database Actions、REST Data Services APIsに独自のカスタムドメイン名を設定することができるようになりました。この新機能は「バニティURL」または「バニティドメイン」と呼ばれ、お客様は覚えやすく、ご自身のブランドアイデンティティを表現するURLで、より簡単にADBベースのアプリケーションを宣伝することができます。バニティURLは、APEXアプリケーション開発(APEXサービス)やAutonomous JSON Databaseを含むすべてのADBワークロードタイプでサポートされています。

Vanity URLアーキテクチャは、Virtual Cloud Network(VCN)、ロードバランサー、プライベートエンドポイントで構成されたADBなど、Oracle Cloud Infrastructure(OCI)の標準的なビルディングブロックを活用したものです。ロードバランサーをADBの前に配置し、お客様のドメイン名を提供するHTTPSリバースプロキシとして機能します。このアーキテクチャで使用される OCI リソースはすべて Oracle が管理しているため、ソフトウェアのパッチ適用やアップグレードなどの作業はお客様に代わって行われます。さらに、OCI はロードバランサーの小規模な常時無料割り当てを提供しており、ADB の顧客は追加費用なしでバニティ URL をセットアップすることができます。

以下は、エンドユーザーアプリケーションと開発者ツールにアクセスするためのADB上のVanity URLを設定する手順の概要です。ロードバランサーを作成する手順は、多くのADBユーザーにとって初めての経験かもしれませんが、詳細な手順とスクリーンショットが含まれています。

 

前提

Vanity URLの設定を進める前に、いくつかのことを確認しておく必要があります。ADB、ロードバランサー、またはOCIネットワーキングに慣れていない場合は、最初にこれらのトピックに慣れることをお勧めします。ADB を実行する予定の OCI 地域にテナントがあり、ターゲット区画にデータベースとネットワーキングリソースを作成する特権を持つアカウントが必要です。また、そのためのDNSレコードを作成する能力を持つドメイン名を所有し、一致するSSL/TLS証明書を持っている必要があります。ドメイン名と証明書は、これらのサービスを提供しているベンダーから入手できます。

このブログ記事では、サンプルのapex.example.comドメインを使用してVanity URLを設定することにします。

 

アーキテクチャ図

下図は、私たちが望む最終状態を示しています。クライアントからロードバランサー、ADBへのSSL/TLS通信が示されています。この図は、バニティURLを構成するときに参照できます。

Vanity url architecture diagram

 

設定手順

ステップ 1 – プライベートエンドポイントを使用した ADB のセットアップ
プライベートエンドポイントによるADBネットワークアクセスの設定」で説明した手順に従って、ターゲットOCIリージョン、テナント、およびコンパートメントでプライベートエンドポイントによるADBをセットアップします。

完了すると、プライベートIPアドレスでアクセス可能なADBが実行されているはずです。このアドレスは後で必要になるので、メモしておいてください。このブログ記事では、サンプル・アドレスとして10.0.1.72を使用します。また、ADBを囲むVCN、プライベート・サブネット、ネットワーク・セキュリティ・グループ(NSG)を用意する必要があります。NSGには、VCNからTCPポート443でADBに流れるトラフィックを許可するイングレスルールが含まれていることを確認する。

Picture of ADB details screen

作業を進める前に、VCN 内で ADB にアクセスできることを確認します。OCI FastConnect、Bastion、VPNなどを使用して、VCN内のADBに正規の接続を作成することができます。詳細は、「データセンターからADBへの接続」および「OCI Bastionの概要」を参照してください。

 

ステップ2 – ロードバランサーのためのOCIネットワークの設定
次に、ロードバランサーで必要となるインターネットゲートウェイ、ルートテーブル、パブリックリージョナルサブネット、セキュリティリストなどのリソースをVCN内に追加作成します。OCI ネットワーキングのシナリオ A を参照してください。これらのセットアップ方法の例として、「パブリックサブネット」を参照してください。TCPポート443でパブリックリージョナルサブネットへの進入を許可することを忘れないでください。インターネット全体(CIDRブロック:0.0.0.0/0)からの入力を許可するか、エンドユーザーの特定のアドレス範囲に制限することができます。

 

ステップ3 – ロードバランサーの作成と設定
ここでは、ステップ#2のOCIネットワーキングのリソースを使用して、VCN内に新しいロードバランサーをプロビジョニングします。ロードバランサーの管理で説明したように、このロードバランサーをセットアップし、バックエンドセット、ヘルスチェック、バックエンド、リスナーを関連文書で説明します。

OCIコンソールのサービスメニューを開き、[Networking] > [Load Balancers]に移動するところから始めます。

Picture of Services Menu in OCI Console

[Create Load Balancers] をクリックします。

Picture of Load Balancer list screen

HTTPロードバランサーの作成に特化した [Load Balancers] オプションを選択します。

Load Balancer creation wizard screen 1

[Add Details] 画面で、ロードバランサーの名前を入力します。Public visibilityとEphemeral IP Addressを選択します。ロードバランサーの形状を選択します。ここで説明するように、小さなAlways Freeの形状から始めることができることに注意してください。

Load Balancer creation wizard screen 2

ステップ2のVCNとPublic Regional Subnetを選択し、Add Details画面を終了します。Next をクリックして次に進みます。

Load Balancer creation wizard screen 3

[バックエンドの選択]画面では、デフォルトの[重み付きラウンドロビン]ポリシーを受け入れ、[バックエンドサーバーの選択]セクションをスキップします。

Load Balancer creation wizard screen 4

このページを下にスクロールして、[ヘルスチェック・ポリシーの指定]を選択します。デフォルトのPortを443に、デフォルトのStatus Codeを302に更新します。[Use SSL]チェックボックスは、とりあえずスキップします。

Load Balancer creation wizard screen 5

[Choose Backends]の下部にある[Show Advanced Options]をクリックし、[Backend Set Name]を入力します。これにより、後で簡単に認識できる名前を持つ空のバックエンド・セットが作成されます。[Next]をクリックして、次に進みます。

Load Balancer creation wizard screen 6

[リスナーの設定]画面で、リスナーの名前を入力し、HTTPSオプションを選択し、[ポート]が443に設定されていることを確認してください。

Load Balancer creation wizard screen 7

このページを下にスクロールすると、SSL証明書が表示されます。ここで、証明書発行元から提供されたバニティ・ドメイン用の証明書バンドルをアップロードします。バンドルには通常、サーバーまたはリーフSSL証明書、中間またはCA証明書、およびプライベートキーが含まれます。これらの項目をアップロードした後、[次へ]をクリックします。

Load Balancer creation wizard screen 8

[Manage Logging」画面では、このデモを簡単にするために、「Error Logs」を無効にすることを選択します。Submitをクリックして続行します。

Load Balancer creation wizard screen 9

ロードバランサーのプロビジョニングに数分かかります。完了すると、下図のようなロードバランサーの詳細画面が表示され、ロードバランサーが稼働していることがわかります。ロードバランサーのパブリック IP アドレスをメモしておいてください。この例では 203.0.113.15 です。Backend Sets HealthOverall Health が最初は Incomplete と表示されていることに注意してください – これは予想されることです。

Picture of Load Balancer instance details screen

このページを下にスクロールして「リソース」を選択します。[Backend Sets]リンクをクリックし、空のBackend Setに移動します。

Picture of Backend Set list screen

「バックエンドセットの詳細」画面で、上部にある「編集」をクリックします。このボタンをクリックして続行します。

Picture of Backend Set details screen

ここでは、Backend SetのSSLを設定します。ロードバランサーとADB間の通信が暗号化されるように、[Use SSL]ボックスにチェックを入れて開始します。[Certificate Name]で、Listenerに使用したものと同じ証明書バンドルを選択できます。これは、Load BalancerがADBから提示されたサーバー証明書を暗黙のうちに信頼するためです。完了したら、Save Changes をクリックします。

Picture of Backend Set edit screen

バックエンドセットの詳細画面に戻り、「リソース」までスクロールダウンします。[Backends]リンクをクリックします。まだBackendsがBackend Setに追加されていないことに注意してください。[Add Backends]をクリックします。

Picture of Backends list screen

[Add Backends] 画面で、[IP Addresses] オプションを選択します。ADBのプライベートIPアドレスを入力します。この例では、手順1のアドレス10.0.1.72を入力します。[Port]を443に更新し、[Add]をクリックして終了します。これでロードバランサーの作成と設定は完了です。

Picture of Backend details screen

最後に、Backend Set Details画面に戻って、Backends HealthOverall HealthがすぐにOKになることを確認します。これは、ロードバランサーがバックエンドのADBと正常に通信していることを示す。OKという緑色のテキストが表示されたら、次のステップに進みます。

 

ステップ4 – バニティURLのDNSを設定する
お好みのDNSプロバイダーにアクセスし、カスタムドメイン名をロードバランサーのパブリックIPアドレスにマッピングするための「A」レコードを作成します。この例では、apex.example.comという名前を、ステップ#3のパブリックIPアドレス203.0.113.15にマップするAレコードを作成します。

 

ステップ5 – 新しいバニティURLを確認する
PCでウェブブラウザを開き、HTTPSプロトコルを使用してVanity URLに移動します。この例では、https://apex.example.com を開きます。APEX がこのアドレスに到達可能であることを確認します。APEX のサインインページが表示されるはずです。

おめでとうございます。これで Oracle Autonomous Database 上の APEX および ORDS の Vanity URL が動作するようになりました! カスタムドメイン名を使用して、APEX App Builder や Database Actions などのエンドユーザーアプリケーションや開発者ツールにアクセスすることができます。

 

まとめ

バニティURLやカスタムドメイン名は、アプリケーションの場所をより印象的にし、ブランドアイデンティティを促進します。Oracle Autonomous Database上のAPEXとORDSのVanity URLを、標準のOracle Managed OCIサービスを使用して設定することができるようになりました。ドメイン名と一致する SSL/TLS 証明書があれば、あとは ADB をプライベートエンドポイントでセットアップし、OCI ネットワーキング設定を構成してロードバランサーを作成し、ドメインを新しいパブリック IP アドレスに向けるだけである。

このブログ記事では、特定のバニティURLの構成を1つ示していますが、この構成を適応・拡張できる方法は数多くあります。例えば、開発者ツールへのアクセスを制限したり、ロードバランサーの前にWeb Application Firewall(WAF)を配置したり、同じドメインで静的WebページをホストするWebサーバーを指す第2のBackend Setを追加したり、その他にもさまざまなことが可能です。

* * * * * * * * * * * * *

次へ>> Oracle Autonomous Database Vanity URL パート2 : 開発者ツールと管理者ツールのブロック

 

Todd Bottger

Todd Bottgerは、オラクル社のOracle Databaseチームの製品管理ディレクターです。