< requirement >
input 1 : http://aaa1.testdomain.com
internal service 1 : http://localhost:3000
input 2 : http://aaa2.testdomain.com
internal service 2 : http://localhost:3001
< 1. AWS approach >
1. create LoadBalancers
cf. https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LoadBalancers:
ㅇ create Load Balancer for 1st port
1. Define Load Balancer
Load Balancer name: aaa1-test
Load Balancer Port: 80
Instance Port: 3000
2. Configure Health Check
Ping Path: it's important!
3. Add EC2 Instances: Add EC2 Instances to Load Balancer
4. check out the domain and service
(1st Load Balancer's Description > DNS Name > A Record : ex) aaa1-test-1425011489.us-east-1.elb.amazonaws.com )
- test service : http://aaa1-test-1425011489.us-east-1.elb.amazonaws.com
ㅇ create Load Balancer for 2nd port
1. Define Load Balancer
Load Balancer name: aaa2-test
Load Balancer Port: 80
Instance Port: 3001
2. Configure Health Check
Ping Path: it's important!
3. Add EC2 Instances: Add EC2 Instances to Load Balancer
4. check out the domain and service
(2nd Load Balancer's Description > DNS Name > A Record : ex) aaa2-test-1425011489.us-east-1.elb.amazonaws.com )
- test service : http://aaa2-test-1425011489.us-east-1.elb.amazonaws.com
2. create route record sets
cf. https://console.aws.amazon.com/route53/home?region=us-east-1
Hosted zones > Create Hosted Zone
Domain Name: testdomain.com
ㅇ create domain for 1st Load Balancer
Hosted zones > Record Sets > create record set
name: aaa1.testdomain.com
cname: 1st Load Balancer's domain name ex) aaa1-test-1425011489.us-east-1.elb.amazonaws.com
ㅇ create domain for 2nd Load Balancer
Hosted zones > Record Sets > create record set
name: aaa2.testdomain.com
cname: 2nd Load Balancer's domain name ex) aaa2-test-1425011489.us-east-1.elb.amazonaws.com
< 2. Webserver approach - nginx >
sudo -i
apt-get update
apt-get install -y nginx
apt-get update
< Production >
* aws route 53 domain setting or get dns service
aaa1.testdomain.com. xxx.xxx.xxx.xxx
aaa2.testdomain.com. xxx.xxx.xxx.xxx
/etc/nginx> sudo vi nginx.conf
server {
listen 80;
server_name aaa1.testdomain.com;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://localhost:3000;
index index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name aaa2.testdomain.com;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://localhost:3001;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
$ sudo nginx
$ sudo nginx -s stop
input 1 : http://aaa1.testdomain.com
internal service 1 : http://localhost:3000
input 2 : http://aaa2.testdomain.com
internal service 2 : http://localhost:3001
< 1. AWS approach >
1. create LoadBalancers
cf. https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LoadBalancers:
ㅇ create Load Balancer for 1st port
1. Define Load Balancer
Load Balancer name: aaa1-test
Load Balancer Port: 80
Instance Port: 3000
2. Configure Health Check
Ping Path: it's important!
3. Add EC2 Instances: Add EC2 Instances to Load Balancer
4. check out the domain and service
(1st Load Balancer's Description > DNS Name > A Record : ex) aaa1-test-1425011489.us-east-1.elb.amazonaws.com )
- test service : http://aaa1-test-1425011489.us-east-1.elb.amazonaws.com
ㅇ create Load Balancer for 2nd port
1. Define Load Balancer
Load Balancer name: aaa2-test
Load Balancer Port: 80
Instance Port: 3001
2. Configure Health Check
Ping Path: it's important!
3. Add EC2 Instances: Add EC2 Instances to Load Balancer
4. check out the domain and service
(2nd Load Balancer's Description > DNS Name > A Record : ex) aaa2-test-1425011489.us-east-1.elb.amazonaws.com )
- test service : http://aaa2-test-1425011489.us-east-1.elb.amazonaws.com
2. create route record sets
cf. https://console.aws.amazon.com/route53/home?region=us-east-1
Hosted zones > Create Hosted Zone
Domain Name: testdomain.com
ㅇ create domain for 1st Load Balancer
Hosted zones > Record Sets > create record set
name: aaa1.testdomain.com
cname: 1st Load Balancer's domain name ex) aaa1-test-1425011489.us-east-1.elb.amazonaws.com
ㅇ create domain for 2nd Load Balancer
Hosted zones > Record Sets > create record set
name: aaa2.testdomain.com
cname: 2nd Load Balancer's domain name ex) aaa2-test-1425011489.us-east-1.elb.amazonaws.com
< 2. Webserver approach - nginx >
sudo -i
apt-get update
apt-get install -y nginx
apt-get update
< Production >
* aws route 53 domain setting or get dns service
aaa1.testdomain.com. xxx.xxx.xxx.xxx
aaa2.testdomain.com. xxx.xxx.xxx.xxx
/etc/nginx> sudo vi nginx.conf
server {
listen 80;
server_name aaa1.testdomain.com;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://localhost:3000;
index index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name aaa2.testdomain.com;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://localhost:3001;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
$ sudo nginx
$ sudo nginx -s stop
Comments
Post a Comment