雲端計算之路-出海記:建一個免費倉庫 Amazon RDS for SQL Server

部落格園團隊發表於2020-11-24

上週由於園子後院起火,不得不調兵回去救火,出海記暫時停更,這周繼續更新,“出海記”記錄的是我們在 AWS 上建設部落格園海外站的歷程。

在這一記中記錄的是我們基於 AWS 免費套餐(Free Tier)建立一個 Amazon RDS for SQL Server 例項,這也是我們第一次使用 AWS RDS,之前只用過阿里雲 RDS。

首先進入 AWS RDS 控制檯,AWS 在控制檯推薦了他們自主研發的雲資料庫 Amazon Aurora,但我們目前只能用 SQL Server,忽略此推薦,在控制檯“建立資料庫”卡片中點選建立資料庫

雲端計算之路-出海記:建一個免費倉庫 Amazon RDS for SQL Server

進入建立資料庫的介面,這是一個長長的“選單”,有很多食品可供選擇,但我們囊中羞澀,只能點免費套餐中的食品。

  • “資料庫建立方法”選擇標準建立
    雲端計算之路-出海記:建一個免費倉庫 Amazon RDS for SQL Server
  • “引擎選項”-“引擎型別”選擇Microsoft SQL Server
  • “引擎選項”-“版本”選擇SQL Server Express Edition(注:免費套餐只能選擇這個版本),版本號選SQL Server 2017 14.00.3294.2.v1
  • “模板”選免費套餐(注:模板中出現免費套餐的選項,說明這個規格的例項支撐免費套餐)。
  • 在“設定”-“資料庫例項識別符號”中輸入例項名稱(支援連字元,不支援下劃線),這裡輸入optcode-db(注:optcode是部落格園海外站的暫用域名)
  • 在“設定”-“憑證設定”-“主使用者名稱”中輸入資料庫賬戶使用者名稱(支援下劃線,不支援連字元),然後輸入密碼
  • “資料庫例項大小”真能選小份(db.t2.micro),這是免費套餐僅能享用的規格。
  • 在“儲存”部分,“儲存型別”選預設的通用型(SSD),“分配的儲存空間”選預設的20GiB(這也是免費套餐支援的最大儲存空間),去選啟用儲存自動擴充套件以免產生額外的費用
    雲端計算之路-出海記:建一個免費倉庫 Amazon RDS for SQL Server
  • “連線”就用預設的VPC
  • “Microsoft SQL Server Windows 身份驗證”就用預設的不啟用
  • “其他配置”就用預設值。
  • 確認一下“月度估算費用”中是否免費套餐
    雲端計算之路-出海記:建一個免費倉庫 Amazon RDS for SQL Server

最後,點選“建立資料庫”按鈕下單。

雲端計算之路-出海記:建一個免費倉庫 Amazon RDS for SQL Server

這時控制檯會提示:

正在建立資料庫 optcode-db。
您的資料庫可能需要幾分鐘時間才能啟動。

等了10分鐘左右,資料庫建立好了。

AWS 沒有提供 SQL Server 的 web 管理控制檯,需要通過微軟提供的 SQL Server 客戶端管理工具 SQL Server Management Studio 或者 mssql-cli 管理資料庫,這裡我們選擇命令列工具 mssql-cli 。

用免費套餐建立1臺 Ubuntu 18.04 EC2 伺服器用於安裝 mssql-cli ,參考 雲端計算之路-出海記:整一臺 AWS 免費雲伺服器

安裝 mssql-cli

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
sudo apt-add-repository https://packages.microsoft.com/ubuntu/18.04/prod
sudo apt-get update
sudo apt-get install mssql-cli
sudo apt-get install -f

安裝後之後用 mssql-cli 命令連線 RDS for SQL Server

mssql-cli -S optcode-db.cddc6wiequiq.us-west-1.rds.amazonaws.com

報錯

Error message: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 40 - Could not open a connection to SQL Server)

出現上面的錯誤是由於執行 mssql-cli 命令的 EC2 伺服器與 RDS 例項不在同一個安全組。

進入 EC2 控制檯選中對應的例項,點選“操作”->“安全”->“更改安全組”,將這臺伺服器加入到 RDS 例項所在的安全組,就能成功連線了。

mssql-cli 連線上 RDS 例項之後,看一下例項中當前有哪些資料庫?

master> \ld                                                                                                                                                                                                 
Time: 0.453s
+----------+
| name     |
|----------|
| master   |
| tempdb   |
| model    |
| msdb     |
| rdsadmin |
+----------+
(5 rows affected)

接下來為海外站部落格系統建立一個空資料庫 optcode_blog

master> CREATE DATABASE optcode_blog

最後匯入部落格系統資料庫結構的建立指令碼

$ mssql-cli -S xxx -U yyy -P 'zzz' -d optcode_blog -i optcode_blog.sql
Commands completed successfully.

AWS 巨輪上存放資料的免費倉庫就這樣建好了,這一記就記到這裡。

optcode_blog> \lt                                                                                                                                                                                           
Time: 0.454s
+----------------+-------------------------------+
| table_schema   | table_name                    |
|----------------+-------------------------------|
| dbo            | blog_Images                   |
...

相關文章