Day 23 资料宝石:【Lab】RDS架构 建立自己的第一台云端资料库 (下)

https://ithelp.ithome.com.tw/upload/images/20210924/20100951ED1oBVei3M.jpg

今天我们来示范如何让一台 EC2 Instance 连线使用之前创建好的 RDS Instance。

创建 Public Subnet EC2

首先,要先创建 Public Subnet EC2,使能连线进资料库的 Instance,如下图:
https://ithelp.ithome.com.tw/upload/images/20210905/20100951L50YWo50m1.png

先到 RDS 资料库的详细页面,再来往下拉,这些都是先前所创建的 VPC Security Group 的规范(下图),可以看到由於 RDS Instance 放在 Private Subnet,所以没有 Publicc accessibility,也就代表使用者不能直接从 Internet 连到 RDS 资料库。
https://ithelp.ithome.com.tw/upload/images/20210905/20100951LxsTi6vABW.png

先点开 Services (下图#1),搜寻 EC2 (下图#2),以新分页开启(下图#3)。
https://ithelp.ithome.com.tw/upload/images/20210905/20100951oZlVYgNyiD.png

到了 EC2 页面之後,按下左列表的 Instances 切换页面(下图#1),按下 Launch Instance (下图#2)。
https://ithelp.ithome.com.tw/upload/images/20210905/20100951Q4X9ewK7oB.png

Step 1: Choose an Amazon Machine Image (AMI)
选择第一个 Select,如下图:
https://ithelp.ithome.com.tw/upload/images/20210905/20100951LxTB1VtQxQ.png

Step 2: Choose an Instance Type
预设即可,点击右下 Next:Configure Instance Details (下图#1)。
https://ithelp.ithome.com.tw/upload/images/20210905/20100951dunZTfhb8j.png

Step 3: Configure Instance Details
Network 选择自己建立的 VPC (下图#1),Subnet 选择 Public subnet (下图#2),Auto-assign Public IP 选择 Enable(下图#3),给予一个Public IP,设定完成後点击右下角 Next:Add Storage (下图#4)。
https://ithelp.ithome.com.tw/upload/images/20210905/20100951pkFbEc81qn.png

Step 4: Add Storage
预设即可,直接点击右下角 Next:Add Tags (下图#1)。
https://ithelp.ithome.com.tw/upload/images/20210905/20100951oQ9HCbGEEE.png

Step 5: Add Tags
略过,直接点击右下角 Next:Configure Security Group (下图#1)。
https://ithelp.ithome.com.tw/upload/images/20210905/20100951Df5WTj3QXy.png

Step 6: Configure Security Group
SSH 就够用了(下图#1),点击右下角 Review and Launch (下图#2)。
https://ithelp.ithome.com.tw/upload/images/20210905/20100951b8Q0Od64xh.png

Step 7: Review and Launch
直接点右下 Launch (下图#1)。
https://ithelp.ithome.com.tw/upload/images/20210905/20100951HE92rzXqDP.png

将 Choose an existing key pair 改为 Create a new key pair (下图#1),会产生一个 Key pair name 为 rds-demo-keypair2 (下图#2),按下 Download Key Pair (下图#3)。
https://ithelp.ithome.com.tw/upload/images/20210905/20100951rFDdDkxUyF.png

点击 Save,如下图:
https://ithelp.ithome.com.tw/upload/images/20210905/20100951pi7zii0iWY.png

再按 Launch Instances,如下图:
https://ithelp.ithome.com.tw/upload/images/20210905/20100951KEQ5RQp4Mi.png

确认 Instances 被成功 Launch 之後(下图#1),按右下角 View Instances (下图#2),来完成 Launch Instance 这个动作。
https://ithelp.ithome.com.tw/upload/images/20210905/20100951rPnt6VOmE7.png

与 RDS Instance 进行连接

Launch Instance 动作完成後,按下 Connect (下图#1),复制 chmod(change mode)指令(下图#2)。
https://ithelp.ithome.com.tw/upload/images/20210905/20100951k8nsnss7hb.png

开启 Terminal,移到 Key Pair 的位置,如下图:
https://ithelp.ithome.com.tw/upload/images/20210905/20100951wWdjLXXtt7.png

到 Key Pair 的目录位置後,贴上 chmod 指令,如下图:
https://ithelp.ithome.com.tw/upload/images/20210905/20100951cC1vdUqxMC.png

回到 EC2 Console,复制 ssh 指令,如下图:
https://ithelp.ithome.com.tw/upload/images/20210905/20100951lkCeVO8OIK.png

到 Terminal 贴上 ssh 指令(下图#1),等待一段时间,下方会出现讯息向使用者确认是否要连线,输入 yes (下图#2),就可以连进去。
https://ithelp.ithome.com.tw/upload/images/20210905/20100951qpHytDGgIQ.png

回到 RDS Console,复制 Endpoint 下方字串,如下图:
https://ithelp.ithome.com.tw/upload/images/20210905/20100951BDGVCvx4W6.png

接着回到 Terminal,键入 sudo yum install mysql -y 来安装 MySQL 的客户端,如下图:
https://ithelp.ithome.com.tw/upload/images/20210905/20100951Yh6iW0PDad.png

再来就可以连进去 RDS Primary Instance,输入 mysql -u 後面加上 User 名称 admin (下图#1), -p 指用 Password 的方式进入(下图#2),-h 进到刚才所复制的 RDS Instance 的 Endpoint (下图#3),再配上大写 -P 来指名 Port 3306 (下图#4)。按 Enter 後,再输入 Password (下图#5),就可以连进去刚才建立的 RDS Instance。
https://ithelp.ithome.com.tw/upload/images/20210905/20100951YyPsKYnm5i.png

用 SQL 指令对资料库进行操作

接下来要用一些 SQL 指令,来对资料库进行一些操作。

首先,如下图打上 show databases;,就会看到目前只有一些预设的,而现在要来创建自己要用的。
https://ithelp.ithome.com.tw/upload/images/20210905/20100951FSQvd8uw7s.png

在 RDS Instance 中建立 Database

键入 create database mydb001; 以建立 Database,如下图:
https://ithelp.ithome.com.tw/upload/images/20210905/20100951TM1Bjj2Us4.png

再利用 show databases; (下图#1),就可以看到刚才创立的 Database (下图#2)。
https://ithelp.ithome.com.tw/upload/images/20210905/20100951ZIj1452BVz.png

进入 Database

利用 use mydb001; 以进到此 Database,如下图:
https://ithelp.ithome.com.tw/upload/images/20210905/20100951ghMR6NqNCe.png

运用 show tables;,可以看到当前的 Database 是空的,如下图:
https://ithelp.ithome.com.tw/upload/images/20210905/20100951pGLgQTi8UW.png

在 Database 中建立 Table

输入下图红底处指令,栏位名称假设为 name 与 hobby, 栏位型态为 varchar,及有 255 的空间。
https://ithelp.ithome.com.tw/upload/images/20210905/20100951Kj9wjRHYCN.png

Table 创建完成後,利用 show tables; 就可以看到创好的 Table 了,如下图:
https://ithelp.ithome.com.tw/upload/images/20210905/20100951Vz2uE4xYb7.png

并且可以用 show columns from mytb001; (下图#1)阅览这个Table的结构,会看到这个Table有两个栏位,一个是 name 一个是 hobby (下图#2)。
https://ithelp.ithome.com.tw/upload/images/20210905/20100951Otq2jP6BtA.png

在 Table 中新增资料

输入 select*from mytb001; 来检阅 Table 里的资料,可以看到目前是空的,如下图:
https://ithelp.ithome.com.tw/upload/images/20210905/20100951cTfcFFuJdD.png

所以现在输入 insert into ,加上想要插入资料的 Table 名称(下图#1),栏位名称之间用「,」隔开(下图#2),VALUES 的值必须分别对应 name 与 hobby,而字串要特别用两个「’」包覆起来(下图#3)。
https://ithelp.ithome.com.tw/upload/images/20210905/201009512wbSCMfghC.png

插入资料成功後,再藉 select*from mytb001; 来看到 Table 里面的资料(下图#1),会看到里面有一笔新的资料(下图#2)。
https://ithelp.ithome.com.tw/upload/images/20210905/20100951r1vQylXsA5.png

为示范备份的预先准备作业

这边特别稍微等待 10 分钟,为了等一下做备份的示范,如下图:
https://ithelp.ithome.com.tw/upload/images/20210905/20100951ClAHJTjya0.png

再加上几个新的资料,如下图:
https://ithelp.ithome.com.tw/upload/images/20210905/20100951x4uAP0WvMv.png

加完之後,确认一下 Table 里面的资料,输入 select*from mytb001; (下图#1)可以看到现在总共有六笔资料(下图#2)。
https://ithelp.ithome.com.tw/upload/images/20210905/20100951zSCe20xMob.png

离开连线

新增好资料之後,输入 exit,离开这次的资料库连线,如下图:
https://ithelp.ithome.com.tw/upload/images/20210905/20100951kgzE5tlw2C.png

小结

这次实际示范了如何去使用 RDS instance,从 Public Subnet EC2 的建立,与 RDS Instance 进行连接,到用 SQL 指令对资料库进行操作,包括 Database 的建立与进入,Table 的建立与插入,为示范备份的预先准备作业,以及如何离开连线。

以上,即是 RDS 云端资料库的示范操作,下个单元我们将进行备份的实作演练。

What's Next?

又到了一个循环,我们再次用了 5 天入手 AWS RDS 这项服务,之後若有时间,在帮大家扩展到 backup、failover、read replica 等主题的 Lab 演练。那明天,我们来进入第五「权限宝石:IAM架构」!


<<:  [Day 28] JS实作练习 - Scroll Blog无限卷动

>>:  Day13 SwiftUI 06 - WebView

[第三天]从0开始的UnityAR手机游戏开发-如何开启专案和汇入Vuforia插件到Unity

在开启专案之前必须有Unity授权才能开启和运行专案,所以在开启专案之前会先来教大家如何取得授权。 ...

[Day5](win 10/ssh 、smb )认证问题,出示证件!!!!

ssh和smb可能会遇到人认证无效的问题,以下是其中最常见的解决方法 1.ssh 到系统C槽>...

表单 Controlled Component VS Uncontrolled Component ( Day 11 )

在 HTML 中,表单的 element 像是 、 和 通常会维持它们自身的 state,并根据使...

DBA 训练营 - SQL Server 资料库管理入门

数据资料与 Azure SQL 热潮来袭 升级资料库专业技能 Are You Ready? DBA ...

Day23 :【TypeScript 学起来】先了解 ES6 Class

因为我没什麽用到 Class,这一篇会笔记 ES6 Class 的使用, 下一篇才会进到 Type...