๐Ÿ”ฌComputer Science/๋„คํŠธ์›Œํฌ

AWS๋ฅผ ์ด์šฉํ•œ ์„œ๋ฒ„ ๋ฐฐํฌ ์ž๋™ํ™” ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•ํ•˜๊ธฐ, EC2 ๊ธฐ๋ณธ ์„ธํŒ…๋ถ€ํ„ฐ, AWS๋กœ ์„œ๋ฒ„ ๋ฐฐํฌ

hellohailie 2022. 8. 9. 16:46

 

โœ”๏ธEC2 ๊ธฐ๋ณธ ์„ธํŒ…

 

1. ์šฐ์„  EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. 

์—ฐ๊ฒฐ ๋ˆ„๋ฅด๊ธฐ

$ bash
$ cd ~

2. ์ธ์Šคํ„ด์Šค์— ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ•ํ•˜๊ธฐ

$ sudo apt update

ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” ํŒจํ‚ค์ง€์˜ ์ •๋ณด๋ฅผ ์ตœ์‹  ์ƒํƒœ๋กœ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์œ„ํ•œ ๋ช…๋ น์–ด

 

 

3. nvm, npm์„ ์„ค์น˜ํ•˜์—ฌ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•˜๊ธฐ

 

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
touch ~/.zshrc
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

 

๐Ÿ‘‡ ์„ค์น˜์•ˆ๋˜๋ฉด ์•„๋ž˜ ์‚ฌ์ดํŠธ์ฐธ๊ณ ํ•˜๊ธฐ ๐Ÿ‘‡

 

https://github.com/nvm-sh/nvm

 

GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions

Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions - GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active nod...

github.com

 

4. ์„ค์น˜ ๋‹ค ๋˜์—ˆ๋Š”์ง€ ํ™•์ธ ํ•˜๋ ค๋ฉด nvm ๋ฒ„์ „ ๋ฌผ์–ด๋ณด๊ธฐ

nvm --version

 

5. node.js ์„ค์น˜ํ•˜๊ธฐ

$ nvm install node

 

$ sudo apt install npm

npm ๋ช…๋ น์–ด๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ž…๋ ฅ๋˜์ง€ ์•Š๋Š” ์ƒํ™ฉ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๋ช…๋ น์–ด.

 

 

๐ŸŽ‰ ์œ„ ๊ณผ์ •๊นŒ์ง€ ๋งˆ์ณค๋‹ค๋ฉด AWS์—์„œ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ ์„ธํŒ…์€ ์–ด๋Š์ •๋„ ๋งˆ์ณค๋‹ค. ๐ŸŽ‰ 


โœ”๏ธ ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ• ์ „์— EC2 ์ธ์Šคํ„ด์Šค ์„ธํŒ…ํ•˜๊ธฐ

1. ์ƒ์„ฑ๋˜์–ด ์žˆ๋Š” EC2 ์ธ์Šคํ„ด์Šค์— ํƒœ๊ทธ ๋ถ€์—ฌํ•˜๊ธฐ.

ํƒœ๊ทธ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ์ด์œ ๋Š” ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ• ๋‹จ๊ณ„์—์„œ ์ธ์Šคํ„ด์Šค๋ฅผ ์ž˜ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค. 

 

EC2 - ์ธ์Šคํ„ด์Šค - ์ธ์Šคํ„ด์Šค ์„ ํƒ ํ›„ [์ž‘์—…] - [์ธ์Šคํ„ด์Šค ์„ค์ •] - [ํƒœ๊ทธ ๊ด€๋ฆฌ] - [ํƒœ๊ทธ ์ถ”๊ฐ€ ๋ฒ„ํŠผ] => ํ‚ค์™€ ๊ฐ’ ์ž์œ ๋กญ๊ฒŒ ์ด๋ฆ„ ์„ค์ • ๊ฐ€๋Šฅ

 

2. ์ƒ์„ฑ๋˜์–ด ์žˆ๋Š” EC2 ์ธ์Šคํ„ด์Šค์— ์—ญํ•  ๋ถ€์—ฌํ•˜๊ธฐ. (IAM ์„œ๋น„์Šค ์ด์šฉ)

