このページの本文へ

FIXER cloud.config Tech Blog

“永久無償枠”のOracle Autonomous DBをAzure App Serviceからいじってみる

2019年10月08日 11時00分更新

文● 大野 伊久磨/FIXER

  • この記事をはてなブックマークに追加
  • 本文印刷

 本記事はFIXERが提供する「cloud.config Tech Blog」に掲載された「App Service(Azure)+Autonomous Database(Oracle Cloud)やってみよう」を再編集したものです。

 こんにちは。Marketing & Salesの大野です。今回はちょっとだけTechな内容にしていきたいと思います。

 先日行われたOracle OpenWorld 2019でAutonomous Database/Oracle Cloud Infrastructureを継続して無償利用できる「Always Free」サービスの提供というアナウンスがされました。

 そして、Microsoft Azureとの相互接続:現在、北米東海岸とロンドン・リージョンでOCIとAzureは相互接続されていますが、世界中で加速していくとのことです。

 前者の無償利用は使ってみない手はないということで、今回はOracle Cloudのアカウント作成からAutonomous Databaseの作成、AzureのApp Serviceから接続というところをクイックにやってみたいと思います。

 アカウント作成や、Autonomous Databaseの説明は結構情報がすでにありますので、ライトに紹介します。

 まずは、ここからアカウントの作成です。

 Always Freeと30-day Free Trialができますよ~と謳っていますね。

 アカウント作成とAutonomous Databaseの作成で注意・ポイントになりそうなのは3点。

 1.本人確認のための携帯SMS送信
 2.パスワードの制約
 3.クライアント資格証明書(ウォレット)のダウンロード

1.本人確認のための携帯SMS送信

 +81からの発信となりますので、頭0なくしての携帯番号で送信となりますが、なぜか私の場合docomoの携帯には何度やっても送られてきませんでした。 softbankの携帯番号に変えたらあっさり送信されて本人確認できました。

 ここでかなり時間とられてしまいました。

2.パスワードの制約

 9つの条件をみたしたパスワードを設定する必要があります。

3.クライアント資格証明書(ウォレット)のダウンロード

 アカウント作成後に、Autonomous Databaseを作成します。Database作成後にこのDatabaseに接続するクライアントにウォレットをダウンロードする必要があります。

 ここでもまたウォレットのパスワードを設定することになります。 クライアント資格証明書のZipファイル形式でダウンロードするのですが、この中にewalletとsqlnet.ora、tnsnames.oraが一緒に含まれています。

 ここまでできれば、いよいよAppServiceからAutonomous Databaseへの接続してデータを表示させるアプリケーションの作成です。

 アプリの目的として、Autonomous Databaseに接続してデータベースの内容が確認できれば良いので、ざっくりとした動作は以下の通りです。

・コネクションオープン
・“select table_name from all_tables”でテーブル一覧を取得
・結果セットを画面に表示

 AppServiceで動作させるための作業ポイントは3つ

1.NugetからOracle.ManagedDataAccessをインストール
2.接続文字列のウォレットパス編集
3.App Serviceのアプリケーション設定を編集(これが一番のポイント)

1.NugetからOracle.ManagedDataAccessをインストール

 これはASP.NET、ASP.NET Coreでもそれぞれオラクルに接続するためにManagedDataAccessをインストールします。

2.接続文字列のウォレットパス編集

 接続文字列にあるSECURITYにウォレットのパスを設定します。

 今回は実行ファイルと同じ場所に配置して、動作させるようにしたので、下記のように記述しています。

 (SECURITY = (MY_WALLET_DIRECTORY =.))

3.App Serviceのアプリケーション設定を編集

 これがApp Serviceにデプロイする上で一番のポイントになります。

 アプリケーション設定に“WEBSITE_LOAD_USER_PROFILE”を追加し、値に“1”をセットします。

 これがAzure上でOracle ウォレットを利用する設定となります。

 これが入っている入っていないでoracleへの接続ができるできないが変わります。

 というわけでアプリケーションをビルドしてAzureにデプロイして動作を確認してみます。

 無事テーブル一覧が表示されています。

 ちゃんとApp Service上で動作していることもアドレスから確認できます。

まとめ

 一番のポイントはウォレットの扱いにつきます。

 ここさえおさえれば、プログラムそのものはなんら従来通りです。

 Freeプランで利用できるスペックは非常に低いですが、試しに利用するには便利です。

 アプリケーションレベルでの利用は確認できたので、次は、相互接続にチャレンジしてみたいと思います。

[転載元]
 App Service(Azure)+Autonomous Database(Oracle Cloud)やってみよう

カテゴリートップへ