WEBVTT

1
00:00.000 --> 00:04.080
In this video, we're going to create a virtual service and associate that with

2
00:04.080 --> 00:05.280
a virtual IP address.

3
00:05.280 --> 00:10.880
And I recommend that we start right down here on the 192.168.1 segment because

4
00:10.880 --> 00:11.360
that's where my

5
00:11.360 --> 00:15.030
management computer is. It'll be super easy for me to hit that virtual IP

6
00:15.030 --> 00:16.480
address and test it.

7
00:16.480 --> 00:20.140
So for the virtual IP address, we'll place it over here on the 192.168.1

8
00:20.140 --> 00:20.560
network.

9
00:20.560 --> 00:24.230
And for the virtual service, let's create a virtual service that's going to

10
00:24.230 --> 00:25.200
represent

11
00:25.200 --> 00:30.160
these three backend servers that are over here on VLAN 5. So to create the new
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

11
00:25.200 --> 00:30.160
these three backend servers that are over here on VLAN 5. So to create the new

12
00:30.160 --> 00:30.960
virtual service

13
00:30.960 --> 00:34.930
here on the controller interface, we're going to click on the applications tab.

14
00:34.930 --> 00:35.600
And then here at

15
00:35.600 --> 00:39.580
the dashboard, we have an option for create virtual service or if we happen to

16
00:39.580 --> 00:40.720
be looking at virtual

17
00:40.720 --> 00:44.070
services here, there's also a button at the top right for creating a new

18
00:44.070 --> 00:45.760
virtual service. So we'll

19
00:45.760 --> 00:49.520
click here on create virtual service. And from the dropdown, we have a couple

20
00:49.520 --> 00:50.160
options. We have

21
00:50.160 --> 00:54.750
basic or advanced and either way, we'll get the job done. Let's go ahead and we

22
00:54.750 --> 00:55.360
did basic in the

23
00:55.360 --> 00:58.780
last set of videos. Let's go ahead and use advanced setup. So the first

24
00:58.780 --> 01:00.560
question is asking us which
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

24
00:58.780 --> 01:00.560
question is asking us which

25
01:00.560 --> 01:04.450
cloud and let me go ahead and move this over to the left for a moment here. So

26
01:04.450 --> 01:05.600
the cloud we want is

27
01:05.600 --> 01:09.770
the NSX cloud four and then we'll click on next. For the virtual service, let's

28
01:09.770 --> 01:11.120
call this web

29
01:11.120 --> 01:17.460
servers 192-5. They don't remind me when I see that service exactly what it's

30
01:17.460 --> 01:18.480
doing. So we're

31
01:18.480 --> 01:24.290
going to place this over here on the 192-168-1 network and I'll use .5 as the

32
01:24.290 --> 01:25.520
virtual IP address.

33
01:25.520 --> 01:29.200
So for the virtual IP address, we'll use the dropdown and we don't have one

34
01:29.200 --> 01:30.160
created. So we'll go ahead
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

34
01:29.200 --> 01:30.160
created. So we'll go ahead

35
01:30.160 --> 01:33.730
and create a virtual service virtual IP address. And let me move this over to

36
01:33.730 --> 01:34.800
the right a little bit

37
01:34.800 --> 01:38.500
there that way we can still see the topology. So here for the virtual IPs, we

38
01:38.500 --> 01:39.920
'll click on add

39
01:39.920 --> 01:43.240
and let's go ahead and say static and put in the IP address that we want to use

40
01:43.240 --> 01:47.280
, which is 192.168.1.5,

41
01:47.280 --> 01:51.340
just like that. And then here it's asking for the placement, meaning where do

42
01:51.340 --> 01:52.240
you want to have this

43
01:52.240 --> 01:56.240
virtual IP address. Now we went over here on this network, the 192.168-1

44
01:56.240 --> 01:57.840
network. So if we click on

45
01:57.840 --> 02:02.240
add right here and then use the dropdown, we want to place it right here. Now
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

45
01:57.840 --> 02:02.240
add right here and then use the dropdown, we want to place it right here. Now

46
02:02.240 --> 02:03.120
also because we took