์—ญํ• (role)์€ AWS์˜ ๊ฐœ์ฒด (์„œ๋น„์Šค, ์‚ฌ์šฉ์ž ๋“ฑ)๊ฐ€ ๋‹ค๋ฅธ ์„œ๋น„์Šค์— ์ ‘๊ทผํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. 

EC2 - ์ธ์Šคํ„ด์Šค - ์ธ์Šคํ„ด์Šค ์„ ํƒ ํ›„ [์ž‘์—…] - [๋ณด์•ˆ] - [IAM ์—ญํ•  ์ˆ˜์ •] - [์ƒˆ IAM ์—ญํ•  ์ƒ์„ฑ] - [์—ญํ•  ๋งŒ๋“ค๊ธฐ] - [AWS ์„œ๋น„์Šค, EC2 ์„ ํƒํ•˜๊ธฐ] - [๋‹ค์Œ: ๊ถŒํ•œ ๋ฒ„ํŠผ] - [ AmazonS3FullAccess, AmazonSSMFullAccess, AWSCodeDeployRole ์„ ํƒํ•˜๊ธฐ ] - [๋‹ค์Œ: ํƒœ๊ทธ ๋ฒ„ํŠผ] - [๋‹ค์Œ : ๊ฒ€ํ† ] - [ ์—ญํ• ์— ์ž„์˜์˜ ์ด๋ฆ„ ์ž…๋ ฅ] -[ ์—ญํ•  ๋งŒ๋“ค๊ธฐ ๋ฒ„ํŠผ ]

 

3. ์ถ”๊ฐ€์ ์œผ๋กœ ์„ค์ •ํ•˜๊ธฐ

[์ƒ์„ฑํ•œ ์—ญํ•  (role) ํด๋ฆญ] - [์‹ ๋ขฐ๊ด€๊ณ„ ํด๋ฆญ] => (์‹ ๋ขฐ๊ด€๊ณ„๋Š” ํ•ด๋‹น ์—ญํ• ์„ ์ทจํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค๋‚˜ ์‚ฌ์šฉ์ž๋ฅผ ๋ช…์‹œํ•˜๋Š” ๋ถ€๋ถ„)

[์‹ ๋ขฐ๊ด€๊ณ„ ํŽธ์ง‘์˜ service ๊ฐ’ ์ˆ˜์ •ํ•˜๊ธฐ] ๐Ÿ‘‡

"Service":["ec2.amazonaws.com", "codedeploy.ap-northeast-2.amazonaws.com"]

 

4. EC2 ์ธ์Šคํ„ด์Šค์— ์ƒ์„ฑํ•œ ์—ญํ•  ์ ์šฉํ•ด์ฃผ๊ธฐ

์ธ์Šคํ„ด์Šค ์„ ํƒ ํ›„ [์ž‘์—…] - [๋ณด์•ˆ] - [IAM ์—ญํ•  ์ˆ˜์ •] - [๋งŒ๋“ค์–ด๋†“์€ ์—ญํ•  ํด๋ฆญ] - [์ €์žฅ]

 

=> ์ด์ œ EC2๋Š” S3, CodeDeploy, SSM ์„œ๋น„์Šค์— ์ ‘๊ทผ ๊ฐ€๋Šฅ!

 

5. EC2 ์ธ์Šคํ„ด์Šค๊ฐ€ ์ ์ ˆํ•œ ๋ณด์•ˆ ๊ทธ๋ฃน ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ

[ํ•ด๋‹น ์ธ์Šคํ„ด์Šค ํด๋ฆญ] - [๋ณด์•ˆ ํƒญ] - [๋ณด์•ˆ ๊ทธ๋ฃน ํด๋ฆญ] - [์ธ๋ฐ”์šด๋“œ ๊ทœ์น™์— 80, 443 ํฌํŠธ ์žˆ๋Š”์ง€ ํ™•์ธ]

=> 80๋ฒˆ ํฌํŠธ๋Š” ์„œ๋ฒ„ ๋ฐฐํฌ๋ฅผ ์œ„ํ•ด ํ•„์š”ํ•˜๊ณ , 443ํฌํŠธ๋Š” CodeDeploy-Agent์˜ ์ •์ƒ์ ์ธ ์ž‘๋™์„ ์œ„ํ•ด ํ•„์š”ํ•˜๋‹ค. 

 

