AWS EC2 에서 user data 를 통해서 tomcat 2개를 구동해야하는 이슈가 생겼습니다.
해서 테스트를 진행하기로 하였다.
1. Amazon Linux 를 Launch 합니다.

2. Amazon Linux 에 Tomcat 을 2개 설치 합니다.
[root@ip-10-90-10-162 ~]# rpm -qa | grep java
java-1.7.0-openjdk-1.7.0.151-2.6.11.0.74.amzn1.x86_64
tzdata-java-2017b-1.69.amzn1.noarch
javapackages-tools-0.9.1-1.5.amzn1.noarch
[root@ip-10-90-10-162 ~]#
Test 용이라 OpenJDK 도 상관 없습니다.
Wget 을 통해 Tomcat 을 다운받습니다.
[root@ip-10-90-10-162 ~]# mkdir /root/src
[root@ip-10-90-10-162 ~]# wget -P /root/src/ http://mirror.navercorp.com/apache/tomcat/tomcat-7/v7.0.82/bin/apache-tomcat-7.0.82.tar.gz
[root@ip-10-90-10-162 src]# tar xfz /root/src/apache-tomcat-7.0.82
[root@ip-10-90-10-162 src]# ap -ap /root/src/apache-tomcat-7.0.82 /usr/local/tomcat_01
[root@ip-10-90-10-162 src]# ap -ap /root/src/apache-tomcat-7.0.82 /usr/local/tomcat_02
Tomcat 을 두개 올려야 하기에 Tomcat 구동시 올라오는 Port 를 안겹치게 설정해줍니다.
[root@ip-10-90-10-162 src]# vim /usr/local/tomcat_02/conf/server.xml
22 <Server port="8015" shutdown="SHUTDOWN">
71 <Connector port="8090" protocol="HTTP/1.1"
93 <Connector port="8019" protocol="AJP/1.3" redirectPort="8443" />
shutdown 시 사용될 Port 8005 에 10을 더해서 8015, HTTP 통신포트인 8080을 8090 으로 AJP 통신포트인 8009 를 8019 로 변경하였습니다.
server.xml Default 내용에서 포트 관련된 내용만 수정한것 입니다.
이제는 Tomcat 이 잘 올라오는지 확인해봅시다.
[root@ip-10-90-10-162 src]# /usr/local/tomcat_01/bin/catalina.sh start
Using CATALINA_BASE: /usr/local/tomcat_01
Using CATALINA_HOME: /usr/local/tomcat_01
Using CATALINA_TMPDIR: /usr/local/tomcat_01/temp
Using JRE_HOME: /usr/lib/jvm/jre
Using CLASSPATH: /usr/local/tomcat_01/bin/bootstrap.jar:/usr/local/tomcat_01/bin/tomcat-juli.jar
Tomcat started.
[root@ip-10-90-10-162 src]# netstat -lpn | grep java
tcp 0 0 ::ffff:127.0.0.1:8005 :::* LISTEN 2828/java
tcp 0 0 :::8009 :::* LISTEN 2828/java
tcp 0 0 :::8080 :::* LISTEN 2828/java
[root@ip-10-90-10-162 src]#
[root@ip-10-90-10-162 src]# /usr/local/tomcat_02/bin/catalina.sh start
Using CATALINA_BASE: /usr/local/tomcat_02
Using CATALINA_HOME: /usr/local/tomcat_02
Using CATALINA_TMPDIR: /usr/local/tomcat_02/temp
Using JRE_HOME: /usr/lib/jvm/jre
Using CLASSPATH: /usr/local/tomcat_02/bin/bootstrap.jar:/usr/local/tomcat_02/bin/tomcat-juli.jar
Tomcat started.
[root@ip-10-90-10-162 src]# netstat -lpn | grep java
tcp 0 0 ::ffff:127.0.0.1:8005 :::* LISTEN 2828/java
tcp 0 0 :::8009 :::* LISTEN 2828/java
tcp 0 0 ::ffff:127.0.0.1:8015 :::* LISTEN 2874/java
tcp 0 0 :::8080 :::* LISTEN 2828/java
tcp 0 0 :::8019 :::* LISTEN 2874/java
tcp 0 0 :::8090 :::* LISTEN 2874/java
[root@ip-10-90-10-162 src]#
tomcat_01 에 3개 tomcat_02 3개 정상적으로 올라왔습니다.
혹시나 startup.sh 를 통해서도 정삭적으로 올라오는지 확인해봅시다.
[root@ip-10-90-10-162 src]# /usr/local/tomcat_01/bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat_01
Using CATALINA_HOME: /usr/local/tomcat_01
Using CATALINA_TMPDIR: /usr/local/tomcat_01/temp
Using JRE_HOME: /usr/lib/jvm/jre
Using CLASSPATH: /usr/local/tomcat_01/bin/bootstrap.jar:/usr/local/tomcat_01/bin/tomcat-juli.jar
Tomcat started.
[root@ip-10-90-10-162 src]# /usr/local/tomcat_02/bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat_02
Using CATALINA_HOME: /usr/local/tomcat_02
Using CATALINA_TMPDIR: /usr/local/tomcat_02/temp
Using JRE_HOME: /usr/lib/jvm/jre
Using CLASSPATH: /usr/local/tomcat_02/bin/bootstrap.jar:/usr/local/tomcat_02/bin/tomcat-juli.jar
Tomcat started.
[root@ip-10-90-10-162 src]# netstat -lpn | grep java
tcp 0 0 ::ffff:127.0.0.1:8005 :::* LISTEN 2968/java
tcp 0 0 :::8009 :::* LISTEN 2968/java
tcp 0 0 ::ffff:127.0.0.1:8015 :::* LISTEN 3014/java
tcp 0 0 :::8080 :::* LISTEN 2968/java
tcp 0 0 :::8019 :::* LISTEN 3014/java
tcp 0 0 :::8090 :::* LISTEN 3014/java
[root@ip-10-90-10-162 src]#
잘 올라왔습니다.
이제 ec2 의 user data 를 통해서 올려보도록 하겠습니다.
User Data 를 등록 하였습니다.
정상적으로 2개의 Tomcat 이 올라오는지 확인을 해봅시다.
[root@ip-10-90-10-128 ~]# netstat -lpn | grep java
tcp 0 0 ::ffff:127.0.0.1:8005 :::* LISTEN 2672/java
tcp 0 0 :::8009 :::* LISTEN 2672/java
tcp 0 0 ::ffff:127.0.0.1:8015 :::* LISTEN 2687/java
tcp 0 0 :::8080 :::* LISTEN 2672/java
tcp 0 0 :::8019 :::* LISTEN 2687/java
tcp 0 0 :::8090 :::* LISTEN 2687/java
[root@ip-10-90-10-128 ~]#
이것으로 간단한 테스트 완료하였습니다.