@@ -245,18 +245,29 @@ resource "aws_instance" "app" {
245245 amazon-linux-extras install -y nginx1
246246
247247 echo "===== Create Application Directories ====="
248- mkdir -p /opt/tech-blog
249- mkdir -p /var/log/tech-blog
248+ mkdir -p /opt/tech-fork
249+ mkdir -p /var/log/tech-fork
250250
251- useradd -r -s /bin/false tech-blog || true
252- chown -R tech-blog :tech-blog /opt/tech-blog
253- chown -R tech-blog :tech-blog /var/log/tech-blog
251+ useradd -r -s /bin/false tech-fork || true
252+ chown -R tech-fork :tech-fork /opt/tech-fork
253+ chown -R tech-fork :tech-fork /var/log/tech-fork
254254
255255 echo "===== Install Git ====="
256256 yum install -y git
257+
258+ echo "===== Install Docker ====="
259+ yum install -y docker
260+ systemctl start docker
261+ systemctl enable docker
262+ usermod -aG docker ec2-user
263+
264+ echo "===== Install Docker Compose ====="
265+ curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
266+ chmod +x /usr/local/bin/docker-compose
267+ ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
257268
258269 echo "===== Nginx Configuration ====="
259- cat > /etc/nginx/conf.d/tech-blog .conf <<'NGINX'
270+ cat > /etc/nginx/conf.d/tech-fork .conf <<'NGINX'
260271 upstream springapp {
261272 server 127.0.0.1:8080 fail_timeout=0;
262273 }
@@ -267,8 +278,8 @@ resource "aws_instance" "app" {
267278
268279 client_max_body_size 10M;
269280
270- access_log /var/log/nginx/tech-blog -access.log;
271- error_log /var/log/nginx/tech-blog -error.log;
281+ access_log /var/log/nginx/tech-fork -access.log;
282+ error_log /var/log/nginx/tech-fork -error.log;
272283
273284 # Cloudflare Real IP
274285 set_real_ip_from 173.245.48.0/20;
@@ -365,7 +376,7 @@ resource "aws_instance" "app" {
365376 "files": {
366377 "collect_list": [
367378 {
368- "file_path": "/var/log/tech-blog /*.log",
379+ "file_path": "/var/log/tech-fork /*.log",
369380 "log_group_name": "/aws/ec2/${ var . project_name } -${ var . environment } /application",
370381 "log_stream_name": "{instance_id}",
371382 "timezone": "Asia/Seoul"
@@ -377,7 +388,7 @@ resource "aws_instance" "app" {
377388 "timezone": "Asia/Seoul"
378389 },
379390 {
380- "file_path": "/var/log/nginx/tech-blog -*.log",
391+ "file_path": "/var/log/nginx/tech-fork -*.log",
381392 "log_group_name": "/aws/ec2/${ var . project_name } -${ var . environment } /nginx",
382393 "log_stream_name": "{instance_id}",
383394 "timezone": "Asia/Seoul"
@@ -402,6 +413,8 @@ resource "aws_instance" "app" {
402413 touch /var/log/user-data-complete.txt
403414 EOF
404415
416+ user_data_replace_on_change = true
417+
405418 tags = {
406419 Name = " ${ var . project_name } -${ var . environment } -app-server"
407420 }
0 commit comments