47
02:03.120 --> 02:06.690
the earlier step of identifying the subnet associated with that external

48
02:06.690 --> 02:08.000
network, that's why it's showing

49
02:08.000 --> 02:10.940
up right here. So from here we can use the dropdowns like that subnet and we

50
02:10.940 --> 02:12.080
are good to go. So again,

51
02:12.080 --> 02:15.770
this is for the placement of the virtual IP address over on this network

52
02:15.770 --> 02:16.880
segment. And then we'll click

53
02:16.880 --> 02:21.190
on save, scroll down a little bit, just confirm our work. Fantastic. Click on

54
02:21.190 --> 02:22.080
save again,

55
02:22.080 --> 02:25.780
scroll down a little bit, just confirm once again and click on save. So that

56
02:25.780 --> 02:26.880
was all about setting up

57
02:26.880 --> 02:31.380
that virtual services IP address that's now associated with this virtual
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

57
02:26.880 --> 02:31.380
that virtual services IP address that's now associated with this virtual

58
02:31.380 --> 02:32.640
service. So for the

59
02:32.640 --> 02:36.530
profiles, these are the two default and for HTTP services, they'll be great.

60
02:36.530 --> 02:37.440
But also just be

61
02:37.440 --> 02:41.440
aware, there's tons of other options here, including web application firewall

62
02:41.440 --> 02:43.120
and bot detection policy

63
02:43.120 --> 02:46.960
and more. And because the service engine, who is actually doing the proxying

64
02:46.960 --> 02:47.760
and is in the middle of

65
02:47.760 --> 02:51.570
that traffic flow between the client and the backend server, it's also a

66
02:51.570 --> 02:53.200
perfect opportunity to do

67
02:53.200 --> 02:56.520
additional analysis and control of that traffic with things like a web

68
02:56.520 --> 02:58.000
application firewall and so

69
02:58.000 --> 03:02.510
forth. So we'll continue by scrolling down, we want to use port 80, that's
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

69
02:58.000 --> 03:02.510
forth. So we'll continue by scrolling down, we want to use port 80, that's

70
03:02.510 --> 03:04.240
perfect for HTTP services.

71
03:04.240 --> 03:08.660
And then for the pool, this is asking us for a pool of servers on the backend.

72
03:08.660 --> 03:09.360
So we don't yet

73
03:09.360 --> 03:12.670
have a pool of servers defined. So we'll go ahead and use the drop down here

74
03:12.670 --> 03:13.760
and say, let's create a

75
03:13.760 --> 03:17.320
pool. So for the name of this pool, I'm going to call it web servers VLAN five.

76
03:17.320 --> 03:18.400
That way, when I see

77
03:18.400 --> 03:22.300
that name of that pool, I'll know it's representing these servers right here.

78
03:22.300 --> 03:23.520
And then as we continue

79
03:23.520 --> 03:27.580
to scroll down, let me also while I'm here, let's go ahead and modify the load

80
03:27.580 --> 03:28.960
balance algorithm.

81
03:28.960 --> 03:32.160
So what I'd like to do for the demo is I'd like to use ground robin. And that
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

81
03:28.960 --> 03:32.160
So what I'd like to do for the demo is I'd like to use ground robin. And that

82
03:32.160 --> 03:32.800
way, when we start

83
03:32.800 --> 03:36.560
testing connectivity to the virtual IP address, the service engine who's doing

84
03:36.560 --> 03:37.360
the actual data

85
03:37.360 --> 03:42.180
plane function should be rotating across those three servers at 51 52 and 53 in

86
03:42.180 --> 03:43.280
the background.

87
03:43.280 --> 03:47.280
I also have modified the homepage for each of these web servers just for our

88
03:47.280 --> 03:48.160
own benefits. We can

89
03:48.160 --> 03:52.570
see exactly which real server we're going to. So if we scroll down here, it's

90
03:52.570 --> 03:53.120
asking about

91
03:53.120 --> 03:56.810
placement of the server network regarding the pool that we're now creating. So

92
03:56.810 --> 03:57.440
these servers

93
03:57.440 --> 04:02.120
are all over here on VLAN five. So we want to tell the load balancer exactly
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