๐Ÿค”์ธ๋ฐ”์šด๋“œ ๊ทœ์น™์— 80, 443 ํฌํŠธ์—†๋Š” ๊ฒฝ์šฐ

[์ธ๋ฐ”์šด๋“œ ๊ทœ์น™ ํŽธ์ง‘ ๋ฒ„ํŠผ ํด๋ฆญ] - HTTP, HTTPS ์œ ํ˜•์„ '์œ„์น˜ ๋ฌด๊ด€' ๋˜๋Š” '์‚ฌ์šฉ์ž์ง€์ •' ์œผ๋กœ ์„ค์ •ํ•˜๊ณ  [๊ทœ์น™ ์ €์žฅ ํด๋ฆญ]

 

 


โœ”๏ธ ์„œ๋ฒ„ ์ฝ”๋“œ์˜ ๋ฐฐํฌ ๊ณผ์ •์„ ์ž๋™์œผ๋กœ ์ง„ํ–‰ํ•˜๋Š” ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฉ๋ฒ•

1. ๋ฐฐํฌํ•  ํด๋”๋ฅผ vscode๋กœ ํ‚จ๋‹ค. (๋กœ์ปฌํ™˜๊ฒฝ์—์„œ!)

๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ตœ์ƒ์œ„์— appspec.yml ํŒŒ์ผ์„ ์ถ”๊ฐ€ํžŒ๋‹ค. 

( โžฅ appspec.yml ์€ ๋ฐฐํฌ ์ž๋™ํ™”๋ฅผ ๋„์™€์ฃผ๋Š” CodeDeploy-Agent๊ฐ€ ์ธ์‹ํ•˜๋Š” ํŒŒ์ผ์ด๋‹ค. )

๋”๋ณด๊ธฐ

appspec.yml 

version: 0.0
os: linux
files:
  - source: /
# ์•„๋ž˜ destination์€ ํ•ด๋‹น ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ํด๋ก ํ•œ ์œ„์น˜๋กœ ์„ค์ •ํ•œ๋‹ค. (์ฝ”๋“œ์—์„œ pwd ๋ช…๋ น์–ด ํ™œ์šฉํ•˜๊ธฐ)
    destination: ~/ํŒŒ์ผ๋ช…๊นŒ์ง€

hooks:
  ApplicationStop:
    - location: scripts/stop.sh
      runas: root
  AfterInstall:
    - location: scripts/initialize.sh
      runas: root
  ApplicationStart:
    - location: scripts/start.sh
      runas: root

 

 

2. ์ตœ์ƒ์œ„์— scripts ๋””๋ ‰ํ† ๋ฆฌ(ํด๋”)๋ฅผ ์ƒ์„ฑํ•œ ํ›„, ๊ทธ ์•ˆ์— initialize.sh, start.sh, stop.sh ํŒŒ์ผ 3๊ฐœ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. 

( โžฅ ๊ฐ ํŒŒ์ผ์€ appspec.yml ํŒŒ์ผ์ด ๊ตฌ์„ฑํ•˜๊ณ  ์žˆ๋Š” ๋ฐฐํฌ ์ˆ˜๋ช… ์ฃผ๊ธฐ์— ๋”ฐ๋ผ ์‹คํ–‰๋œ๋‹ค. )

 

๋”๋ณด๊ธฐ

scripts/initialize.sh

#!/bin/bash
# ์•„๋ž˜ ์œ„์น˜๋Š” ํ•ด๋‹น ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ํด๋ก ํ•œ ์œ„์น˜๋กœ ์„ค์ •ํ•œ๋‹ค. (pwd ํ™œ์šฉ)
cd ~/ํด๋”๋ช…/server ํŒŒ์ผ๊นŒ์ง€
npm install
npm install pm2@latest -g
sudo apt-get update
sudo apt-get install authbind
sudo touch /etc/authbind/byport/80
sudo chown ubuntu /etc/authbind/byport/80
sudo chmod 755 /etc/authbind/byport/80

