1. 程式人生 > >雲端計算之路-出海記:建一個免費倉庫 Amazon RDS for SQL Server

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

上週由於園子[後院起火](https://www.cnblogs.com/cmt/tag/%E8%83%8C%E9%94%85%E6%A1%88/),不得不調兵回去救火,出海記暫時停更,這周繼續更新,“出海記”記錄的是我們在 AWS 上建設部落格園海外站的歷程。 在這一記中記錄的是我們基於 AWS [免費套餐](https://www.cnblogs.com/cmt/p/13912814.html)(Free Tier)建立一個 Amazon RDS for SQL Server 例項,這也是我們第一次使用 AWS RDS,之前只用過阿里雲 RDS。 首先進入 AWS RDS 控制檯,AWS 在控制檯推薦了他們自主研發的雲資料庫 Amazon Aurora,但我們目前只能用 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`(這也是免費套餐支援的最大儲存空間),去選`啟用儲存自動擴充套件`以免產生額外的費用
* “連線”就用預設的VPC * “Microsoft SQL Server Windows 身份驗證”就用預設的不啟用 * “其他配置”就用預設值。 * 確認一下“月度估算費用”中是否免費套餐 最後,點選“建立資料庫”按鈕下單。 這時控制檯會提示: > 正在建立資料庫 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 免費雲伺服器](https://www.cnblogs.com/cmt/p/13918304.html) 安裝 mssql-cli ```bash 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 ```bash 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 例項之後,看一下例項中當前有哪些資料庫? ```text master> \ld Time: 0.453s +----------+ | name | |----------| | master | | tempdb | | model | | msdb | | rdsadmin | +----------+ (5 rows affected) ``` 接下來為海外站部落格系統建立一個空資料庫 optcode_blog ```bash master> CREATE DATABASE optcode_blog ``` 最後匯入部落格系統資料庫結構的建立指令碼 ```bash $ mssql-cli -S xxx -U yyy -P 'zzz' -d optcode_blog -i optcode_blog.sql Commands completed successfully. ``` AWS 巨輪上存放資料的免費倉庫就這樣建好了,這一記就記到這裡。 ```bash optcode_blog> \lt Time: 0.454s +----------------+-------------------------------+ | table_schema | table_name | |----------------+-------------------------------| | dbo | blog_Images |