์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Streamlit๊ธฐ์ด
- JavaScript
- Android
- ์๋ฐ์ด๋ณด
- ์๋ฐ์คํฌ๋ฆฝํธ ๊ณต๋ถ
- ํ๋ค์ค
- ์๋ฐํ๋ก๊ทธ๋๋ฐ
- ์คํธ๋ฆผ๋ฆฟ ๊ธฐ๋ณธ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- MySQL
- streamlit
- ์น๋์๋ณด๋ ๊ธฐ์ด
- java
- ์คํธ๋ฆผ๋ฆฟ
- ์๋๋ก์ด๋ ์คํ๋์ค
- Streamlit๊ธฐ๋ณธ
- ์๋ฐ์คํฌ๋ฆฝํธ
- Pandas
- ์๋ฐ๊ณต๋ถ
- ํ๋ค์ค๊ณต๋ถ
- ์น๋์๋ณด๋ ์ ์
- ์๋๋ก์ด๋ ์ฑ ๊ฐ๋ฐ
- ์๋ฐ
- RESTful API
- ์๋ฐ๊ธฐ์ด
- Matplotlib ๊ธฐ์ด
- ํ์ด์ฌ
- serverless
- ํ์ด์ฌ๊ณต๋ถ
- db
- Today
- Total
ruriruriya
[AWS] EC2 - ๋ฆฌ๋ ์ค ์๋ฒ ํ๊ฒฝ์ค์ ํ๊ธฐ(์๋์ฝ๋ค, ํ์ด์ฌ, ์คํธ๋ฆผ๋ฆฟ) ๋ณธ๋ฌธ
[AWS] EC2 - ๋ฆฌ๋ ์ค ์๋ฒ ํ๊ฒฝ์ค์ ํ๊ธฐ(์๋์ฝ๋ค, ํ์ด์ฌ, ์คํธ๋ฆผ๋ฆฟ)
๋ฃจ๋ฆฌ์ผใ 2023. 11. 22. 20:34
AWS EC2 ์ธ์คํด์ค์์ ์๋์ฝ๋ค๋ฅผ ์ค์นํ๊ณ ํ์ด์ฌ ํ๊ฒฝ์ ์ค์ ํ๊ณ , Streamlit์ ์ค์นํ๋ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
1. ์๋์ฝ๋ค ์ค์น
์๋์ฝ๋ค ๋ค์ด๋ก๋ ์ฌ์ดํธ์ ๋ค์ด๊ฐ๋ฉด ์๋์ฐ ๋ค์ด๋ก๋ ๋ฒํผ ๋ฐ์
ํญ๊ท ๊ทธ๋ฆผ์ด ์๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ๋ฆฌ๋
์ค ๋ฒ์ ๋ค์ด๋ก๋๋ฅผ ์๋ฏธํ๋ฏ๋ก ํด๋ฆญ!
https://www.anaconda.com/download
๋์ AWS EC2 ์๋ฒ ์ฌ์์ 64๋นํธ๋ก
'64-Bit (x86) Installer (1015.6MB)' ์ ์ปค์๋ฅผ ๋๊ณ ์ค๋ฅธ์ชฝ ๋ง์ฐ์ค๋ฅผ ํด๋ฆญํ์ฌ
๋งํฌ ์ฃผ์๋ฅผ ๋ณต์ฌํ๋ค.
์ด์ ์ ์ค์นํ๋ PuTTY ํฐ๋ฏธ๋๋ก ์ ์ํ์ฌ
pwd ๋ช
๋ น์ด๋ก ๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก ํ์ธ ํ
์๋ wget ํ๋ก๊ทธ๋จ์ผ๋ก ์๊น ๋ณต์ฌํ๋ ๋งํฌ๋ฅผ ๋ถ์ฌ๋ฃ๊ธฐ ํ์ฌ ์ํฐ๋ฅผ ๋๋ฅด๊ณ ์คํํ๋ค.
$ wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh
* ์ด ๋ ๋ฆฌ๋
์ค์์ ๋ถ์ฌ๋ฃ๊ธฐ๋ [shift]+[insert]
* ๋ฆฌ๋
์ค ํ์ผ, ๋๋ ํ ๋ฆฌ ๋ฑ ์๋์์ฑ ๋จ์ถํค : Ana..์ฐ๊ณ [Tap] ํค๋ฅผ ๋๋ฅด๋ฉด ์๋ ์์ฑ์ด ๋๋ค.
ํ์ผ ์ค์น ๋์๋์ง ls -al ๋ช
๋ น์ด๋ก ๋๋ ํ ๋ฆฌ ์ ๋ชจ๋ ํ์ผ์ ํ์ธํ๋ค.
ํ์ธํด ๋ณด๋ฉด 'Anaconda3-2023.09-0-Linux-x86_64.sh'' ํ์ผ์ด ํ์ธ๋๋ค.
* ์ด ๋ ls -al ๋ช ๋ น์ด ๋จ์ถํค : ll
sh ํ๋ก๊ทธ๋จ์ผ๋ก Anaconda3-2023.09-0-Linux-x86_64.sh ์ค์น ํ๋ก๊ทธ๋จ ์คํ
sh Anaconda3-2023.09-0-Linux-x86_64.sh
[Space]ํค๋ฅผ ๋๋ฅด๋ฉด more ํ์ฅ ์ฉ ๋์ด๊ฐ๋ค.
๊ทธ ๋ค์ Do you accept the license terms? ๋ผ๊ณ ๋์ค๋ฉด
yes ๋ผ๊ณ ์
๋ ฅํ๊ณ [Enter] ํค
[/home/ํด๋ ์ด๋ฆ/anaconda3] >>> ์ด๋ ๊ฒ ๋์ค๋ฉด [Enter] ํค
๋ค์์
You can undo this by running 'conda init --reverse $SHEEL'? [yes|no]
[no] >>> ๋ผ๋ ๋ฌธ๊ตฌ์๋
yes ์ ๋ ฅํ๊ณ [Enter]ํค (๋ฐ๋์! Enter ํค๋ง ๋๋ฅด๋ฉด ์ค์น๊ฐ ์๋๋ค....)
๊ทธ ๋ค์์ ์๋์ฝ๋ค3๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ค์น๋์๋ค๊ณ ๋์จ๋ค.
๊ทธ๋ฆฌ๊ณ PuTTY ๋ฆฌ๋ ์ค ํฐ๋ฏธ๋ ์ฐฝ์ ๋๊ณ ๋ค์ ์ฐ๊ฒฐํ๋ค.
login as : ํ ๋๋ ํ ๋ฆฌ๋ช (Enter)
๊ทธ๋ฌ๋ฉด (base) ๊ฐ ์๊ธด ๊ฒ์ ๋ณผ ์ ์๋ค.
์๋์ฝ๋ค๋ฅผ ์ค์นํ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ์์ฑ๋๋ ๊ฐ์ ํ๊ฒฝ์ธ (base)๋ ์๋์ฝ๋ค๊ฐ ์ค์น๋ ํ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋ ๊ฐ์ ํ๊ฒฝ์ ๊ฐ๋ฆฌํจ๋ค. ์ด ๊ฐ์ ํ๊ฒฝ์ ์๋์ฝ๋ค์ ํฌํจ๋ ๊ธฐ๋ณธ ํ๊ฒฝ์ผ๋ก์, ์ค์น๋ Python ๋ฐ ๋ค์ํ ํจํค์ง๋ค์ ํฌํจํ๊ณ ์๋ค.
๋ฐ๋ผ์ ์๋์ฝ๋ค๋ฅผ ์ค์นํ๋ฉด (base) ๊ฐ์ ํ๊ฒฝ์ด ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋์ด ํฐ๋ฏธ๋ ๋๋ ๋ช ๋ น ํ๋กฌํํธ์์ Python ๋ฐ ๊ด๋ จ ํจํค์ง๋ค์ ์ฌ์ฉํ ์ ์๋ค. (base) ํ๊ฒฝ ์ธ์๋ ์ถ๊ฐ์ ์ธ ๊ฐ์ ํ๊ฒฝ์ ์์ฑํ์ฌ ํ๋ก์ ํธ๋ง๋ค ๋ ๋ฆฝ์ ์ธ ํ๊ฒฝ์ ๊ตฌ์ฑํ ์ ์๋ค.
์๋์ฝ๋ค ์ค์น ์๋ฃ!
๋ง์ฝ์ ์๋์ฝ๋ค๊ฐ ์ ์ค์น ์๋์๋ค๋ฉด
์๋์ฝ๋ค3 ๋๋ ํ ๋ฆฌ ์ญ์ ํ๊ณ ๋ค์ ์ฌ ์ค์น ํ ๋ค์ ํด๋ณธ๋ค.
๋๋ ํ ๋ฆฌ ์ญ์ ๋ฐฉ๋ฒ : rm -rf anaconda3/ (Enter)
2. ํ์ด์ฌ ๊ฐ์ํ๊ฒฝ ๋ง๋ค๊ธฐ
์ฐ๋ฆฌ๊ฐ AWS ์๋ฒ์ ์ฌ๋ฆฌ๋ ค๊ณ ํ๋ ๊ฒ์ ์คํธ๋ฆผ๋ฆฟ์ผ๋ก ๋ง๋ ์น ๋์๋ณด๋๊ธฐ์
์คํธ๋ฆผ๋ฆฟ์ ํ์ด์ฌ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ํ์ด์ฌ ๊ฐ์ํ๊ฒฝ์ ๋จผ์ ๋ง๋ค์ด์ค์ผ ํ๋ค.
๋จผ์ ํ์ด์ฌ ๋ฒ์ ์ ํ์ธํ๊ณ
ํ์ด์ฌ ๊ฐ์ํ๊ฒฝ์ ๋ง๋๋ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํด์ค๋ค.
$conda create -n ๊ฐ์ํ๊ฒฝ์ด๋ฆ python=3.9 openssl numpy scipy matplotlib ipython scikit-learn pandas pillow jupyter seaborn
๊ทธ๋ฆฌ๊ณ [Enter] ํค๋ฅผ ๋๋ฅด๋ฉด
python -V
$conda create -n ๊ฐ์ํ๊ฒฝ์ด๋ฆ python=3.9 openssl numpy scipy matplotlib ipython scikit-learn pandas pillow jupyter seaborn
๊ฐ์ ํ๊ฒฝ์ด ๋ง๋ค์ด์ง๋ฉด์
Proceed ([y]/n) ? ๋ผ๋ ๋ฌธ๊ตฌ๊ฐ ๋จ๋ฉด
y ๋ฅผ ์
๋ ฅํ๊ณ [Enter]ํค๋ฅผ ๋๋ฅธ๋ค.
์ค์น๊ฐ ์๋ฃ๊ฐ ๋๋ฉด
$ conda cativate ๊ฐ์ํ๊ฒฝ์ด๋ฆ ์ ์ ๋ ฅํ๊ณ [Enter]ํค๋ฅผ ๋๋ฅธ๋ค.
$ conda activate ๊ฐ์ํ๊ฒฝ์ด๋ฆ
conda activate ๋ช ๋ น์ด๋ Conda๋ฅผ ์ฌ์ฉํ์ฌ ์์ฑํ ๊ฐ์ ํ๊ฒฝ์ ํ์ฑํํ๋ ๋ช ๋ น์ด๋ค. ์ด ๋ช ๋ น์ด๋ ๊ฐ์ ํ๊ฒฝ์ ํ์ฑํํ์ฌ ํด๋น ํ๊ฒฝ์ ํฌํจ๋ Python ๋ฒ์ ๊ณผ ํจํค์ง๋ค์ ์ฌ์ฉํ ์ ์๊ฒ ํ๋ค.
๋ช
๋ น์ด๋ฅผ ์คํํ๊ณ ๋๋ฉด ํฐ๋ฏธ๋ ์ฐฝ์ ๋ํ๋ ๋
๋งจ ์์ด (๊ฐ์ํ๊ฒฝ์ด๋ฆ)์ผ๋ก ๋ฐ๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
ํ์ด์ฌ ๊ฐ์ํ๊ฒฝ ์ค์ ๋.
3. ์คํธ๋ฆผ๋ฆฟ(Streamlit) ํ๊ฒฝ์ค์
์คํธ๋ฆผ๋ฆฟ ํ๊ฒฝ์ค์ ์ ํ๊ธฐ ์ ์ ๊ผญ ์คํธ๋ฆผ๋ฆฟ ๊ฐ์ ํ๊ฒฝ์์ ์ค์น๊ฐ ์ด๋ฃจ์ด์ง๋ ์ง ๋๋ ํ ๋ฆฌ๋ฅผ ํ์ธํ๊ณ ์ค์น ํด์ผ ๋๋ค.
ํ์ธ ํ ํฐ๋ฏธ๋ ์ฐฝ์ ์๋์ ๊ฐ์ด ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํด์ค๋ค.
$ pip install streamlit
$ pip install streamlit
streamlit hello (Enter) ์ ๋ ฅํ๋ฉด ์ ์ํ ์ ์๋ ์ฃผ์์ ์๋ฃ ๋์๋ค๋ ๋ฉ์ธ์ง๊ฐ ๋์จ๋ค.
$ streamlit hello
External URL๋ก ์ ์ํ๋ฉด ์ผ๋จ ์ ์์ด ์๋๋ค.
์ด์ ๋ ๋ฐฉํ๋ฒฝ ๋๋ฌธ์ ๋คํธ์ํฌ๋ฅผ ๋ง๋๋ค.
SSH(ํฌํธ 22)๋ ์๊ฒฉ์ผ๋ก ์ธ์คํด์ค์ ์ ์ํ๊ธฐ ์ํด ํ์ํ ํฌํธ๋ก ๋ณด์์์ ์ด์ ๋ก SSH ํฌํธ๋ ํ์ํ ๊ฒฝ์ฐ์๋ง ์ด๋๋ก ๊ถ์ฅํ๋ค.
๊ทธ๋์ ์ ์ํ๊ธฐ ์ํด์ ํฐ๋ฏธ๋ ์ฐฝ์ ๋จ๋ port ๋ฒํธ๋ก ๊ณต๊ฐํด ์ค์ผ ํ๋ค.
AWS EC2 ์ธ์คํด์ค์ ํด๋นํฌํธ๋ฅผ ๊ณต๊ฐํ๋ ๋ฐฉ๋ฒ์ ์๋ ํฌ์คํ ์์ ๋ณผ ์ ์๋ค.
https://ruriruriya.tistory.com/60