scripts/start.sh

 

#!/bin/bash
# ์•„๋ž˜ ์œ„์น˜๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ํด๋ก ํ•œ ์œ„์น˜๋กœ ์„ค์ •.
cd ~/ํด๋”๋ช…/server ํŒŒ์ผ๊นŒ์ง€
authbind --deep pm2 start app.js

scripts/stop.sh

#!/bin/bash
# ์•„๋ž˜ ์œ„์น˜๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ํด๋ก ํ•œ ์œ„์น˜๋กœ ์„ค์ •.
cd ~/ํด๋”๋ช…/server ํŒŒ์ผ๊นŒ์ง€
pm2 stop app.js 2> /dev/null || true
pm2 delete app.js 2> /dev/null || true

 

3. ๋ชจ๋“  ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ €์žฅํ•˜๊ณ  git add / commit / push ํ•˜๊ธฐ

 

4. AWS CodeDeploy ์„ธํŒ…ํ•˜๊ธฐ1

[AWS CodeDeploy ๋Œ€์‹œ๋ณด๋“œ] - [์• ํ”Œ๋ฆฌ์ผ€์ด์…˜] - [์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒ์„ฑ] - [์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ด๋ฆ„์€ ์ž„์˜๋กœ ์„ค์ •, ์ปดํ“จํŒ… ํ”Œ๋žซํผ์€ 'EC2/์˜จํ”„๋ ˆ๋ฏธ์Šค' ๋กœ ์ƒ์„ฑ] - [์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒ์„ฑ ๋ฒ„ํŠผ]

 

5. AWS CodeDeploy ์„ธํŒ…ํ•˜๊ธฐ2

[์ƒ์„ฑํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ ๊ทธ๋ฃน ํƒญ] - [๋ฐฐํฌ ๊ทธ๋ฃน ์ƒ์„ฑ ๋ฒ„ํŠผ ํด๋ฆญ] - [๋ฐฐํฌ ๊ทธ๋ฃน ์ด๋ฆ„์€ ์ž„์˜๋กœ ์„ค์ •, ์„œ๋น„์Šค ์—ญํ•  ์˜์—ญ์€ ์•ž์„œ ๋งŒ๋“ค์–ด ๋†“์€  ์—ญํ•  role ์„ ํƒ] - [ํ™˜๊ฒฝ๊ตฌ์„ฑ์—์„œ 'Amazon EC2 ์ธ์Šคํ„ด์Šค'๋ฅผ ์„ ํƒ, ํƒœ๊ทธ ๊ทธ๋ฃน์—๋Š” EC2 ์ธ์Šคํ„ด์Šค์— ์„ค์ •ํ•ด๋‘” ํƒœ๊ทธ ํ‚ค์™€ ๊ฐ’ ์„ ํƒ] - [๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ํ™œ์„ฑํ™” ์ฒดํฌ ํ•ด์ œํ•˜๊ธฐ] - [๋ฐฐํฌ ๊ทธ๋ฃน ์ƒ์„ฑ ๋ฒ„ํŠผ ํด๋ฆญ]

 

6. ์„œ๋ฒ„ ๋ฐฐํฌ ์ž๋™ํ™” ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•ํ•˜๊ธฐ

๐Ÿช[CodePipeline] - [ํŒŒ์ดํ”„๋ผ์ธ ์ƒ์„ฑ ๋ฒ„ํŠผํด๋ฆญ] - [ํŒŒ์ดํ”„๋ผ์ธ ์ด๋ฆ„ ์ž„์˜๋กœ ์ž…๋ ฅ] - [๋‹ค์Œ ๋ฒ„ํŠผ ํด๋ฆญ]