93
03:57.440 --> 04:02.120
are all over here on VLAN five. So we want to tell the load balancer exactly

94
04:02.120 --> 04:03.200
where they are.

95
04:03.200 --> 04:06.720
So we'll click on add and for the server placement, we're going to go ahead and

96
04:06.720 --> 04:08.240
select VLAN five.

97
04:08.240 --> 04:11.360
And then we'll also select the subnet that they're on. And again, that's coming

98
04:11.360 --> 04:12.560
up because we can

99
04:12.560 --> 04:16.970
figure that as an attribute of that network. So with that selected, then we'll

100
04:16.970 --> 04:17.680
scroll down.

101
04:17.680 --> 04:22.040
And then for these three servers, they're 51 52 and 53. So we'll go ahead and

102
04:22.040 --> 04:22.880
put that information

103
04:22.880 --> 04:33.120
in 10.5.0.51 through 10.5.0.53. And we'll click on add and that added those
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

103
04:22.880 --> 04:33.120
in 10.5.0.51 through 10.5.0.53. And we'll click on add and that added those

104
04:33.120 --> 04:34.000
three servers.

105
04:34.000 --> 04:38.440
Fantastic. And then there's a ton of other options that we can specify as well.

106
04:38.440 --> 04:39.200
Oh, and you know what,

107
04:39.200 --> 04:42.880
there isn't a health monitor by default for this new pool that we're creating.

108
04:42.880 --> 04:44.080
So the health monitor

109
04:44.080 --> 04:48.370
is the mechanism for checking on the status of those servers to make sure they

110
04:48.370 --> 04:49.680
're up and responsive.

111
04:49.680 --> 04:53.410
So for this pool where these three servers are, let's go ahead and add a health

112
04:53.410 --> 04:54.160
monitor.

113
04:54.160 --> 04:58.280
So we'll click on add. And in the previous skill, when we selected basic, it

114
04:58.280 --> 04:59.600
actually put in

115
04:59.600 --> 05:04.330
a default health monitor for us. So from the health monitor choices here, let's
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

115
04:59.600 --> 05:04.330
a default health monitor for us. So from the health monitor choices here, let's

116
05:04.330 --> 05:06.240
go ahead and choose.

117
05:06.240 --> 05:10.000
We could do ping, but that's kind of dangerous because let's say we have one of

118
05:10.000 --> 05:10.480
these servers,

119
05:10.480 --> 05:16.350
let's say dot 53 is running its web service. And then unfortunately, that

120
05:16.350 --> 05:17.520
application on that

121
05:17.520 --> 05:22.290
server crashes. So the server is reachable with a ping, but unfortunately, can

122
05:22.290 --> 05:23.600
't serve up HTTP

123
05:23.600 --> 05:27.480
content. That's not very good. Because then the customer who connects and is

124
05:27.480 --> 05:28.320
proxy back to

125
05:28.320 --> 05:32.520
dot 53 is going to have an error. So what we want to do is use a technique
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

125
05:28.320 --> 05:32.520
dot 53 is going to have an error. So what we want to do is use a technique

126
05:32.520 --> 05:33.520
where we can actually

127
05:33.520 --> 05:37.600
verify that the service is actually running when possible. So if we do system

128
05:37.600 --> 05:38.400
HTTP, it's actually

129
05:38.400 --> 05:44.130
verifying whether or not that HTTP service is actually running. For example,

130
05:44.130 --> 05:45.200
here is a very

131
05:45.200 --> 05:48.960
rudimentary way of demonstrating how we could check to see whether or not a

132
05:48.960 --> 05:49.680
service is running.

133
05:49.680 --> 05:52.840
So here at a command prompt, so I'm at my management computer and I've got a

134
05:52.840 --> 05:55.600
route with the T1 right

135
05:55.600 --> 06:00.420
as my next hop to get to 10 anything. So if I use this command curl, which is
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

135
05:55.600 --> 06:00.420
as my next hop to get to 10 anything. So if I use this command curl, which is

136
06:00.420 --> 06:01.040
an acronym for

