์ด์ ๊ธ์์ ์ด์ด์ง๋๋ค
8. WAS
8-1 ๋ณด์๊ทธ๋ฃน ์์ฑ
8-2 Bastion ๋ณด์๊ทธ๋ฃน ์์๋ฐ์ด๋ ์ถ๊ฐ
SSH WAS ๋ณด์๊ทธ๋ฃน์ ์ถ๊ฐํ๋ค
8-3 ์ธ์คํด์ค ์์ฑ
์ธ์คํด์ค ์ฌ์๊ณผ ์๋ธ๋ท์ ์ฃผ์ํ์ฌ 2๊ฐ์ WAS ์๋ฒ๋ฅผ ์์ฑํ๋ค
9. Tomcat ์ค์น
- root ๊ณ์ ์ ํ
$ sudo su -
- java ์ค์น
# yum install java-1.8*
- ๋ฒ์ ํ์ธ
# java -version
openjdk version "1.8.0_432"
OpenJDK Runtime Environment Corretto-8.432.06.1 (build 1.8.0_432-b06)
OpenJDK 64-Bit Server VM Corretto-8.432.06.1 (build 25.432-b06, mixed mode)
# javac -version
javac 1.8.0_432
- tomcat ์์คํ์ผ ๋ค์ด๋ก๋
# sudo wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.97/bin/apache-tomcat-9.0.97.tar.gz
- ํ์ผ ์์ถ ํด์
# tar xvfz apache-tomcat-9.0.97.tar.gz
- tomcat ํด๋์์ฑ & ์ด๋
# mv apache-tomcat-9.0.97 /usr/local/tomcat9.0
9-1 ํ๊ฒฝ๋ณ์ ์ค์
# cd /usr/lib/jvm/
# ls
java jre
java-1.8.0 jre-1.8.0
java-1.8.0-amazon-corretto jre-1.8.0-openjdk
java-1.8.0-amazon-corretto.x86_64 jre-openjdk
java-1.8.0-openjdk
Java ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ Javac ๋ช ๋ น์ด๋ฅผ ์ด๋์๋ ์ฌ์ฉํ ์ ์๋๋ก ์ค์ ํด์ผ ํ๋ค
java-1.8.0-amazon-corretto.x86_64๋ฅผ ํ๊ฒฝ๋ณ์ ๊ฒฝ๋ก๋ก ์ง์ ํ๋ค
# vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64
export CATALINA_HOME=/usr/local/tomcat9.0
export CLASSPATH=.:$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/lib/jsp-api.jar:$CATALINA_HOME/lib/servlet-api.jar
export JDK_HOME=$JAVA_HOME
export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
ํ๊ฒฝ๋ณ์๋ฅผ ๊ด๋ฆฌํ๋ ํ์ผ /etc/profile์์ ๋งจ๋ง์ง๋ง์ค์ ํ๊ฒฝ๋ณ์๋ฅผ ์ถ๊ฐํ๋ค
Path: ์ด๋์๋ Javac ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ์ค์ ํ๋ ๊ฒ์ด๋ค
Class: Java ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ์ด์ ํ๋ ๊ฒ์ด๋ค
# source /etc/profile
# echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-amazon-corretto.x86_64
# echo $CATALINA_HOME
/usr/local/tomcat9.0
ํ๊ฒฝ์ค์ ํ์ผ์ ๋ก๋ํ ํ ์ ์ฉ์ด ๋์๋์ง ํ์ธํ๋ค
9-2 server.xml ์์
# vi /usr/local/tomcat9.0/conf/server.xml
- ์์ ์
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxParameterCount="1000"
/>
- ์์ ํ : UTF-8 ์ถ๊ฐํ๊ธฐ
<Connector port="8080" protocol="HTTP/1.1"
URIEncoding="UTF-8"
connectionTimeout="20000"
redirectPort="8443"
maxParameterCount="1000"
/>
9-3 Tomcat ์คํ
# cd /usr/local/tomcat8.5/bin
- ๊ถํ ๋ถ์ฌ ์
# ls -al
-rwxr-x---. 1 root root 1902 Nov 6 19:55 shutdown.sh
-rwxr-x---. 1 root root 1904 Nov 6 19:55 startup.sh
# chmod +x startup.sh
# chmod +x shutdown.sh
- ๊ถํ ๋ถ์ฌ ํ
# ls -al
-rwxr-x--x. 1 root root 1902 Nov 6 19:55 shutdown.sh
-rwxr-x--x. 1 root root 1904 Nov 6 19:55 startup.sh
- Tomcat ์์
# /usr/local/tomcat9.0/bin/startup.sh
- ์ค์ง ๋ช
๋ น
# /usr/local/tomcat9.0/bin/shutdown.sh
๊ถํ ๋ถ์ฌ ํ Tomcat์ ์์ํ๋ค
9-4 Tomcat ์๋น์ค ๋ฑ๋ก
- tomcat.service ํ์ผ์ ์์ฑ
# vi /usr/lib/systemd/system/tomcat.service
[Unit]
Description=tomcat 9.0
After=network.target syslog.target
[Service]
Type=forking
User=root
Group=root
# ์คํ ํ์ผ ๊ฒฝ๋ก
ExecStart=/usr/local/tomcat9.0/bin/startup.sh
# ์ค์ง ํ์ผ ๊ฒฝ๋ก
ExecStop=/usr/local/tomcat9.0/bin/shutdown.sh
# ๋๋ ํ ๋ฆฌ ๊ถํ 770 && ์๋ก์ด ํ์ผ ๊ถํ 660
UMask=0007
[Install]
WantedBy=multi-user.target
Tomcat ์๋น์ค๋ฅผ Systemd์ ๋ฑ๋กํ๋ค
9-5 ๋ฐ๋ชฌ ์ฌ๋ถํ
# systemctl daemon-reload
# systemctl enable tomcat
# systemctl start tomcat
# systemctl status tomcat.service
โ tomcat.service - tomcat 9.0
Loaded: loaded (/usr/lib/systemd/system/tomcat.service; enabled; preset: disabled)
Active: active (running) since Sun 2024-11-17 15:33:13 UTC; 2s ago
Process: 29054 ExecStart=/usr/local/tomcat9.0/bin/startup.sh (code=exited, status=0/SUCCESS)
Main PID: 29068 (java)
Tasks: 13 (limit: 2321)
Memory: 67.5M
CPU: 2.010s
CGroup: /system.slice/tomcat.service
โโ29068 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat9.0/conf/logging.properties -Djava.util.logging.manager=org.apache.>
Nov 17 15:33:13 ip-10-0-118-76.ap-northeast-2.compute.internal systemd[1]: Starting tomcat.service - tomcat 9.0...
Nov 17 15:33:13 ip-10-0-118-76.ap-northeast-2.compute.internal startup.sh[29054]: Tomcat started.
Nov 17 15:33:13 ip-10-0-118-76.ap-northeast-2.compute.internal systemd[1]: Started tomcat.service - tomcat 9.0.
๋ฆฌ๋ ์ค๋ ํ์ผ ๊ธฐ๋ฐ ์์คํ ์ด๋ค. ๋ฐ๋ชฌ์ ๋ถํ ์์ ํ์ผ์ ๋ด์ฉ์ ์ฝ์ด์ ์ค์ ์ ๋ฐ์ํ๋ค.
Systemd ๋ฐ๋ชฌ์ ์ฌ๋ถํ ํ์ฌ tomcat.service ๋ด์ฉ์ ๋ฐ์ํ๊ณ , tomcat์ ์คํํ๋ค
์คํ ํ ์คํธ๋ฅผ ํ๋ค
9-6 index.jsp ์์ฑ
# cd /usr/local/tomcat9.0/webapps/ROOT/
- index.jsp ์๋ณธํ์ผ ๋ฐฑ์
ํ๊ธฐ
# cp index.jsp index.jsp.bak
# ls
RELEASE-NOTES.txt bg-button.png bg-upper.png index.jsp.bak
WEB-INF bg-middle.png favicon.ico tomcat.css
asf-logo-wide.svg bg-nav.png index.jsp tomcat.svg
- ๊ธฐ์กด ์ฝ๋๋ฅผ ๋ณ๊ฒฝ, ๋ณด์ฌ์ง๋ ๋ด์ฉ์ WAS ์๋ฒ ๊ตฌ๋ถ๊ณผ ํ์ฌ ๋ ์ง๋ก ์ค์
# vi index.jsp
<%@ page contentType="text/html; charset=UTF-8"%>
<html>
<head><title>This is WAS1</title></head>
<body>
WAS1 TEST
TIME IS <%= new java.util.Date()%>
</body>
</html>
- tomcat ์ฌ์์
# systemctl restart tomcat.service
ํ์ด์ง๋ฅผ ์์ ํ๊ณ ํ ์คํธํ๋ค
webapps ๋๋ ํ ๋ฆฌ : Tomcat์ด ์ ๊ณตํ๋ ์น์ ํ๋ฆฌ์ผ์ด์ ์ ๊ธฐ๋ณธ ์์น์ด๋ค
10. NLB
10-1 ๋์๊ทธ๋ฃน ์์ฑ
WAS ์ธ์คํด์ค๋ฅผ ๋์์ผ๋ก ์ง์ ํ๋ค
10-2 ๋ก๋๋ฐธ๋ฐ์ ์์ฑ
NLB๋ฅผ ์ ํํ๋ค
๋ด๋ถ์์ ๋์ํ๋๋ก ๋ด๋ถ๋ฅผ ์ ํํ๋ค
WEB ์๋ธ๋ท์ ์ง์ ํ๋ค
10-3 ๋ณด์๊ทธ๋ฃน ์ธ๋ฐ์ด๋ ์ถ๊ฐ (ํ๋ฆฐ๋ถ๋ถ์ด๋ฏ๋ก ๋ค์ ํด๊ฒฐ๊ณผ์ ์ฐธ๊ณ ํ๊ธฐ)
WAS ๋ณด์๊ทธ๋ฃน: NLB์ WEB01 WEB02 ์๋ธ๋ท์ ์กด์ฌํ๋ฏ๋ก 8080ํฌํธ๋ก ๋ค์ด์ค๋ ํธ๋ํฝ์ ํ๊ฐํ๋ค
WEB ๋ณด์๊ทธ๋ฃน : ๋ง์ฐฌ๊ฐ์ง๋ก NLB๊ฐ WEB1 / WEB2 SUBNET์ ์กด์ฌํ๋ฉฐ Listener ํฌํธ๋ฅผ 8080์ผ๋ก ์ค์ ํ์ผ๋ฏ๋ก
ํด๋น ๋คํธ์ํฌ์ 8080 ํฌํธ๋ก ํธ๋ํฝ์ด ๋๊ฐ๋ ๊ฑธ ํ๊ฐํ๋๋ก ๊ท์น์ ์ถ๊ฐํ๋ค
๋์๊ทธ๋ฃน์์ Healthy check๋ฅผ ํ๋ค
11. WEB - NLB - WAS ์ฐ๊ฒฐ
# vi /etc/httpd/conf/httpd.conf
<VirtualHost *:80>
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://mj-NLB-private-36e7a7f978f6d1d0.elb.ap-northeast-2.amazonaws.com:8080/ disablereuse=on
ProxyPassReverse / http://mj-NLB-private-36e7a7f978f6d1d0.elb.ap-northeast-2.amazonaws.com:8080/
</VirtualHost>
-- ์ฌ์์
# systemctl restart httpd
๋ชจ๋ WEB ์๋ฒ์ ์ค์ ํ๋ค
11-1 ๋ฌธ์ ๋ฐ์
๋ฌธ์ 1)
httpd.conf ์ค์ ํ์ผ Virtual host๋ฅผ ์ถ๊ฐํ๋ฉด WEB-NLB ์ฐ๊ฒฐ์ด ์ ๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค
WEB์๋ฒ์์ ์ ์ํ ์คํธ๋ฅผ ํ๋ฉด ์ฌ์ง๊ณผ ๊ฐ์ด 503์๋ฌ๊ฐ ๋ฐ์ํ๋ค
๋ฌธ์ 2)
๊ธฐ์กด ALB ๋์๊ทธ๋ฃน์ด Unhealthy ์ํ๊ฐ ๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค
์์ ๋ฌธ์ ์ ๋์ผํ๊ฒ httpd.conf ์ค์ ํ์ผ์ ์คํํ๋ฉด ์ด์ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค
(ALB์ ์ฐ๊ฒฐ๋ ์ธ์คํด์ค๋ WEB01, WEB02์ด๋ค)
์ฆ ์ค์ ํ์ผ์ ์คํํ๊ณ ๋๋ฉด ALB-WEB์ ์ฐ๊ฒฐ์ด ๋๊ธฐ๊ณ WEB-NLB ์ฐ๊ฒฐ๋ ์ ๋๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค
์์ธ๋ฐ๊ฒฌ1)
ALB ๋์๊ทธ๋ฃน ์ํ๊ฒ์ฌ์์ ๊ฒฝ๋ก๊ฐ /index.html๋ก ๋์ด์๋ค๋ ๊ฒ์ ํ์ธํ ์ ์๋ค
WEB-ALB ์์ฑ๊ณผ์ ์์๋ ๋ฌธ์ ๊ฐ ์์๋๋ฐ ์ ์ด ๋ถ๋ถ์์ ๋ฌธ์ ๊ฐ ์๊ฒผ์๊น?
WEB-ALB ์์ฑ ํ ํ ์คํธ ํ์ ๋๋ Apache์ ๊ธฐ๋ณธ ๊ฒฝ๋ก๊ฐ /index.html์ด๋ฏ๋ก ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์์๋ค
์ง๊ธ์ Tomcat๊ณผ ์ฐ๋ํ๋ ๊ณผ์ ์ด๊ณ httpd.confํ์ผ์ ์ฝ๋๋ฅผ ์์ธํ ๋ณด๋ฉด
ProxyPass / http://mj-NLB-private-36e7a7f978f6d1d0.elb.ap-northeast-2.amazonaws.com:8080/ disablereuse=on
ProxyPassReverse / http://mj-NLB-private-36e7a7f978f6d1d0.elb.ap-northeast-2.amazonaws.com:8080/
ProxyPass / ์ด ๊ฒฝ๋ก๋ฅผ ํ์ธํด์ผ ํ๋ค
/ (๋ฃจํธ ๋๋ ํฐ๋ฆฌ)๋ก ์ง์ ํ๊ธฐ ๋๋ฌธ์ ALB ๋์๊ทธ๋ฃน์ ๊ฒฝ๋ก๋ / (๋ฃจํธ ๋๋ ํฐ๋ฆฌ)๋ก ์ง์ ํด์ผ ํ๋ค
/index.html → / ์ฌ์ค์ ํ๋ค
WEB ↔ NLB ์ฐ๊ฒฐ์ ์ฑ๊ณตํ๋ค
์์ธ๋ฐ๊ฒฌ2)
์์ ๊ณผ์ ํ ALB์ ๋์๊ทธ๋ฃน์ ์ฌ์ ํ Unhealthy ์ํ์ด๋ค
10-3๋ฒ ๊ณผ์ ์์ ์ค์ ํ ๋ณด์๊ทธ๋ฃน 8080 ํฌํธ์ ์๋ชป๋ ๊ท์น ์ง์ ์ผ๋ก ๋ฐ์ํ ๋ฌธ์ ์ด๋ค
(๊ธฐ์กด ๊ณผ์ ์ ์์ ํ์ง ์๊ณ ๋ฌธ์ ํด๊ฒฐ๊ณผ์ ์ ๊ธฐ์ ํ ์ด์ ๋ ์ฐธ๊ณ ์๋ฃ ํ๋ฆฐ๋ถ๋ถ์ ํด๊ฒฐ๊ณผ์ ์ ๊ธฐ๋กํ๊ธฐ ์ํจ์ด๋ค)
NLB๋ ๋ณด์๊ทธ๋ฃน ๊ธฐ๋ฅ์ด ์๋ ๊ฒ์ผ๋ก ์๋ ค์ ธ ์์ง๋ง
์ฐ์ NLB ๋ณด์๊ทธ๋ฃน์ ์์ฑํ๋ค
๋ด ํํธ๋์ ์ค๋ช ์ ์ฐธ๊ณ ํ์
์ธ๋ฐ์ด๋ ๊ท์น์์ WEB ๋ณด์๊ทธ๋ฃน์ ์ด์ด์ค๋ค
์์๋ฐ์ด๋ ๊ท์น์์ WAS ๋ณด์๊ทธ๋ฃน์ ์ด์ด์ค๋ค
WEB ๋ณด์๊ทธ๋ฃน์ผ๋ก ์ด๋ํด์ ์์๋ฐ์ด๋ ๊ท์น NLB ๋ณด์๊ทธ๋ฃน์ ์ด์ด์ค๋ค
WAS ๋ณด์๊ทธ๋ฃน์ผ๋ก ์ด๋ํด์ ์ธ๋ฐ์ด๋ NLB ๋ณด์๊ทธ๋ฃน์ ์ด์ด์ค๋ค
ALB ๋์๊ทธ๋ฃน Healthy check๊ฐ ์๋ฃ๋์๋ค
11-3 ์ ์ ํ ์คํธ
WAS01, WAS02๊ฐ ๋ฒ๊ฐ์๊ฐ๋ฉด์ ์ ์๋๋ค
๋ค์ ๊ธ์ DB ์์ฑ์ผ๋ก ์ด์ด์ง๋๋ค
'AWS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
AWS : 3 Tier [๊ตฌ์ฑ๋ ๋ฐ ์ค์ ์ค๋ช ] (0) | 2024.11.27 |
---|---|
AWS : 3 Tier [DB ์์ฑ] (1) | 2024.11.26 |
AWS : 3 Tier [WEB & ALB ์์ฑ] (0) | 2024.11.23 |
AWS : 3 Tier [์ด๊ธฐ ์ค์ ๋ฐ ์์ ] (0) | 2024.11.19 |
AWS : ALB๋ฅผ ์ด์ฉํ LoadBalancer (0) | 2024.11.07 |