0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

asp.net coreでサービス作ったから宣伝兼ねて技術公開する -3_4.環境設定(DB)-

Posted at

##DBサーバへの環境設計

今回の要件に必要な環境は次のとおりです。
・SQL Server for Linux

以上w

##1.SQL Server for Linux インストール

参考サイト:
CentOS 7にSqlServerをインストールする
https://qiita.com/qiiChan/items/4dc6a5cea310fea1e637

参考サイト通り、インストールしてください。
これでインストールはOK!

##2.Firewall設定
さて、インストール終わりましたか。
次に、Firewallの設定を行ってください。

なぜ?それは、海外のbotツール等で、SQLServerが狙われているからです。
まず、必要なIPからのみの許可を出してください。
さもないと、1時間に300回ほど、SQLServerへのログインが行われます。
中国、インド、中国、中国。。。いくらなんでも多すぎる。
即サーバのOS再インストール。

ってことで、こんなfirewallコマンドを。
IPは自身のグローバルIPと、前回設定したAPサーバのIPを設定してください。

db_cmd-1.bat
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="123.123.123.123" port protocol="tcp" port="1433" accept"
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="234.234.234.234 port protocol="tcp" port="1433" accept"

##3.端末(SQL Server Manegement Studio)からの接続

参考サイト:
SQL Server Management Studio (SSMS) のダウンロード
https://docs.microsoft.com/ja-jp/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15

ローカルにインストールしてください。話はそれからだ(です)。

次に、起動してください。
DBサーバへのIPアドレスを入力し、サーバへ接続してください。

image.png

すると、うまく接続できるはずです。

あとは、DB作ったり、テーブル作ったりしてください。
テーブルを作るSQL文はVisual Studio から出せます。
思い出せない方は過去の記事を御覧くださいませ。

過去の記事:
asp.net coreでサービス作ったから宣伝兼ねて技術公開する -2_3.ユーザ名の登録-
https://qiita.com/ArataKinjo/items/754615dde0ab09dfee81

##4.APサーバからの接続テスト
DBサーバがないと、接続テストも出来ませんからね。
試すのは、2つ。

1.ローカルからのデバッグ接続。
2.APサーバからの本接続

私の場合、appsetting.jsonに、ローカルの接続情報と、DBサーバの接続情報を書いておいて、必要なときにlocal→無印へ、db_server→無印へコピーする運用を行っております。
(※ 無印="ConnectionStrings"のことを指してます。)

appsettings.json
{
  "ConnectionStrings": {
    "DefaultConnection": "Data Source=localhost;Initial Catalog=tanatoru_db;Persist Security Info=True;User ID=sa;Password=PASSWORD123"
  },
  "ConnectionStrings_local": {
    "DefaultConnection": "Data Source=localhost;Initial Catalog=tanatoru_db;Persist Security Info=True;User ID=sa;Password=PASSWORD123"
  },
  "ConnectionStrings_db_server": {
    "DefaultConnection": "Data Source=123.123.123.123;Initial Catalog=tanatoru_db;Persist Security Info=True;User ID=sa;Password=PASSWORD123"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "AllowedHosts": "*"
}

これをdb_server→無印へ"DefaultConnection":---へ貼り付けて、実行してみてください。
接続できれば、OKです。

そのままAPサーバへデプロイし、接続テストを行ってください。
うまく接続できることを祈ってます。

##最後に

以上、DBサーバはそこまでセットアップに時間はかかりませんでしたね。
これでこの連載は一区切りとなります。
(まだネタがあるので続きますが。)

APサーバ、DBサーバを一貫してセットアップする記事は色々探したけど無いもんなんでね。
まぁまぁ役立つことがあるのではないかとは思います。

製品開発では、一番やってはいけない「技術向上のために製品を作る」をやってしまった訳ではありますが、アウトプットすることによって、価値が生まれるのではないかと考えております。
また、これで新しい製品を作る際にどういうアプリケーションをどのように、どの程度で出来るかが分かることは出来ます。

金銭的に得るものは少なくとも、技術的・経験的に得るものはたくさんありました。
常に新しいアイディアを考え、実現までした経験を積むことは、今後の生き方に大きく関わってきます。
「全てのことを自分の力で実現する」には、限界があるのはわかっておりますが、やってもないことをあたかもやったかのように言う人間にはならないように。

最後に、楽しかった!

【是非お試しください】※完全無料です
TanaToru -本棚管理サービス-
 https://app.zero-one-system.co.jp/TanaToru/

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?