1 00:00:07,310 --> 00:00:08,143 - All right. 2 00:00:08,143 --> 00:00:09,530 So, now let's review a demo 3 00:00:09,530 --> 00:00:12,733 of launching an Amazon RDS instance. 4 00:00:13,710 --> 00:00:18,143 From the AWS Management Console dashboard, we'll go to RDS. 5 00:00:20,940 --> 00:00:23,540 Before we create a database, 6 00:00:23,540 --> 00:00:25,930 we need to do one very important thing. 7 00:00:25,930 --> 00:00:30,073 We need to set up the networking for our database. 8 00:00:33,130 --> 00:00:34,210 We don't just launch one. 9 00:00:34,210 --> 00:00:38,020 We have to launch it into a network. 10 00:00:38,020 --> 00:00:40,450 And we already have a VPC, 11 00:00:40,450 --> 00:00:44,300 but we can't just select subnets directly. 12 00:00:44,300 --> 00:00:49,300 We have to launch the database into a subnet group. 13 00:00:49,650 --> 00:00:51,300 So, before we can launch the database, 14 00:00:51,300 --> 00:00:53,660 we need to create a subnet group. 15 00:00:53,660 --> 00:00:57,020 And so, we'll go ahead and go over here to subnet groups. 16 00:00:57,020 --> 00:00:59,883 We'll then say create DB subnet group. 17 00:01:00,970 --> 00:01:04,390 And here we'll call this one fundamentals. 18 00:01:04,390 --> 00:01:05,410 You will choose a name 19 00:01:05,410 --> 00:01:08,590 that makes sense for your particular scenario. 20 00:01:08,590 --> 00:01:13,187 And we'll call this one the RDS subnets for AWS LiveLessons. 21 00:01:17,370 --> 00:01:21,250 And then we'll choose the data stores VPC. 22 00:01:21,250 --> 00:01:26,250 And then we will choose the particular subnets that we have. 23 00:01:26,820 --> 00:01:29,964 We can add all the subnets in that VPC. 24 00:01:29,964 --> 00:01:32,730 I've taken the liberty of creating a couple 25 00:01:32,730 --> 00:01:37,730 of slash 28 subnets and the data stores VPC. 26 00:01:37,820 --> 00:01:42,820 And so, now we don't really choose those subnets directly. 27 00:01:43,030 --> 00:01:46,531 We tell AWS hey, here's a group of subnets. 28 00:01:46,531 --> 00:01:50,260 Choose the one that works best for you. 29 00:01:50,260 --> 00:01:52,800 And so, now once we create that, 30 00:01:52,800 --> 00:01:55,600 now that we have a subnet group, 31 00:01:55,600 --> 00:01:58,654 now we have a place within our network 32 00:01:58,654 --> 00:02:03,620 into which we can deploy our RDS database. 33 00:02:03,620 --> 00:02:04,453 All right. 34 00:02:05,460 --> 00:02:07,433 We could go here to databases. 35 00:02:09,280 --> 00:02:10,880 We don't currently have any. 36 00:02:10,880 --> 00:02:14,730 So, let's go ahead and create a database. 37 00:02:14,730 --> 00:02:16,850 That will bring us to the engine. 38 00:02:16,850 --> 00:02:19,950 And of course, we have our choice of different options. 39 00:02:19,950 --> 00:02:22,560 We'll talk more about some of these options 40 00:02:22,560 --> 00:02:26,250 like Aurora later on, but for now, it doesn't really matter. 41 00:02:26,250 --> 00:02:28,870 I'll just go ahead and choose Postgre. 42 00:02:28,870 --> 00:02:30,740 And then we'll go next. 43 00:02:30,740 --> 00:02:32,750 And then now it's asking our use case. 44 00:02:32,750 --> 00:02:35,370 Do you plan to use for production? 45 00:02:35,370 --> 00:02:37,980 If we were to say yes, I'm using it for production, 46 00:02:37,980 --> 00:02:41,850 then that will deploy a Multi-AZ deployment 47 00:02:41,850 --> 00:02:43,990 and Provisioned IOPS storage. 48 00:02:43,990 --> 00:02:48,560 And so, a Multi-AZ deployment would give us two instances. 49 00:02:48,560 --> 00:02:53,285 It would give us a live primary and a live secondary 50 00:02:53,285 --> 00:02:56,410 with synchronous replication between the two. 51 00:02:56,410 --> 00:02:59,940 The cost for that is twice as much 52 00:02:59,940 --> 00:03:02,313 because you have two instances running. 53 00:03:04,020 --> 00:03:05,880 And so, it is a good idea for production 54 00:03:05,880 --> 00:03:08,250 so that you have fault tolerance, 55 00:03:08,250 --> 00:03:12,710 you have the ability to failover to a standby instance 56 00:03:12,710 --> 00:03:14,980 without losing data. 57 00:03:14,980 --> 00:03:16,700 But for a development environment, 58 00:03:16,700 --> 00:03:18,000 I don't think that that's necessary, 59 00:03:18,000 --> 00:03:19,470 at least not for this example. 60 00:03:19,470 --> 00:03:21,820 So, we'll just go with Dev/Test 61 00:03:21,820 --> 00:03:23,840 and go with a single instance. 62 00:03:23,840 --> 00:03:24,673 All right. 63 00:03:24,673 --> 00:03:25,506 We'll go next. 64 00:03:25,506 --> 00:03:27,160 And then of course, we can choose our license models. 65 00:03:27,160 --> 00:03:29,480 We can choose the DB engine. 66 00:03:29,480 --> 00:03:32,500 If you already have code written against an older version, 67 00:03:32,500 --> 00:03:36,540 then you can go all the way back to 9.4.7 if you wanted to. 68 00:03:36,540 --> 00:03:38,950 If this is a new application 69 00:03:38,950 --> 00:03:40,440 you haven't really started on yet, 70 00:03:40,440 --> 00:03:43,890 then perhaps you want to use the latest features 71 00:03:43,890 --> 00:03:45,810 and the latest version. 72 00:03:45,810 --> 00:03:49,053 And then of course, we choose the instance class, 73 00:03:49,960 --> 00:03:52,210 how much memory and CPU do we really need. 74 00:03:52,210 --> 00:03:53,520 We can go all the way up. 75 00:03:53,520 --> 00:03:57,200 You can see in some cases, pretty large machines, 76 00:03:57,200 --> 00:03:59,990 64 cores, 256 gigs of RAM. 77 00:03:59,990 --> 00:04:03,973 And maybe certain database may very well need that, 78 00:04:03,973 --> 00:04:06,707 but for our particular case, 79 00:04:06,707 --> 00:04:09,594 a brand new development environment 80 00:04:09,594 --> 00:04:13,420 with very little data or traffic probably doesn't need much. 81 00:04:13,420 --> 00:04:15,300 So, we could go with a t2.micro. 82 00:04:15,300 --> 00:04:19,000 And the beautiful thing about cloud computing 83 00:04:19,000 --> 00:04:21,810 is that if I'm proven wrong here, 84 00:04:21,810 --> 00:04:23,330 then that gives me the ability 85 00:04:23,330 --> 00:04:28,330 to move closer to being right much quicker. 86 00:04:29,140 --> 00:04:30,350 I don't have to wait. 87 00:04:30,350 --> 00:04:32,900 My decision for this is not set in stone. 88 00:04:32,900 --> 00:04:35,320 I don't have to wait two to five years 89 00:04:35,320 --> 00:04:37,373 to change my mind on that. 90 00:04:38,450 --> 00:04:40,240 If I find within the next week 91 00:04:40,240 --> 00:04:43,860 that one core, one gig of RAM is not enough, 92 00:04:43,860 --> 00:04:46,080 then I can very easily change my mind 93 00:04:46,080 --> 00:04:48,780 and try two cores, four gigs. 94 00:04:48,780 --> 00:04:49,780 And if that's not enough, 95 00:04:49,780 --> 00:04:52,260 I could very easily go up to eight gigs. 96 00:04:52,260 --> 00:04:54,700 And so, again our decisions within the cloud 97 00:04:54,700 --> 00:04:56,220 are not set in stone. 98 00:04:56,220 --> 00:04:57,520 That's the beautiful thing. 99 00:04:57,520 --> 00:05:01,190 So, I'm going to just choose what I think is the best 100 00:05:01,190 --> 00:05:04,220 for this particular environment and go from there. 101 00:05:04,220 --> 00:05:08,210 And if monitoring and experience tells us otherwise, 102 00:05:08,210 --> 00:05:09,446 well, then that's okay. 103 00:05:09,446 --> 00:05:13,750 We won't really lose any money by changing our mind. 104 00:05:13,750 --> 00:05:18,393 And then of course, we can revisit this Multi-AZ deployment. 105 00:05:19,390 --> 00:05:21,460 Again if we chose Multi-AZ, 106 00:05:21,460 --> 00:05:25,240 then it would create a live replica in a different AZ. 107 00:05:25,240 --> 00:05:26,770 We don't really need that. 108 00:05:26,770 --> 00:05:30,910 And then of course, we get to choose our storage type. 109 00:05:30,910 --> 00:05:33,120 It's defaulting to a general-purpose SSD, 110 00:05:33,120 --> 00:05:35,170 very similar to EBS. 111 00:05:35,170 --> 00:05:39,963 Because ultimately RDS is built on top of EC2 and EBS, 112 00:05:40,870 --> 00:05:44,024 we have access to those EBC options. 113 00:05:44,024 --> 00:05:45,740 For development environment, 114 00:05:45,740 --> 00:05:48,050 a general-purpose SSD is probably fine. 115 00:05:48,050 --> 00:05:49,870 We might want more storage. 116 00:05:49,870 --> 00:05:52,943 So, we can say, well, let's get 100 gigs. 117 00:05:55,160 --> 00:05:58,550 And of course, I could be proven wrong, and that's okay. 118 00:05:58,550 --> 00:06:02,120 Through experience using this, we might realize 119 00:06:02,120 --> 00:06:05,400 that we actually do need more performance. 120 00:06:05,400 --> 00:06:08,090 And so, we could come back later and say, well, 121 00:06:08,090 --> 00:06:11,497 you know what, we might actually need a sustained IOPS 122 00:06:12,404 --> 00:06:15,920 of 1,000 or two or 3,000. 123 00:06:15,920 --> 00:06:18,850 And so, we could base that based on monitoring, 124 00:06:18,850 --> 00:06:20,560 based on our experience using it. 125 00:06:20,560 --> 00:06:25,210 So, for now, I always try to go with the cheapest option. 126 00:06:25,210 --> 00:06:29,250 And here I imagine that I could probably easily accrue 127 00:06:29,250 --> 00:06:31,480 100 gigs' worth of data or maybe not, 128 00:06:31,480 --> 00:06:33,510 maybe 50 is more appropriate. 129 00:06:33,510 --> 00:06:36,020 We start there and then see how it goes. 130 00:06:36,020 --> 00:06:38,440 We can always increase that storage later. 131 00:06:38,440 --> 00:06:42,380 So, generally I try to aim for the cheapest solution 132 00:06:42,380 --> 00:06:44,180 that I think will solve the problem 133 00:06:44,180 --> 00:06:46,800 in a performant and reliable way 134 00:06:46,800 --> 00:06:49,830 and then run it, try it out. 135 00:06:49,830 --> 00:06:52,200 The truth is, we don't know anything 136 00:06:52,200 --> 00:06:54,350 until we actually run something 137 00:06:54,350 --> 00:06:56,270 and then we can go from there. 138 00:06:56,270 --> 00:06:57,950 And then of course, it's telling us, you know, 139 00:06:57,950 --> 00:06:59,810 this is what we think is going to cost you 140 00:06:59,810 --> 00:07:02,670 based on that size machine and that much storage, 141 00:07:02,670 --> 00:07:04,930 whether or not you're using Provisioned IOPS, 142 00:07:04,930 --> 00:07:07,320 then we have an estimated cost. 143 00:07:07,320 --> 00:07:10,770 And then of course, we can name the DB instance. 144 00:07:10,770 --> 00:07:13,983 So, the DB instance identifier is a unique name. 145 00:07:16,140 --> 00:07:19,380 It says all DB instances owned by your AWS account 146 00:07:19,380 --> 00:07:20,820 in that region. 147 00:07:20,820 --> 00:07:22,210 So, we're going to call this one, 148 00:07:22,210 --> 00:07:24,010 we might call this one fundamentals, 149 00:07:25,440 --> 00:07:27,960 we might call it fundamentals-dev. 150 00:07:27,960 --> 00:07:29,670 And then somewhere else, 151 00:07:29,670 --> 00:07:31,590 we might have fundamentals production. 152 00:07:31,590 --> 00:07:33,570 So, you typically put that in the name 153 00:07:33,570 --> 00:07:37,970 to help clarify the environment or the project 154 00:07:37,970 --> 00:07:40,475 that it's associated with. 155 00:07:40,475 --> 00:07:44,270 And then of course, we need to specify a master username. 156 00:07:44,270 --> 00:07:47,030 Admin is pretty common, but you could obfuscate that 157 00:07:47,030 --> 00:07:49,950 if you wanted to and call it something else. 158 00:07:49,950 --> 00:07:52,693 And then we can also specify a master password. 159 00:07:54,630 --> 00:07:57,520 And then from there, we'll go ahead and say next. 160 00:07:57,520 --> 00:07:59,750 Then the last step here 161 00:07:59,750 --> 00:08:02,430 is to choose our place in the network. 162 00:08:02,430 --> 00:08:05,760 And of course, we want to choose our data stores VPC. 163 00:08:05,760 --> 00:08:08,690 And then you could see there's only one security group 164 00:08:08,690 --> 00:08:12,510 associated with that VPC, or subnet group, excuse me. 165 00:08:12,510 --> 00:08:15,750 There's only one subnet group associated with that VPC, 166 00:08:15,750 --> 00:08:19,066 which is fundamentals, exactly the one that we just create. 167 00:08:19,066 --> 00:08:22,070 And then we have the option 168 00:08:22,070 --> 00:08:25,680 of making this database publicly accessible. 169 00:08:25,680 --> 00:08:27,890 Now if you were to choose yes, 170 00:08:27,890 --> 00:08:32,180 then the instances would receive a public IP address 171 00:08:32,180 --> 00:08:34,480 and they would be reachable from the internet. 172 00:08:35,721 --> 00:08:38,240 I don't typically like to do that. 173 00:08:38,240 --> 00:08:42,520 There may be a time and a place in your particular scenario 174 00:08:42,520 --> 00:08:45,990 that you feel okay doing that, but I typically don't. 175 00:08:45,990 --> 00:08:48,810 So, I'm gonna say no, I want them to remain private. 176 00:08:48,810 --> 00:08:50,550 And then of course, we can say, 177 00:08:50,550 --> 00:08:53,014 as far as the security groups go, 178 00:08:53,014 --> 00:08:56,170 let's create a new VPC security group 179 00:08:56,170 --> 00:08:58,690 specifically for this database. 180 00:08:58,690 --> 00:09:00,820 Down here under database options, 181 00:09:00,820 --> 00:09:03,800 we could choose to put in a name of the database. 182 00:09:03,800 --> 00:09:07,300 If we were to do that, the RDS service would create 183 00:09:07,300 --> 00:09:10,110 a database on that instance for us. 184 00:09:10,110 --> 00:09:10,990 I don't really need to 185 00:09:10,990 --> 00:09:13,870 because we know that our code will do that. 186 00:09:13,870 --> 00:09:16,550 Our code, as a part of bootstrapping the application, 187 00:09:16,550 --> 00:09:19,850 would probably check for the existence of a database. 188 00:09:19,850 --> 00:09:23,300 If it did not exist, go ahead and create the database, 189 00:09:23,300 --> 00:09:26,090 create tables, populate tables, and so on. 190 00:09:26,090 --> 00:09:29,420 So, that kind of thing, I will leave to my application 191 00:09:29,420 --> 00:09:31,100 or my DBAs to do. 192 00:09:31,100 --> 00:09:33,883 I don't really need RDS to create a database for me. 193 00:09:34,900 --> 00:09:37,020 As far as the port goes, we can change this 194 00:09:37,020 --> 00:09:38,390 to whatever we want. 195 00:09:38,390 --> 00:09:41,210 The default for Postgre is 5432, 196 00:09:41,210 --> 00:09:43,840 but I could obfuscate that. 197 00:09:43,840 --> 00:09:44,930 If I wanted to put it 198 00:09:44,930 --> 00:09:48,263 on a completely different obfuscated port, I could. 199 00:09:50,110 --> 00:09:52,030 Or I could leave it as the default. 200 00:09:52,030 --> 00:09:56,380 We also have access to the ability 201 00:09:56,380 --> 00:09:58,660 to modify parameter groups. 202 00:09:58,660 --> 00:10:03,660 Parameter groups allows us to modify parameters 203 00:10:03,880 --> 00:10:08,050 of the database engine and use that to tune the performance 204 00:10:08,050 --> 00:10:09,260 of the engine. 205 00:10:09,260 --> 00:10:11,858 We don't have any others besides the default, 206 00:10:11,858 --> 00:10:14,630 but we could come back and create. 207 00:10:14,630 --> 00:10:18,550 If we were to go over here to parameter groups, 208 00:10:18,550 --> 00:10:21,290 then we could create a new parameter group 209 00:10:21,290 --> 00:10:25,140 and again tune the engine and then apply that 210 00:10:25,140 --> 00:10:30,140 to the database, reboot the database, and go from there. 211 00:10:30,160 --> 00:10:32,420 We also have the ability down here 212 00:10:32,420 --> 00:10:36,070 to enable IAM DB authentication, 213 00:10:36,070 --> 00:10:39,870 which means that the database user credentials 214 00:10:39,870 --> 00:10:42,293 would be managed through IAM. 215 00:10:43,190 --> 00:10:46,390 If you're using Federation, then that won't be option 216 00:10:46,390 --> 00:10:49,443 because your users will not exist within IAM. 217 00:10:50,704 --> 00:10:53,410 In this particular case, I don't really need to do that. 218 00:10:53,410 --> 00:10:58,330 I'm perfectly happy using the database realm 219 00:10:58,330 --> 00:11:01,060 of authentication to manage users. 220 00:11:01,060 --> 00:11:04,610 As far as encryption, some databases do support that, 221 00:11:04,610 --> 00:11:05,800 but keep in mind 222 00:11:05,800 --> 00:11:08,930 that while the RDS service does support encryption, 223 00:11:08,930 --> 00:11:11,470 it's saying here, you'll notice that it's grayed out, 224 00:11:11,470 --> 00:11:14,270 the selected engine or DB instance class 225 00:11:14,270 --> 00:11:16,240 does not support encryption. 226 00:11:16,240 --> 00:11:18,080 So, not every engine, 227 00:11:18,080 --> 00:11:22,590 not every instance type supports encryption. 228 00:11:22,590 --> 00:11:24,550 As far as backup goes, 229 00:11:24,550 --> 00:11:28,580 RDS will perform automated backups once a day. 230 00:11:28,580 --> 00:11:30,920 And we get to choose how long those backups 231 00:11:30,920 --> 00:11:33,740 are retained for, anywhere from seven days 232 00:11:33,740 --> 00:11:36,190 all the way up to 35 days. 233 00:11:36,190 --> 00:11:39,510 And then we could also select a window. 234 00:11:39,510 --> 00:11:42,090 If we have a particular period of time 235 00:11:42,090 --> 00:11:46,260 during which we see a minimum load on the database, 236 00:11:46,260 --> 00:11:49,200 then we might want to choose that time as the window. 237 00:11:49,200 --> 00:11:50,090 And who knows? 238 00:11:50,090 --> 00:11:52,746 That could be three a.m. UTC, 239 00:11:52,746 --> 00:11:56,330 again whatever makes sense for your particular scenario. 240 00:11:56,330 --> 00:11:58,426 Now as far as monitoring goes, 241 00:11:58,426 --> 00:12:01,840 enhanced monitoring would be very useful in production, 242 00:12:01,840 --> 00:12:03,946 but we probably don't need that 243 00:12:03,946 --> 00:12:07,100 in a development environment. 244 00:12:07,100 --> 00:12:09,380 We probably don't need performance insights 245 00:12:09,380 --> 00:12:11,726 in a development environment either. 246 00:12:11,726 --> 00:12:14,890 Again those two things could be very helpful in production. 247 00:12:14,890 --> 00:12:17,960 Log exports probably would be helpful in development. 248 00:12:17,960 --> 00:12:20,530 If you're trying to work through some kind of complex query 249 00:12:20,530 --> 00:12:23,750 and trying to understand what's going on 250 00:12:23,750 --> 00:12:26,290 between your application, the query, the result set, 251 00:12:26,290 --> 00:12:27,840 and so on, then who knows, 252 00:12:27,840 --> 00:12:30,490 these logs might very well be helpful. 253 00:12:30,490 --> 00:12:33,950 So, we can choose to publish the PostgreSQL log 254 00:12:33,950 --> 00:12:36,050 to CloudWatch Logs. 255 00:12:36,050 --> 00:12:37,290 As far as maintenance goes, 256 00:12:37,290 --> 00:12:42,290 very much like the backup window, we do get to say, 257 00:12:42,880 --> 00:12:47,880 well, yeah, do backups for us and also do minor updates, 258 00:12:48,140 --> 00:12:49,620 minor version updates for us, 259 00:12:49,620 --> 00:12:52,653 and perform them during a particular window. 260 00:12:54,800 --> 00:12:59,800 And so, if we opt into this, then new minor versions 261 00:12:59,800 --> 00:13:04,290 will be automatically applied once they are released. 262 00:13:04,290 --> 00:13:06,840 And again we do get to select that window. 263 00:13:06,840 --> 00:13:07,930 So, we might say, you know what, 264 00:13:07,930 --> 00:13:10,650 I want that to happen on a Saturday 265 00:13:10,650 --> 00:13:15,060 at six a.m. UTC or one p.m. 266 00:13:15,060 --> 00:13:17,130 It could be one p.m. UTC, whatever, 267 00:13:17,130 --> 00:13:20,940 again whatever makes sense for your particular scenario. 268 00:13:20,940 --> 00:13:23,070 And you could say, well, I'll give you two hours 269 00:13:23,070 --> 00:13:24,280 to make that happen. 270 00:13:24,280 --> 00:13:27,690 Very similar to EC2 instances where remember 271 00:13:27,690 --> 00:13:30,370 EC2 instances had that termination protection, 272 00:13:30,370 --> 00:13:32,980 we can also opt into a deletion protection 273 00:13:32,980 --> 00:13:34,900 on the RDS instance. 274 00:13:34,900 --> 00:13:37,760 And it's just that extra layer of security 275 00:13:37,760 --> 00:13:40,830 at that extra safety mechanism to help ensure 276 00:13:40,830 --> 00:13:44,143 that your database can't be accidentally deleted. 277 00:13:45,450 --> 00:13:47,300 Before you can delete the database, 278 00:13:47,300 --> 00:13:51,900 you first have to remove that deletion protection. 279 00:13:51,900 --> 00:13:52,733 All right. 280 00:13:52,733 --> 00:13:54,550 So, now that we've gone through all that, 281 00:13:54,550 --> 00:13:58,680 let's go ahead and say create database. 282 00:13:58,680 --> 00:14:00,070 And it's giving us an error here. 283 00:14:00,070 --> 00:14:00,903 Notice this. 284 00:14:00,903 --> 00:14:03,207 It says, "MasterUsername admin cannot be used 285 00:14:03,207 --> 00:14:06,300 "as it is a reserved word used by the engine." 286 00:14:06,300 --> 00:14:08,440 I did not know that, but that's the beautiful thing 287 00:14:08,440 --> 00:14:10,770 about these kinds of errors. 288 00:14:10,770 --> 00:14:11,890 They help us learn. 289 00:14:11,890 --> 00:14:13,230 And so, that's totally okay. 290 00:14:13,230 --> 00:14:15,050 Let's just go back. 291 00:14:15,050 --> 00:14:17,830 I believe we might have to go back one step, 292 00:14:17,830 --> 00:14:20,430 previous, to admin. 293 00:14:20,430 --> 00:14:23,203 We'll call this one fundamentalsAdmin. 294 00:14:25,570 --> 00:14:29,690 Now that we've saved that, let's go change the password. 295 00:14:29,690 --> 00:14:33,930 Let's go back to make sure that nothing else has changed. 296 00:14:33,930 --> 00:14:36,590 It looks like some of these things have changed here. 297 00:14:36,590 --> 00:14:40,680 Let's just make sure that none of these things have changed. 298 00:14:40,680 --> 00:14:41,700 Backup. 299 00:14:41,700 --> 00:14:46,270 We wanted a particular window that was one UTC, 300 00:14:46,270 --> 00:14:50,950 and we wanted to disable those two things. 301 00:14:50,950 --> 00:14:51,783 Oops. 302 00:14:51,783 --> 00:14:52,616 Disable that. 303 00:14:52,616 --> 00:14:55,000 We wanted the Postgres log to go there. 304 00:14:55,000 --> 00:15:00,000 We wanted this one on Saturday at one p.m. UTC. 305 00:15:02,300 --> 00:15:03,133 All right. 306 00:15:03,133 --> 00:15:04,180 Now let's try that again. 307 00:15:04,180 --> 00:15:05,013 All right. 308 00:15:05,013 --> 00:15:07,920 So, your DB instance is being created. 309 00:15:07,920 --> 00:15:10,020 So, let's go back to RDS. 310 00:15:10,020 --> 00:15:11,670 Let's go to databases. 311 00:15:11,670 --> 00:15:13,400 And there we have it. 312 00:15:13,400 --> 00:15:16,537 We have our fundamentals-dev Postgres 313 00:15:16,537 --> 00:15:19,430 instance being created. 314 00:15:19,430 --> 00:15:20,870 It does take a little while. 315 00:15:20,870 --> 00:15:22,880 You'll see Multi-AZ is no. 316 00:15:22,880 --> 00:15:24,360 That's exactly what we wanted. 317 00:15:24,360 --> 00:15:26,910 It does show the VPC that it belongs to. 318 00:15:26,910 --> 00:15:29,390 And of course, once this is running and in use, 319 00:15:29,390 --> 00:15:32,030 we could get some quick information 320 00:15:32,030 --> 00:15:34,650 about the CPU and current activity as well. 321 00:15:34,650 --> 00:15:37,620 So, we'll give that a moment to finish creating 322 00:15:37,620 --> 00:15:42,080 and then we can take a look at different details. 323 00:15:42,080 --> 00:15:43,890 We can go ahead and drill into the details. 324 00:15:43,890 --> 00:15:45,330 And it's still creating. 325 00:15:45,330 --> 00:15:47,090 And so, you can see here 326 00:15:47,090 --> 00:15:49,860 that we don't have our endpoint and port yet. 327 00:15:49,860 --> 00:15:54,360 Once it finishes creating, then we will be given an endpoint 328 00:15:54,360 --> 00:15:56,890 that we can use to connect to. 329 00:15:56,890 --> 00:15:59,453 So, we'll just give that a few minutes to create. 330 00:16:00,730 --> 00:16:02,510 And there we go. 331 00:16:02,510 --> 00:16:07,510 We have our RDS instance is now available. 332 00:16:09,420 --> 00:16:12,510 And you can see we do get instant information 333 00:16:12,510 --> 00:16:16,890 about the CPU, current activity, zero current connections. 334 00:16:16,890 --> 00:16:20,680 And down here, we get our endpoint and our port. 335 00:16:20,680 --> 00:16:25,680 So, now we can use this endpoint, this is a DNS endpoint 336 00:16:26,700 --> 00:16:29,470 that we can add to our applications. 337 00:16:29,470 --> 00:16:33,610 We don't rely on the IP addresses because those can change 338 00:16:33,610 --> 00:16:35,037 and especially in the case of failover. 339 00:16:35,037 --> 00:16:39,950 So, failover occurs, if this were a Multi-AZ deployment, 340 00:16:39,950 --> 00:16:42,070 failover would occur by just continuing to use 341 00:16:42,070 --> 00:16:46,975 this DNS endpoint and the RDS service would change out 342 00:16:46,975 --> 00:16:48,997 the IP addresses. 343 00:16:48,997 --> 00:16:51,697 And then of course, from here, we can go to monitoring 344 00:16:52,939 --> 00:16:56,850 and see CPU utilization, DB connections, 345 00:16:56,850 --> 00:16:59,360 freeable memory, all of those kinds of things. 346 00:16:59,360 --> 00:17:03,130 So, these kinds of quick access to monitoring 347 00:17:03,130 --> 00:17:04,250 can be really helpful 348 00:17:04,250 --> 00:17:07,200 in doing any kind of performance debugging, 349 00:17:07,200 --> 00:17:11,163 of course along with application logs and whatever else. 350 00:17:13,190 --> 00:17:14,460 Just like that, in a few minutes, 351 00:17:14,460 --> 00:17:17,063 we've created an RDS instance.