★当記事は連続記事となります。
前項の設定を使用している箇所もあるので最初からお読み頂くことをお勧めします。
- AzureでRDBとfunctionsを繋ぎたい(タイトル)
- (1)SqlDataBaseを作るまで(当記事)
- (2)functionsの作成
- (3)functionsからSQLの操作
ご注意
※幾らかの費用が発生する可能性もある事をご了承の上、テストが終わったら削除する等、各自でコスト確認と管理をお願いいたします(無料試用がある方はそれで吸収できるかも)ちなみに自分は長らく放置で1カ月600円位かかりましたが勉強代として。
※設定間違えると月に数万円レベルの設定もサクっと出来ちゃうので慣れない内は注意し『コストと請求』をチェックして放置などしないようにしましょう。クラウド破産ダメ絶対。
#前提
まずはAzureのアカウントを作成します。
https://azure.microsoft.com/ja-jp/
後は時間があればAzureのポータルの使い方など学んでおくと理解が早くなるかも。
https://docs.microsoft.com/ja-jp/learn/paths/azure-fundamentals/
#リソースグループの作成
Azureのサービスを包括してくれるリソースグループを作成します。ポータルからリソースグループを選んで「追加」を押す。
次にリソースグループ名を入れて、リージョンを選択します。お住まいの場所によって東日本や西日本を選ぶといい感じ。今回は東日本リージョンに「sql_and_function_group」を作りました。
作成を押すと、「検証に成功しました」が出るので出たら再度作成ボタンを押す。そうするとリソースグループが出来ます。
リソースグループに関して
こちらの記事にも詳しく記載してあります。
https://qiita.com/tkmry/items/78baa38b81effeaf812f
#SQLDatabaseを作成
次に、SQLDatabaseの作成です。ポータルからリソースの作成、を選んで
Marketplaceを検索に「SQL Database」と入れます。人気順の所に並んでいる事もあります。
もしくは検索にSQLと入れると候補がたくさん出てくるので、「SQL Database」を選びます。SQLで似たものがあるので間違えないように注意。
SQL Databaseの画面になっているのを確認して「作成」を押します
リソースグループを選択し、データベース名を入れます。今回はbokurano_sqlとしてみました。
サーバーの新規作成を選びます。
サーバーを作ってみます。
サーバー名や管理者名、パスワードやリージョンを設定してOKを押します。
サーバー名、管理者名、パスワードは忘れないようにしてください
#‼超重要‼コンピューティングとストレージの設定
ここの箇所は必ず設定と確認を行ってください。高額な料金が発生する事もあります。
「コンピューティングとストレージ」の「データベースの構成」を押します。
無料アカウントの場合は違うんでしょうか。今の僕の所だとデフォルトが月4万円コースになっている模様。
この実験段階ではちゃんと設定して、価格を抑えましょう。最初はベーシックにします。お探しですか?と言われているのでそこを押します
ベーシックを押します。
そうすると安くなる!(性能は最低ですが)
適用ボタンを押す
お値段を必ず確認して作成
頑張ってデプロイしてくれます
クエリエディタでSQLにアクセスしてみよう(ファイアーウォールの設定も)
デプロイが終わると、リソースグループの中からも選べるようになります。
早速作ったbokurano_sqlを選んでみましょう。
ブラウザ上でクエリが発行できるクエリエディタがあるので、これを試してみましょう。
(記事執筆段階ではプレビュー版との事)
クエリエディタが開くので管理者名とパスワードを入れてOKを入れると…
エラーが出た!! サーバーファイアーウォールに弾かれている模様。
ご親切にサーバーファイアーウォールの設定へのリンクがあるのでここから設定へ
サーバーファイアーウォールの設定。
※自分のクライアントからアクセス出来るようにする。
※「Azureサービスおよびリソースにこのサーバーへのアクセスを許可する」をオン
※規則名と、自分のクライアントIPアドレスが記載されているので、それを開始IPと終了IPに入力する
ちゃんと除外のルールが出来ていたら保存を押す
再度、クエリエディタのログインに挑戦すると今度はログインできた!
早速テーブルを作ってみよう。こんな感じに入力して実行ボタン
CREATE TABLE Hajimetenodb
(
Id INT IDENTITY PRIMARY KEY,
Name NVARCHAR(128) NOT NULL,
Age INT NOT NULL
)
クエリが成功しましたと出ればOK
db情報のリロードボタンを押すなど、更新をすればHajimetenodbが出てきます。
データを入れたり、データを確認したりも出来る。下記を入れて実行。
CREATE TABLE Hajimetenodb
(
INSERT INTO Hajimetenodb VALUES ('TARO',25);
INSERT INTO Hajimetenodb VALUES ('JIRO',21);
SELECT * FROM Hajimetenodb;
)
※IDENTITYに設定した「Id」は勝手に採番されるので何も入れない。入れるとエラーになる。なので名前と年齢のみ。
※スクリーンショットでは3番と4番になっているのは先に実験した1と2を消しているから
#SQL Server Management Studio(SSMS)の設定
専用のデータベース管理ツールをインストールする事で管理が簡単になります。
設定も簡単。
ここからダウンロードしてインストールします。特に特別な設定は要らなかったはず。
これを書いている時はバージョンは18.4でした。
https://docs.microsoft.com/ja-jp/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15
最初にサーバー名の情報が必要になります。これはポータルからSQLデータベースを選択すると見る事が出来ます。
SSMSを立ち上げます。先ほどのサーバー名と、最初に設定したり、クエリエディタでも使った管理者名とパスワードを入れて接続を押します。(今回はクエリエディタ解説の時にやってしまったが、ここで接続する前も、本来ファイアウォールの設定が必要かも・・・?)
ちゃんとHajimetenodbも入っている。
こちらでクエリを発行してみる。「新しいクエリ」ボタンを押す
ポータルのクエリエディタで入れたクエリをこちらでも入力して実行を押すとちゃんと出てくる事を確認。
NEXT: (2)functionsの作成