TLS μ€νλ‘λ
μλ νμΈμ Mambo μ λλ€.
μ€λμ λ‘λλ°Έλ°μλ₯Ό νμ©ν TLS μ€νλ‘λμ λν΄μ μ 리ν΄λ³΄κ³ μ ν©λλ€. μ§λ SSL μΈμ¦μμμλ HTTPSλ₯Ό μΉ μλΉμ€μ μ μ©νλ μ΄μ μ ν¨κ» SSL μΈμ¦μλ₯Ό λ°κΈνκ³ TLS νΈλμμ΄ν¬λ₯Ό μ΄λ€ λ°©μμΌλ‘ μννλμ§λ₯Ό νμΈνμ΅λλ€. μ΄ κΈμμλ μλ§μ‘΄ μΉ μλΉμ€μ ELB(Elastic Load Balancing)μμ μ§μνλ TLS νΈλμμ΄ν¬ λ° TLS μ€νλ‘λ© κΈ°λ₯μ λν΄ μμλ³΄κ³ μ°Έκ³ ν΄μΌν μ 보λ₯Ό μκ°ν©λλ€.
SSL μ€νλ‘λ
TLS(SSL) μ€νλ‘λλ μ ν리μΌμ΄μ μλ²μμ TLS νΈλμμ΄ν¬λ₯Ό μννμ§ μκ³ νΈλν½μ΄ μ λ¬λκΈ° μ λ‘λλ°Έλ°μμμ SSL μΈμ¦μλ₯Ό κ΄λ¦¬νκ³ TLS νΈλμμ΄ν¬λ₯Ό μννλ κ²μ λ§ν©λλ€. λλΆλΆμ μΉ μλΉμ€λ μ ν리μΌμ΄μ μλ²λ₯Ό λ 립μ μΌλ‘ μ΄μ©νμ§ μκ³ νΈλν½ κ·λͺ¨μ λ°λΌ μ μ°νκ² νμ₯νκ³ νμ₯λ μ ν리μΌμ΄μ μλ²μ νΈλν½μ κ· λ±νκ² λΆμ°μν€κΈ° μνμ¬ λ‘λλ°Έλ°μλ₯Ό ꡬμ±ν©λλ€. μλ§μ‘΄ μΉ μλΉμ€μ ELB λ‘λλ°Έλ°μ μ ν μ€ NLBμ ALBλ SSL μΈμ¦μλ₯Ό λ±λ‘νκ³ ν΄λΌμ΄μΈνΈμ TLS νΈλμμ΄ν¬λ₯Ό μννμ¬ νΈλν½μ΄ EC2 μΈμ€ν΄μ€ λλ 컨ν μ΄λλ‘ μ λ¬νλ TLS μ€νλ‘λ© κΈ°λ₯μ μ§μν©λλ€.
Mutual TLS
μΉ μλΉμ€μ μꡬμ¬νμ λ°λΌ μ ν리μΌμ΄μ μλ²μμλ ν΄λΌμ΄μΈνΈμ X.509 μΈμ¦μλ₯Ό ν λλ‘ μ¬μ©μ μΈμ¦μ μννκ³ μμ²μ μ²λ¦¬ν μ μμ΅λλ€. μ΄λ κ² ν΄λΌμ΄μΈνΈμ μ ν리μΌμ΄μ μλ² λͺ¨λ μΈμ¦μλ₯Ό μ λ¬νλ κ²μ Mutual TLSλΌκ³ ν©λλ€. κ·Έλ¦¬κ³ μλ° κΈ°λ°μ μ ν리μΌμ΄μ μλ²λ javax.servlet.request.X509Certificate μμ±μ ν΅ν΄ X.509 μΈμ¦μλ₯Ό κ°μ Έμ¬ μ μμ΅λλ€.
κ·Έλ¬λ μΉ μμ²μ΄ λ‘λλ°Έλ°μμ μν΄ νΈλν½μ΄ μ λ¬λλ κ²½μ° ν΄λΌμ΄μΈνΈ μΈμ¦μλ₯Ό ν¬ν¨νμ¬ μ λ¬νλ κ²μ΄ 보μ₯λμ§ μμ΅λλ€. μΌλ°μ μΌλ‘ Nginxλ₯Ό λ‘λλ°Έλ°μλ₯Ό μ¬μ©νλ κ²½μ°μλ μμ² μ ν¬ν¨λ ν΄λΌμ΄μΈνΈμ μΈμ¦μ μ λ³΄κ° X-SSL-CERTμ κ°μ λΉνμ€ ν€λλ‘ μ λ¬λ μ μλλ‘ μ€μ ν©λλ€. μ΄λ κ² μμ² ν€λλ‘ μΈμ¦μλ₯Ό μ ν리μΌμ΄μ μλ²κΉμ§ μ λ¬νλ κ²μ μ ν리μΌμ΄μ μλ²μμ ν΄λΌμ΄μΈνΈμ μ€μ μμ΄νΌλ₯Ό μκΈ° μνμ¬ μ¬μ©λλ νμ€ ν€λ X-Forwarded-Forμ λΉμ·ν λͺ©μ μΌλ‘ μ¬μ©λλ€κ³ λ³Ό μ μμ΅λλ€.
AWS NLB
μλ§μ‘΄ μΉ μλΉμ€μ NLB(Network Load Balancer)λ L4 λ 벨μ ELB λ‘λλ°Έλ°μ μ νμ λλ€. NLBλ L4 λ 벨μμ λ‘λλ°Έλ°μ±μ μννλ©° νλ‘ν μ½κ³Ό ν¬νΈλ₯Ό κΈ°λ°μΌλ‘ μ§μ λ νλ μ΄μμ λμ κ·Έλ£ΉμΌλ‘ μμ²μ μ λ¬νκΈ° λλ¬Έμ λκ·λͺ¨ νΈλν½μ λΉ λ₯΄κ² EC2 μΈμ€ν΄μ€λ‘ μ λ¬λλλ‘ μ§μν©λλ€.
ELBμ λ‘λλ°Έλ°μ μ ν λΉκ΅μμ λμμλ―μ΄ NLBλ TLS μ€νλ‘λλ₯Ό μ§μνκΈ° λλ¬Έμ λ‘λλ°Έλ°μμ μΈμ¦μλ₯Ό λ±λ‘νκ³ TLS νΈλμμ΄ν¬λ₯Ό μ²λ¦¬νλλ‘ κ΅¬μ±ν μ μκ² λ©λλ€. λ€μκ³Ό κ°μ΄ NLBμ 리μ€λ μ€μ μ TLS νλ‘ν μ½μ μ ννκ³ TLS λ²μ κ³Ό μνΈν μ€μνΈ λͺ©λ‘μ λν 보μ μ μ± κ·Έλ¦¬κ³ SSL μΈμ¦μλ₯Ό λ±λ‘ν μ μμ΅λλ€.
ECC μΈμ¦μ λ―Έμ§μ
TLS μ€νλ‘λλ₯Ό μ§μνλ€κ³ λμμμ§λ§ λͺ¨λ SSL μΈμ¦μλ₯Ό μ§μνλ κ²μ μλλλ€. νμ¬μμ μ¬μ©μ€μΈ μΈμ¦μμ κ°μ νμ 곑μ ν ν€λ₯Ό μ¬μ©νλ ECC μΈμ¦μλ₯Ό λ±λ‘νκ² λλ©΄ μλ§μ‘΄ μΉ μλΉμ€λ‘λΆν° μλ¦Όμ λ°κ²λκ³ μ ν리μΌμ΄μ μλ²λ‘ νΈλν½μ΄ μ λ¬λμ§ μλ μνκ° λ μ μμ΅λλ€.
NLBμ λν 리μ€λ μ€μ λ¬Έμλ₯Ό μ΄ν΄λ³΄λ©΄ 2048 μ΄μμ λΉνΈλ₯Ό μ¬μ©νλ RSA ν€ λλ EC ν€λ‘λ μΈμ¦μλ₯Ό μ§μνμ§ μλλ€λΌκ³ κ²½κ³ νκ³ μμΌλ©° λ¬Έμλ₯Ό μ΄ν΄λ³΄κΈ°κΉμ§ μ΄λ¬ν μ 보λ₯Ό νμΈν μ μλ κ³³μ μμμ΅λλ€.
μμΈλ‘ λ§μ΄ μ¬μ©νκ³ μλ ECC μΈμ¦μμ λν΄μλ NLBμμ TLS μ€νλ‘λλ₯Ό μνν μ μκΈ° λλ¬Έμ μ ν리μΌμ΄μ μλ²μμ SSL μΈμ¦μλ₯Ό κ΄λ¦¬νκ³ TLS νΈλμμ΄ν¬λ₯Ό μνν΄μΌν©λλ€. μ ν리μΌμ΄μ μλ² λ°°ν¬ μ Elastic Beanstalkμ μ¬μ©νλ κ²½μ° Java SE νλ«νΌμ ν΅ν΄ EC2 μΈμ€ν΄μ€μ Nginxλ₯Ό νμ©νμ¬ μλ°©ν₯ νλ‘μλ₯Ό ꡬμ±ν μ μκΈ° λλ¬Έμ λ°λμ μ ν리μΌμ΄μ μλ²μμ TLS νΈλμμ΄ν¬λ₯Ό μνν΄μΌνλ κ²μ μλλλ€.
νμ¬μμ μ΄μμ€μΈ μΉ μλΉμ€λ Nginxλ₯Ό μ¬μ©νμ§ μκ³ NLBμμ μ ν리μΌμ΄μ μλ²λ‘ νΈλν½μ΄ μ λ¬λλλ‘ κ΅¬μ±νμμ§λ§ μ ν리μΌμ΄μ μλ² κ·λͺ¨κ° 컀μ§μΌλ‘ μΈνμ¬ λ΄λΆμ μΌλ‘ λμνλ μμ μ΄ λ§μμ§μ λ°λΌ TLS νΈλμμ΄ν¬ λΆνλ₯Ό μ ν리μΌμ΄μ μλ²μμ λΆλ¦¬νκΈ° μνμ¬ Nginxμμ TLS μ€νλ‘λλ₯Ό μννλλ‘ μ νν μμ μ λλ€.
AWS ALB
ECC μΈμ¦μλ₯Ό μ§μνμ§ μλ NLBμ λ€λ₯΄κ² ALB(Application Load Balancer)λ 4096 λΉνΈ ν€ κΈΈμ΄μ RSA μΈμ¦μμ ECDSAλ‘ μλͺ λ EC μΈμ¦μλ₯Ό μ§μν©λλ€. νμ¬μμ μ΄μμ€μΈ μΉ μλΉμ€λ₯Ό NLBμμ ALBλ‘ μ ννμ§ μλ μ΄μ λ μμ ν λ§μ΄ν¬λ‘μλΉμ€ μν€ν μ²κ° μλλ―λ‘ κ²½λ‘ κΈ°λ°μΌλ‘ λ³λμ μ ν리μΌμ΄μ μλ²λ‘ μ λ¬ν΄μΌνλ μꡬμ¬νμ΄ μκΈ° λλ¬Έμ λλ€. μ΄λ¬ν μ΄μ λ‘ μΈν΄ λΉ λ₯΄κ² λ‘λλ°Έλ°μμμ μ ν리μΌμ΄μ μλ²λ‘ νΈλν½μ΄ μ λ¬λλλ‘ NLBλ₯Ό μ¬μ©νκ³ μμ΅λλ€.
IT λΆμΌλ μκ°μ΄ μ§λλ©΄μ κΈ°μ μ΄ μ μ°¨ λ°μ νκ³ μμ΅λλ€. μλ§μ‘΄ μΉ μλΉμ€κ° μ 곡νλ μλΉμ€ κΈ°λ₯λ λ°μ νκ³ μμμ νμΈν μ μλλ° 2019λ μ μμ±λ κ³ μ μΈμ κ΄λ ¨ κΈμμλ NLBκ° κ³ μ μΈμ κΈ°λ₯μ μ§μνμ§ μλλ€κ³ λμμμ§λ§ νμ¬ ELBμ μ ν λΉκ΅νμ λΉκ΅ν΄λ³΄λ©΄ λ°±μλ μνΈν, κ³ μ μΈμ λΏλ§ μλλΌ λ€μν κΈ°λ₯μ μ§μνκ³ μμ΅λλ€.
ELB TLSv1.3 λ―Έμ§μ
μλ§μ‘΄ μΉ μλΉμ€μ ELBμμ TLS μ€νλ‘λ κΈ°λ₯μ μ§μνμ§λ§ 보μ μ μ± μ λ°λΌ TLS νΈλμμ΄ν¬λ₯Ό μννκΈ° λλ¬Έμ ν΄λΌμ΄μΈνΈλ TLS 1.3μ μ¬μ©ν μ μμ΅λλ€. TLS 1.3μ μ§μνκΈ° μν μμ μ μμ§ μ§νμ€μ΄λ―λ‘ ν΄λΌμ΄μΈνΈμκ² TLS 1.3μ μ§μνκ³ μνλ κ²½μ°μλ ELBμμ TLS μ€νλ‘λλ₯Ό μννλλ‘ κ΅¬μ±ν μ μκ³ NLBμ TCP 리μ€λλ₯Ό μ€μ νμ¬ νΈλν½μ΄ EC2 μΈμ€ν΄μ€λ‘ μ λ¬λλλ‘νκ³ EC2 μΈμ€ν΄μ€μ μ€νλμ΄μλ Nginxλ₯Ό ν΅ν΄ TLS 1.3μ μ¬μ©ν μ μκ² κ΅¬μ±ν μ μμ΅λλ€.
Elastic Beanstalk TLS μ€νλ‘λ
ELBμμλ TLS 1.3μ μ§μνμ§ μμΌλ©° NLBμμλ ECC μΈμ¦μλ₯Ό μ¬μ©ν μ μλ€λ κ²μ μμμΌλ―λ‘ Elastic BeanstalkμΌλ‘ μ€νλ§ μ ν리μΌμ΄μ λ°°ν¬ μ Nginxμμ SSL μΈμ¦μλ₯Ό κ΄λ¦¬νκ³ ν΄λΌμ΄μΈνΈκ° TLS 1.3 λ²μ μΌλ‘ TLS νΈλμμ΄ν¬λ₯Ό μνν μ μλλ‘ ν μ μλκ°λ₯Ό κ²μ¦ν΄λ³΄κ³ λ§λ¬΄λ¦¬ νκ² μ΅λλ€.
Elastic Beanstalk Java SE νλ«νΌ
μ€νλ§ μ ν리μΌμ΄μ μ λ°°ν¬νκΈ° μν΄μλ Java SE νλ«νΌ νκ²½μ ꡬμ±ν΄μΌν©λλ€. μ΄λ, μν μ ν리μΌμ΄μ μΌλ‘ Beanstalk νκ²½μ μμνλ κ²μ΄ μ’μ΅λλ€.
Beanstalk νκ²½ κ΅¬μ± μ λ‘λλ°Έλ°μλ₯Ό μ€μ νκ³ μΆμ κ²½μ° μΆκ° μ΅μ ꡬμ±μ ν΅ν΄ μ¬μ©μ μ μ μ€μ μ μ§νν΄μΌ ν©λλ€.
λ°°ν¬νκ³ λ³΄λ μ€νκ° μμλ€μ :)
κ·Έλ¦¬κ³ EC2 μΈμ€ν΄μ€ μ κ·Όμ μν ν€λ₯Ό μ€μ νλ λ± λΆκ° μ€μ μ νκ³ νκ²½μ μμ±νλ©΄ λ€μκ³Ό κ°μ΄ μν μ ν리μΌμ΄μ μ΄ λ°°ν¬λλ νκ²½μ΄ μ€λΉλ©λλ€.
μ²μ νκ²½μ ꡬμ±ν λ μ€λ₯κ° λ°μνλ κ²½μ° Beanstalkμμλ νκ²½ μμ λ²νΌμ΄ νμ±νλμ§ μμ λΉν©ν μ μμΌλ CloudFormation μλΉμ€λ‘ μ΄λνμ¬ Beanstalk νκ²½μ ꡬμ±μ€μΈ μ€νμ μμ ν μ μμ΅λλ€.
μ€νλ§ μ ν리μΌμ΄μ ν¨ν€μ§ λ° Java SE νλ«νΌ νμ₯
μ ν리μΌμ΄μ μ λ°°ν¬νκΈ° μν Java SE νλ«νΌμ΄ μμ±λμμΌλ μ€νλ§ μ ν리μΌμ΄μ μ ν¨ν€μ§νμ¬ Beanstalkμ λ°°ν¬νκΈ° μν μμ€ λ²λ€ νμΌμ λ§λ€μ΄μΌ ν©λλ€. μμ€ λ²λ€μλ ν¨ν€μ§λ μ ν리μΌμ΄μ Jar νμΌκ³Ό ν¨κ» μ ν리μΌμ΄μ μ€νλ₯Ό μν Procfileμ ν¬ν¨μμΌμΌ ν©λλ€.
task procfile(dependsOn: bootJar) {
doFirst {
new File("build/libs", "Procfile").text = "web: java -Xmx1g -Dfile.encoding=UTF-8 -jar ${bootJar.archiveName}"
}
}
task awsbuild(type: Zip, dependsOn: procfile) {
from ('.beanstalk/.ebextensions') { into '.ebextensions' }
from ('.beanstalk/.platform') { into '.platform' }
from ('build/libs') {
include('Procfile')
include(bootJar.archiveName)
}
baseName = 'beanstalk'
}
μμΈν λ΄μ©μ Procfileμ μ¬μ©νμ¬ μ ν리μΌμ΄μ νλ‘μΈμ€ ꡬμ±μ μ°Έκ³ νμΈμ.
Java SE νλ«νΌ νμ₯ ꡬμ±
Beanstalkλ .ebextensionsμ .platformμ νμ©νμ¬ EC2 μΈμ€ν΄μ€ νκ²½μ νμ₯ν μ μλ κΈ°λ₯μ μ§μν©λλ€. μ°λ¦¬λ HTTPλ‘ μ€νλλ μ ν리μΌμ΄μ μλ²μ ν¨κ» TLS μ€νλ‘λλ₯Ό μνν Nginxλ₯Ό ꡬμ±ν΄μΌνλ―λ‘ λ€μκ³Ό κ°μ΄ κ΅¬μ± λ° νλ«νΌ νμ₯ νμΌμ μμ±ν©λλ€.
Nginxμμ μ¬μ©ν SSL μΈμ¦μ νμΌ μμ±
files:
/etc/nginx/cert/server.crt:
mode: "000400"
owner: nginx
group: nginx
content: |
-----BEGIN CERTIFICATE-----
#### PROTECTED ####
-----END CERTIFICATE-----
/etc/nginx/cert/server.key:
mode: "000400"
owner: nginx
group: nginx
content: |
-----BEGIN EC PARAMETERS-----
#### PROTECTED ####
-----END EC PARAMETERS-----
-----BEGIN EC PRIVATE KEY-----
#### PROTECTED ####
-----END EC PRIVATE KEY-----
/etc/nginx/cert/server-ca-bundle:
mode: "000400"
owner: nginx
group: nginx
content: |
-----BEGIN CERTIFICATE-----
#### PROTECTED ####
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
#### PROTECTED ####
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
#### PROTECTED ####
-----END CERTIFICATE-----
commands:
00-chain-ca-bundle:
cwd: /etc/nginx/cert
command: |
cat server.crt server-ca-bundle > server-ca.pem
chown nginx:nginx server-ca.pem
chmod 400 server-ca.pem
99-remove-bak:
cwd: /etc/nginx/cert
command: rm -f *.bak
νμ¬ λλ©μΈμ λν μΈμ¦μμ΄λ―λ‘ μΈμ¦μ λ΄μ©μ λ§μ€νΉ μ²λ¦¬νμμ΅λλ€.
Nginx μ€μ νμΌ νμ₯
location / {
return 301 https://$host$request_uri;
}
κΈ°λ³ΈμΌλ‘ λ§λ€μ΄μ§λ 00_application.conf νμΌμ 80 ν¬νΈμ λνμ¬ 5000 ν¬νΈλ‘ μ λ¬λλλ‘ κ΅¬μ±νλ―λ‘ 443 ν¬νΈλ‘ 리λ€μ΄λ νΈνλλ‘ νμ₯ν©λλ€.
user nginx;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
worker_processes auto;
worker_rlimit_nofile 32768;
events {
use epoll;
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
include conf.d/*.conf;
map $http_upgrade $connection_upgrade {
default "upgrade";
}
server {
listen 80 default_server;
access_log /var/log/nginx/access.log main;
client_header_timeout 60;
client_body_timeout 60;
keepalive_timeout 60;
gzip off;
gzip_comp_level 4;
gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;
# Include the Elastic Beanstalk generated locations
include conf.d/elasticbeanstalk/*.conf;
}
server {
listen 443 ssl default_server;
server_name springboot;
ssl_certificate /etc/nginx/cert/server-ca.pem;
ssl_certificate_key /etc/nginx/cert/server.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_verify_client optional_no_ca;
location / {
proxy_pass http://127.0.0.1:5000;
proxy_http_version 1.1;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-SSL-CERT $ssl_client_escaped_cert;
proxy_buffering off;
}
}
}
μμΈν λ΄μ©μ Elastic Beanstalk Linux νλ«νΌ νμ₯μ μ°Έκ³ νμΈμ. elastic-beanstalk-samplesμ²λΌ μν νμΌλ 곡μ λμ΄μμ΅λλ€.
μ΄μ μν μ ν리μΌμ΄μ λμ μ°λ¦¬κ° μ€λΉν μ ν리μΌμ΄μ μμ€ λ²λ€μ μ λ‘λνλ©΄ Benstalk μμ§μ΄ μμ€ λ²λ€μ μΆμΆνκ³ μ ν리μΌμ΄μ μ μ€ννκ² λ©λλ€. Route 53μΌλ‘ Beanstalk νκ²½ μ£Όμλ₯Ό DNSλ‘ μ°κ²°νκ³ μ μν΄λ³΄λ©΄ λ€μκ³Ό κ°μ΄ TLS νΈλμμ΄ν¬κ° μνλμμμ νμΈν μ μμ΅λλ€.
NLBλ νΈλν½μ EC2 μΈμ€ν΄μ€μ 443 ν¬νΈλ‘ μ λ¬νμ λΏ TLS μ€νλ‘λλ Nginxμμ μννλ κ²μΌλ‘ ꡬμ±νκΈ° λλ¬Έμ λΈλΌμ°μ μμλ TLS 1.3 λ²μ μΌλ‘ TLS νΈλμμ΄ν¬λ₯Ό μννμ΅λλ€. μ΄λ κ² μλ§μ‘΄ μΉ μλΉμ€μμ TLS 1.3μ μ§μνκΈ° μν΄μλ NLBμ TCP 리μ€λμ Nginxμ TLS μ€νλ‘λλ₯Ό νμ©νλ©΄ κ°λ₯ν¨μ κ²μ¦νμ΅λλ€.
νΈλ¬λΈμν
Elastic Beanstalkλ‘ μ ν리μΌμ΄μ λ°°ν¬νλ κ³Όμ μμ μκ°λ³΄λ€ μ€λ₯κ° λ§μ μ μμ΅λλ€. μ΄ λ΄μ©μ Benstalkμμ μ ν리μΌμ΄μ λ°°ν¬ μ λ°μνλ μ¬λ¬κ°μ§ λ¬Έμ λ₯Ό ν΄κ²°νλλ° λμμ΄ λλ νλͺ©μ μ 리ν κ²μ λλ€. λ°λΌν΄λ³΄λ λΆλ€μκ² λμμ΄ λμ ¨μΌλ©΄ νλ λ°λ¨μΌλ‘ 곡μ ν©λλ€.
κ²½λ‘ | μ©λ | |
---|---|---|
/etc/nginx/ | Nginx κ΅¬μ± | |
/var/app/current | μ ν리μΌμ΄μ μμ€ λ²λ€ μΆμΆ κ²½λ‘ | |
/var/log/eb-engine.log | Beanstalk λ‘κ·Έ | |
/var/log/nginx | Nginx λ‘κ·Έ | |
/var/log/web.stdout.out | μΉ μ ν리μΌμ΄μ λ‘κ·Έ |
Beanstalk λ‘κ·Έλ Beanstalk μμ§μ΄ νλ«νΌ νμ₯ νμΌλ€μ μ€ννκ³ μ±κ³΅νλμ§ μ¬λΆλ₯Ό κΈ°λ‘ν©λλ€. μ΄ λ‘κ·Έλ₯Ό ν΅ν΄ μ΄λ λ¨κ³μμ μ€λ₯κ° λ°μνμ¬ μ ν리μΌμ΄μ λ°°ν¬ λ° μ νμ΄ μ€ν¨νμλμ§ νμΈν μ μλ μ€μν λ‘κ·Έμ λλ€. κ·Έλ¦¬κ³ λλ¨Έμ§ νλͺ©μ ν΅ν΄ μ€μ ν κ΅¬μ± λ° νμ₯ νμΌμ΄ μ λλ‘ μΆμΆλμ΄ λ³΅μ¬λμλμ§ Nginxκ° ELBμ μν΄ μ λ¬λ νΈλν½μ μ ν리μΌμ΄μ κΉμ§ μ λ¬ν μ μλμ§λ₯Ό νμΈν μ μμ΅λλ€.
Nginxμ λν΄μ μμΈν μλ κ²μ μλλ―λ‘ μ€μ νμΌμ΄ μλͺ»λ λΆλΆμ΄ μμ μ μμΌλ μν΄ λ°λΌλ©° μλͺ»λ μ μ ν¨λλ°± μ£Όμλ©΄ κ°μ¬νκ² μ΅λλ€.
κ°μ¬ν©λλ€.