๐Ÿช- [์†Œ์Šค ์Šคํ…Œ์ด์ง€์—์„œ ๋ฐฐํฌํ•  ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๊ฐ€ github์— ์ €์žฅ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ ํ›„, ์†Œ์Šค ๊ณต๊ธ‰์ž๋ฅผ Github(๋ฒ„์ „2) ์„ ํƒ] - [๋‹ค์Œ ๋ฒ„ํŠผ ํด๋ฆญ] - [Github์— ์—ฐ๊ฒฐ ๋ฒ„ํŠผ] - [์—ฐ๊ฒฐ ์ด๋ฆ„ ์„ ํƒ] -  [Github์— ์—ฐ๊ฒฐ ๋ฒ„ํŠผ ํด๋ฆญ] - [์ƒˆ ์•ฑ ์„ค์น˜ ๋ฒ„ํŠผ ํด๋ฆญ] - [๋ณธ์ธ ๊นƒํ—™ ๊ณ„์ • ์„ ํƒ] - [๊นƒํ—›์— ๋กœ๊ทธ์ธ ํ›„ 'Only select repositories'๋ฅผ ์„ ํƒ, ์†Œ์Šค ์ฝ”๋“œ๋กœ ์ด์šฉํ•  ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์„ ํƒํ•˜๊ณ  [ Save ] ๋ฒ„ํŠผ ํด๋ฆญ] - [์—ฐ๊ฒฐ ๋ฒ„ํŠผ ํด๋ฆญ] - [๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ด๋ฆ„์€ ๋ฐฉ๊ธˆ ์—ฐ๊ฒฐํ•œ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๋ช…๊ณผ ๊ฐ™๊ฒŒ ์ง€์ •, ๋ธŒ๋žœ์น˜๋Š” master๋‚˜ main, ์ถœ๋ ฅ ์•„ํ‹ฐํŒฉํŠธ ํ˜•์‹์€ 'CodePipeline ๊ธฐ๋ณธ๊ฐ’'] - [๋‹ค์Œ ๋ฒ„ํŠผ ํด๋ฆญ]

๐Ÿช- [๋นŒ๋“œ ์Šคํ…Œ์ด์ง€] => ์ฝ”๋“œ ์ปดํŒŒ์ผ ๋นŒ๋“œ ๊ณผ์ • ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๊ฐ€ ์žˆ๋‹ค๋ฉด ์ด๋ถ€๋ถ„์€ ์„ค์ •ํ•ด์•ผํ•œ๋‹ค. ์—†์œผ๋ฉด  ๊ฑด๋„ˆ๋›ฐ๊ธฐ  - [๋‹ค์Œ ๋ฒ„ํŠผ ํด๋ฆญ]

๐Ÿช- [๋ฐฐํฌ ์Šคํ…Œ์ด์ง€] -[ ๋ฐฐํฌ ๊ณต๊ธ‰์ž๋Š” 'AWS CodeDeploy' ์„ ํƒ, ๋ฆฌ์ „์€ ์„œ์šธ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ด๋ฆ„์€ ์ƒ์„ฑํ•ด ๋‘” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ด๋ฆ„ ์„ ํƒ, ๋ฐฐํฌ ๊ทธ๋ฃน์€ ์ƒ์„ฑํ•ด๋‘” ๋ฐฐํฌ ๊ทธ๋ฃน ์„ ํƒ]

๐Ÿช- ๋ฐฐํฌ ๊ธฐ๋‹ค๋ฆฌ๊ธฐ

 

 


์ฒ˜์Œ์—๋Š” 1๋ถ„๋„ ์•ˆ๋˜์„œ ์•„๋ž˜ ์‚ฌ์ง„์ฒ˜๋Ÿผ ์„ฑ๊ณต ๋ฉ”์„ธ์ง€๊ฐ€ ๋– ์„œ ์ข‹์•„ํ–ˆ๋‹ค. 

๊ทธ๋Ÿฐ๋ฐ install ์—์„œ ๋ฐฐํฌ ์‹คํŒจ๊ฐ€ ๋˜์—ˆ๋‹ค. 

 

โœ”๏ธ ๋ฐฐํฌ ์‹คํŒจํ•˜๋Š” ๊ฒฝ์šฐ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•

๋กœ๊ทธ๋ฅผ ์ฐพ์•„๋ณด์ž!

CodeDeploy-Agent๋Š” ํŒŒ์ดํ”„๋ผ์ธ ์‹คํ–‰ ๋•Œ๋งˆ๋‹ค ๋กœ๊ทธ๋ฅผ ํ•ด๋‹น EC2 instance์— ์ €์žฅํ•œ๋‹ค.

 