137
06:01.040 --> 06:05.450
a command line URL dash I, and then I put in the URL we're trying to reach,

138
06:05.450 --> 06:06.960
this is the third server

139
06:06.960 --> 06:11.440
right there. And then I pressed enter that confirms that HTTP services are

140
06:11.440 --> 06:12.000
running.

141
06:12.000 --> 06:15.930
Because if I went to an address that didn't exist, like for example, 55, which

142
06:15.930 --> 06:16.960
isn't a server running

143
06:16.960 --> 06:21.850
HTTP impressed enter, it's just going to time out. So that test that we just

144
06:21.850 --> 06:23.200
did is very similar

145
06:23.200 --> 06:26.540
to what the health monitor is going to do. And it checks on the back end to

146
06:26.540 --> 06:27.440
verify that each of

147
06:27.440 --> 06:31.740
those servers in the pool is up and active and ready to serve up content. All
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

147
06:27.440 --> 06:31.740
those servers in the pool is up and active and ready to serve up content. All

148
06:31.740 --> 06:32.560
right, so with that

149
06:32.560 --> 06:36.010
in place, I'm going to go ahead and take all the other defaults and click on

150
06:36.010 --> 06:37.760
save. So as we continue

151
06:37.760 --> 06:41.180
configuring and then click on next to next next, it's going to walk us through

152
06:41.180 --> 06:41.840
first of all the

153
06:41.840 --> 06:46.640
settings here, and then step two would be policies and then analytics. And then

154
06:46.640 --> 06:47.280
if I move this to

155
06:47.280 --> 06:51.370
Paul's yellow way a little bit, then advanced. So here for this web service on

156
06:51.370 --> 06:52.480
the analytics tab,

157
06:52.480 --> 06:56.480
I'm going to go ahead and say list log all headers, including non significant

158
06:56.480 --> 06:57.520
logs. And I'm going to

159
06:57.520 --> 07:01.480
say please do that forever. So put a zero there, it's not going to time out.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

159
06:57.520 --> 07:01.480
say please do that forever. So put a zero there, it's not going to time out.

160
07:01.480 --> 07:02.720
That means infinite.

161
07:02.720 --> 07:05.120
So for the lab, that's going to be great because it's going to give us more

162
07:05.120 --> 07:05.920
details that we can

163
07:05.920 --> 07:09.640
look at in a production environment. We may not want to have the non

164
07:09.640 --> 07:11.600
significant logs enabled,

165
07:11.600 --> 07:15.580
because on a very busy load balancer, that could be thousands and thousands of

166
07:15.580 --> 07:16.640
transactions.

167
07:16.640 --> 07:20.630
So for the lab, I'm going to enable both of them as an attribute of our virtual

168
07:20.630 --> 07:21.600
service and click

169
07:21.600 --> 07:26.140
on next. And this is on the advanced section here for the configuration. I'm

170
07:26.140 --> 07:26.480
going to leave

171
07:26.480 --> 07:30.190
everything at their default, click on save, and boom, it's now showing us the
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

171
07:26.480 --> 07:30.190
everything at their default, click on save, and boom, it's now showing us the

172
07:30.190 --> 07:31.680
details for that virtual

173
07:31.680 --> 07:35.440
service. So if we hover here on the actual name of the virtual service, it's

174
07:35.440 --> 07:36.240
showing us that it's

175
07:36.240 --> 07:40.610
in the process of creating it. It's about 10 seconds in. Here's the service

176
07:40.610 --> 07:41.680
port. Currently,

177
07:41.680 --> 07:45.690
there is no service engine assigned to it. And that's because at this very

178
07:45.690 --> 07:46.960
moment, the controller

179
07:46.960 --> 07:51.140
is actually deploying the services engine over here on VLAN six. And we can

180
07:51.140 --> 07:52.320
verify that by going

181
07:52.320 --> 07:56.270
over to vCenter to the vSphere client and take a look. So back at the vSphere

182
07:56.270 --> 07:57.280
client, let's go

183
07:57.280 --> 08:02.390
ahead and go to our inventory. And sure enough, there's our little SE being
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

183
07:57.280 --> 08:02.390
ahead and go to our inventory. And sure enough, there's our little SE being