๐Ÿ‘‡ ์•„๋ž˜ ๋ช…๋ น์–ด๋กœ ๋กœ๊ทธ ํŒŒ์ผ์ด ์ €์žฅ๋œ ๊ฒฝ๋กœ๋กœ ์ด๋™ํ•˜๊ธฐ ๐Ÿ‘‡

 'cd /opt/codedeploy-agent/deployment-root/deployment-logs'

ls ๋กœ ์–ด๋–ค ํŒŒ์ผ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ

ls

ํ•ด๋‹น ํŒŒ์ผ nano๋กœ ํŒŒ์ผ ์—ด๊ธฐ

nano ํŒŒ์ผ๋ช…

 


โœ”๏ธ ๋ฐฐํฌ ํ•ด๊ฒฐ

appspec.yml, initialize.sh, start.sh, stop.sh ํŒŒ์ผ ์•ˆ์˜ ์œ„์น˜๋ฅผ ์ž˜ ์„ค์ •ํ•˜์ž.

pwd ๋ช…๋ น์–ด๋กœ ์œ„์น˜๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๋˜๋Š” /opt - ์ถ”๊ฐ€์ ์ธ (optional) ํ”„๋กœ๊ทธ๋žจ๋“ค์˜ ์„ค์น˜ ๊ฒฝ๋กœ

 


โœ”๏ธ AWS EC2 ํ„ฐ๋ฏธ๋„ ์„ธ์…˜์ด ์ข…๋ฃŒ๋œ๋‹ค๋ฉด??

 

$ bash
$ cd ~
$ sudo apt update

 


 

 

์ถ”๊ฐ€ ๊ณต๋ถ€ํ•ด๋ณด๊ธฐ

linux์˜ standard stream

linux์˜ tail, head, grep๊ณผ ๊ฐ™์€ ํ„ฐ๋ฏธ๋„ ๋ช…๋ น์–ด

 

)

https://help.ubuntu.com/kubuntu/desktopguide/ko/directories-file-systems.html

 

๋””๋ ‰ํ† ๋ฆฌ์™€ ํŒŒ์ผ ์‹œ์Šคํ…œ

๋””๋ ‰ํ† ๋ฆฌ์™€ ํŒŒ์ผ ์‹œ์Šคํ…œ ๋ฆฌ๋ˆ…์Šค์™€ ์œ ๋‹‰์Šค์˜ ๋ชจ๋“  ๊ฒƒ์€ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ๋””๋ ‰ํ† ๋ฆฌ๋„, ํŒŒ์ผ๋„, ์žฅ์น˜๋„ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ์žฅ์น˜๋“ค์€ ๋Œ€๊ฐœ ๋…ธ๋“œ๋กœ ์ทจ๊ธ‰๋˜์ง€๋งŒ, ๊ทธ๊ฒƒ๋„ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ๋ฆฌ๋ˆ…์Šค์™€ ์œ ๋‹‰์Šค์˜ ํŒŒ์ผ ์‹œ

help.ubuntu.com

https://velog.io/@wngud4950/AWS-EC2-CodeDeploy-Appspec.yml%EC%97%90-%EB%8C%80%ED%95%98%EC%97%AC

 

[AWS] EC2-CodeDeploy Appspec.yml์— ๋Œ€ํ•˜์—ฌ

EC2์—์„œ CodeDeploy๋ฅผ ์ด์šฉํ–ˆ์„ ๋•Œ appspec.yml์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด์ง€ ์•Š๊ณ  ์‚ฌ์šฉํ•˜๋‹ค๊ฐ€ ํ•ด๋‹น ๊ธ€๊ณผ ๊ฐ™์ด ๋‚˜์ค‘์— ์—๋Ÿฌ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์• ๋ฅผ ๋จน์–ด ๋‹ค์‹œ ํ•œ ๋ฒˆ ์ •๋ฆฌ ํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.appspec.ymlํŒŒ์ผ์€ CodeDeploy

velog.io

 

 

๐Ÿ˜ƒ ์ž˜๋ชป๋œ ๊ฐœ๋… ์ „๋‹ฌ์ด ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ €์˜ ์„ฑ์žฅ์— ํฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค๐Ÿค“