184
08:02.390 --> 08:04.160
deployed right now.

185
08:04.160 --> 08:07.830
And if we look at recent tasks, and I'm going to say, please just show us

186
08:07.830 --> 08:08.800
running tasks,

187
08:08.800 --> 08:14.080
it's in the process right now of deploying from the content library, the

188
08:14.080 --> 08:14.960
service engines. And I

189
08:14.960 --> 08:19.430
say service engines, because it is deploying two of them, one ending in XRI and

190
08:19.430 --> 08:21.520
one ending in YPN.

191
08:21.520 --> 08:25.360
Now here's also what we could expect once it's done deploying the services

192
08:25.360 --> 08:26.160
engine. There's going

193
08:26.160 --> 08:30.010
to be one of those services engine that's responsible for that VIP over here.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

193
08:26.160 --> 08:30.010
to be one of those services engine that's responsible for that VIP over here.

194
08:30.010 --> 08:31.120
So the service engine

195
08:31.120 --> 08:35.120
currently has a connection here to VLAN six. That's its management connection.

196
08:35.120 --> 08:36.080
But when it's done

197
08:36.080 --> 08:40.040
with the config, it'll also have a logical interface connected over here to

198
08:40.040 --> 08:40.720
this segment,

199
08:40.720 --> 08:46.600
the 192.161 network. It'll also have another interface connected over here to V

200
08:46.600 --> 08:47.440
LAN five,

201
08:47.440 --> 08:51.350
because it is actually doing the data plane work between the two. So while that

202
08:51.350 --> 08:52.400
's being deployed,

203
08:52.400 --> 08:56.170
let's also just take a quick peek at the controller to see what that looks like

204
08:56.170 --> 08:56.960
from the controller

205
08:56.960 --> 09:01.040
interface. So back at the controller, if we went to dashboard currently shows
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

205
08:56.960 --> 09:01.040
interface. So back at the controller, if we went to dashboard currently shows

206
09:01.040 --> 09:01.920
the web servers

207
09:01.920 --> 09:05.520
192 dash five, that's the name of the virtual service we hover here. If we

208
09:05.520 --> 09:06.400
hover right here,

209
09:06.400 --> 09:09.740
showing us that it's currently in the process of getting all that up and

210
09:09.740 --> 09:10.880
running, including the

211
09:10.880 --> 09:15.010
creation of that service engine in vSphere, that's going to be doing the actual

212
09:15.010 --> 09:16.080
data plane work

213
09:16.080 --> 09:20.220
of proxying between clients as they connect to this IP address over here at dot

214
09:20.220 --> 09:20.560
five.

215
09:20.560 --> 09:24.720
And one of the available servers on the back end. So again, that may take just

216
09:24.720 --> 09:25.600
a moment or two to

217
09:25.600 --> 09:28.840
complete and here in the virtual services view, if you're looking at that

218
09:28.840 --> 09:29.760
virtual service once

219
09:29.760 --> 09:32.840
again, we can hover right here. And that provides this information as well,
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

219
09:29.760 --> 09:32.840
again, we can hover right here. And that provides this information as well,

220
09:32.840 --> 09:34.080
including the fact that

221
09:34.080 --> 09:37.550
that's currently being created. So once it's in place, and there's an assigned

222
09:37.550 --> 09:38.400
service engine,

223
09:38.400 --> 09:42.200
it should show up right over here as well. So here's what I propose we do. Let

224
09:42.200 --> 09:43.280
's give this a few

225
09:43.280 --> 09:48.320
minutes to complete. And when it does, in the next video, let's do some testing

226
09:48.320 --> 09:49.280
and verification to

227
09:49.280 --> 09:52.800
make sure that when a client connects to that virtual IP address over here at

228
09:52.800 --> 09:53.680
dot five,

229
09:53.680 --> 09:57.540
that they're connecting on the back end to one of these servers over here. So I

230
09:57.540 --> 09:57.920
'll see you in the

231
09:57.920 --> 10:00.400
next video as we do our testing together.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

231
09:57.920 --> 10:00.400
next video as we do our testing together.
