์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 | 31 |
- ์ฐ์ํ์ค๋ถ๋ถ์์ด์ํฉ
- ๊ณ ๋์ kit
- Swift
- GroupBy
- 0์ด๋์ด์๋๊ธธ
- URLSession
- Til
- SOPT
- binarySearch
- BFS
- algoritm
- SwiftUI ํํ ๋ฆฌ์ผ
- SQL
- APPJAM
- concurrency
- dfs
- ํ๋ก๊ทธ๋๋จธ์ค
- ๊ธฐ์ด๋ฌธ๋ฒ
- ๋ค์ด๋๋ฏนํ๋ก๊ทธ๋๋ฐ
- ๋์ ๊ณํ๋ฒ
- SwiftUI Tutorials
- duno
- discardableResult
- DynamicProgramming
- algorithm
- GCD
- ์ด์งํ์
- SwiftUI
- HAVIT
- IOS
- Today
- Total
suvera-dev ๐ฅฆ
AWS ๋ฐฐํฌ์๋ํ ๊ตฌ์ถ _ 1. ๋คํธ์ํฌ ํ๊ฒฝ ๊ตฌ์ฑ ๋ณธ๋ฌธ
AWS๋ฅผ ์ด์ฉํด์ ๋ฐฐํฌ์๋ํ ํ๊ฒฝ์ ๊ตฌ์ถํ๋ฉด์ ๋ค์ํ ๋คํธ์ํฌ ์ง์์ ์ฑ์๋๊ฐ ์ ์๋ ์ข์ ๊ธฐํ์๋ค.
๊ตฌ์ถํ๋ ๊ณผ์ ์ ๋ค์ ํ๋ฒ ์ ๋ฆฌํ๋ฉด์ ๊ณต๋ถํ ๋ด์ฉ์ ๋ณด์ถฉํด๋๊ฐ๊ณ ์ ํ๋ค.
์ฐ์ ์ด๋ค ์์ผ๋ก ๊ตฌ์ฑํ ์ง ์ํคํ ์ฒ๋ฅผ ์ง์ผํ๋๋ฐ,
์์ง AWS์ ๋ํ ์ดํด๊ฐ ์๋ฒฝํ์ง ์์์ ๋ค๋ฅธ๋ถ์ ์ํคํ ์ฒ๋ฅผ ๋ณด๊ณ ๋ฐ๋ผํ๋ ์์ผ๋ก ํด๋ณด์๋ค.
( ๋ฒ๋๋๊ป ๊ฐ์ฌ ์ธ์ฌ๋ฅผ ๋๋ฆฝ๋๋ค _ _ )
๊ณ์ ์ ์ฒ์ ๋ง๋ค์์ ๋ ํ๋์ ๋ฆฌ์ ์์ ๋ง๋ค์ด์ง๋ ๋ฆฌ์์ค๋ค์ ๋ค์๊ณผ ๊ฐ๋ค.
- 1 VPC
- n Subnet : n์ ์ฌ์ฉํ ์ ์๋ AZ์ ๊ฐ์
- 1 Route Table
- 1 Network ACL
- 1 Security Group
- 1 Internet Gateway
- 1 DHCP options set
๊ทธ๋์ ์ด 7๊ฐ์ ๋ฆฌ์์ค๋ฅผ ๊ฐ๊ฐ ๋ง๋ค์ด์ฃผ๋ ๊ณผ์ ์ ๊ฑฐ์น๋ฉด ๋๋ค !
1. VPC
์ฐ์ VPC๋ ํ๋ผ์ด๋น ํด๋ผ์ฐ๋๋ฅผ ๋ง๋๋๋ฐ ๊ฐ์ฅ ๊ธฐ๋ณธ์ด ๋๋ ๋ฆฌ์์ค !
์ด๋ฆ์ด๋ IPv4 CIDR ๋ธ๋ก์ ํ์์ ์ผ๋ก ๊ฐ์ง๋๋ค.
์ฌ๊ธฐ์ CIDR ๋ธ๋ก์ด๋ IP์ ๋ฒ์๋ฅผ ์ง์ ํ๋ ๋ฐฉ์์ ์๋ฏธํฉ๋๋ค. IP์ฃผ์์ ์ฌ๋์ ๋ค์ ๋ฐ๋ผ์ค๋ ์๋ธ๋ท๋ง์คํฌ ์ซ์๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, 192.168.0.0/24๋ IP์ฃผ์์์ 24๋ฒ์งธ ๋นํธ๊น์ง ๋คํธ์ํฌ ID๋ก ์ฌ์ฉํ๊ฒ ๋ค๋ ์๋ฏธ์
๋๋ค. ์ด ๋คํธ์ํฌ์ ์๋ธ๋ท ๋ง์คํฌ๋ 255.255.255.0์
๋๋ค. ์ด๊ฒ์ 24๋นํธ๋ก ํํ๋๋ ์๋ธ๋ท ๋ง์คํฌ๋ก, ๋คํธ์ํฌ ์ฃผ์ ๋ถ๋ถ์ 24๋นํธ๊ฐ 1๋ก ์ฑ์์ง๊ณ , ํธ์คํธ ์ฃผ์ ๋ถ๋ถ์ 0์ผ๋ก ์ฑ์์ง๋๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ, ํธ์คํธ ์ฃผ์ ๋ถ๋ถ์ 0๊ณผ 255๋ ๋คํธ์ํฌ ์ฃผ์์ ๋ธ๋ก๋์บ์คํธ ์ฃผ์๋ก ์ฌ์ฉ๋๋ฏ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ IP ์ฃผ์ ๋ฒ์๋ 192.168.0.1๋ถํฐ 192.168.0.254๊น์ง์
๋๋ค. ๋ฐ๋ผ์ ์ด ๋คํธ์ํฌ์์๋ ์ด 254๊ฐ์ ํธ์คํธ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํด๋ผ์ฐ๋์์ ์์ฑํ๋ ์์๋ค์ ๊ธฐ๋ณธ์ ์ผ๋ก ํน์ ๋คํธ์ํฌ ์์์ ์์ฑ๋๋ฉฐ ์ด์ ์ ๊ทผํ๊ธฐ ์ํ ํ๋ผ์ด๋น IP๋ฅผ ๊ฐ์ง๋๋ค. ์ด ๋ฆฌ์์ค๋ค์ ํน์ ํ VPC ์์์ ๋ง๋ค์ด์ง๊ณ , VPC์ CIDR ๋ฒ์ ์์์ ์ ์ ํ IP๋ฅผ ํ ๋น ๋ฐ๊ฒ ๋ฉ๋๋ค. ํ ๋น ๊ฐ๋ฅํ IP๊ฐ ์์ผ๋ฉด ๋ ์ด์ ๋ฆฌ์์ค๋ฅผ ๋ง๋ค ์ ์๊ธฐ ๋๋ฌธ์ ์ ์ ํ ํฌ๊ธฐ์ VPC๋ฅผ ๋ง๋ค์ด์ผ ํฉ๋๋ค ! ํ๋์ ์ต๋ ํฌ๊ธฐ๋ 16์ด๊ธฐ ๋๋ฌธ์ 2^(32-16) = 65536๊ฐ์ IP๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ฌ์ค๋ง ๋์ญ์ ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅ :
10.0.0.0/8 , 172.16.0.0/12 , 192.168.0.0/16
2. Subnet ์์ฑ
- Subnet์ ์ค์ ๋ก ๋ฆฌ์์ค๊ฐ ์์ฑ๋๋ ๋ฌผ๋ฆฌ์ ์ธ ๊ณต๊ฐ์ธ Available Zone๊ณผ ์ฐ๊ฒฐ๋ฉ๋๋ค.
- VPC ์์์ ์ค์ ๋ก ๋ฆฌ์์ค๊ฐ ์์ฑ๋ ์ ์๋ ๋คํธ์ํฌ.
- 1๊ฐ์ VPC๋ n๊ฐ์ ์๋ธ๋ท์ ๊ฐ์ง ์ ์์. ์ต๋ ํฌ๊ธฐ๋ VPC์ ํฌ๊ธฐ์ ๊ฐ๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ AZ๋ฅผ ๊ณ ๋ คํด์ ์ ์ ํ ํฌ๊ธฐ์ ์๋ธ๋ท๋ค์ AZ ์ ๋งํผ ์์ฑํด์ ์ฌ์ฉ.
- n๊ฐ์ AZ ๋งํผ ์๋ธ๋ท์ ๋ง๋ค์ด ๋ฆฌ์์ค๋ฅผ ๋ถ์ฐํ๋ฉด ์ฌํด ๋์ ์ธก๋ฉด์์๋ ์ ๋ฆฌํจ !
- ์๋ธ๋ท์ ๋ท๋ง์คํฌ ๋ฒ์๋ 16์์ 28์ ์ฌ์ฉํ ์ ์๋ค.
- 2๊ฐ ์ด์์ AZ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ผ๋ฐ์ . ๊ธฐ๋ณธ VPC์์๋ AZ ๊ฐ์๋งํผ ๋ท๋ง์คํฌ 20์ ์๋ธ๋ท๋ค์ ์๋์ ์ผ๋ก ์์ฑ.
ํ์ฌ ์์ธ ๋ฆฌ์ ์๋ ์ด 4๊ฐ์ AZ๊ฐ ์์. ์ต์ 2๊ฐ ์ด์์ AZ ์ฌ์ฉ์ ๊ถ์ฅํ๋ฏ๋ก 2๊ฐ ์ฌ์ฉ.
์ฌ๊ธฐ์ a,b๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๊ณ , ๊ฐ AZ์ public subnet 1๊ฐ, private subnet 1๊ฐ๋ฅผ ๋ฐฐ์นํ ๊ฒ์ด๋ค.
- ์ธํฐ๋ท์ ํตํด ์ธ๋ถ์ ํต์ ํ๊ธฐ ์ํด public subnet์ EC2๋ฅผ ๋ฐฐ์น
- private ํ๊ฒ ๊ด๋ฆฌํด์ผํ๋ RDS๋ private subnet์ ๋ฐฐ์น
Public Subnet
๐ก ์ธํฐ๋ท์ ๋ํ Inbound / Outbound ์ก์ธ์ค๋ฅผ ์ง์ํ๋๋ก ์ธํฐ๋ท ๊ฒ์ดํธ์จ์ด์ ๋ํ ๋ผ์ฐํ ํ ์ด๋ธ ํญ๋ชฉ์ ํฌํจํ๊ณ ์๋ ์๋ธ๋ท !
Private Subnet
๐ก ์ธํฐ๋ท ๊ฒ์ดํธ์จ์ด์ ๋ํ ๋ผ์ฐํ ํ ์ด๋ธ ํญ๋ชฉ์ด ์๊ณ , ํผ๋ธ๋ฆญ ์ธํฐ๋ท์์ ์ง์ ์ก์ธ์คํ ์ ์๋ ์๋ธ๋ท
- ์ผ๋ฐ์ ์ผ๋ก ์ธํฐ๋ท๊ณผ์ ํต์ ์ด ํ์ํ ๊ฒฝ์ฐ์, ์ ํ๋ outbound ํผ๋ธ๋ฆญ ์ธํฐ๋ท ์์ธ์ค๋ฅผ ์ง์ํ๊ธฐ ์ํด NAT(Network Address Translation) ๊ฒ์ดํธ์จ์ด ์ฌ์ฉ.
- ๋ผ์ฐํ ํ ์ด๋ธ์ ์ธํฐ๋ท ๊ฒ์ดํธ์จ์ด๋ก ํฅํ๋ ๊ฒฝ๋ก๊ฐ ์๋ค๋ฉด ํ๋ผ์ด๋น ์๋ธ๋ท.
์์ฒ๋ผ ์์ ๋ง๋ค์ด์ค VPC๋ฅผ ์ ํํ๊ณ 4๊ฐ์ ์๋ธ๋ท์ ๋ง๋ค์ด์ค๋ค !
์๋ธ๋ท ์ด๋ฆ | ๊ฐ์ฉ ์์ญ | CIDR |
public-subnet-2a | ap-northeast-2a | 172.20.0.0/20 |
public-subnet-2b | ap-northeast-2b | 172.20.16.0/20 |
private-subnet-2a | ap-northeast-2a | 172.20.32.0/20 |
private-subnet-2b | ap-northeast-2b | 172.20.48.0/20 |
๊ถ๊ธํ๋ ์ : Public ๊ณผ Private๋ฅผ ๋๋๋ ์ด์ ?
• ๊ฒฉ๋ฆฌ๋ ๋คํธ์ํฌ๋ subnet ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ฉฐ, ๊ด๋ฆฌ์๋ ์ธํฐ๋ท์ ๋ ธ์ถ๋ public subnet๊ณผ ๊ทธ๋ ์ง ์์ private subnet์ ๋๋ ์ ์๋ค. => ์น ์๋ฒ๋ฑ์ public subnet์ ๋๊ณ , ์ธ๋ถ๋ก๋ถํฐ ๊ฒฉ๋ฆฌ๊ฐ ํ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค, WAS๋ฑ์ private subnet์ ๋๋ ๋ฑ์ ์์ ๋ก์ด ๊ตฌ์ฑ์ด ๊ฐ๋ฅํ๋ค.
• ๋ผ์ฐํฐ๋ฅผ ๋ง๋ค๊ณ ์ค์ ํ ์ ์๋ค. ๋ผ์ฐํฐ๋ฅผ ์ด์ฉํด์ ํจํท์ ๊ฒฝ๋ก๋ฅผ ์ฌ ์กฐ์ ํ ์ ์๋ค. public subnet์ NAT๋ฅผ ๋ง๋ค๊ณ private subnet์ ํจํท์ NAT๋ฅผ ๊ฒฝ์ ํ๊ฒ ํด์ ์ธํฐ๋ท ์ ๊ทผ์ด ๊ฐ๋ฅํ๊ฒ ํ๋ ๋ฑ์ ๊ตฌ์ฑ์ด ๊ฐ๋ฅํ๋ค.
3. Route Table
- VPC, ์ธํฐ๋ท ์ฐ๊ฒฐ ๋ด Subnet ๊ฐ์ ํจํท์ด ์ ๋ฌ๋๋ ๋ฐฉ๋ฒ์ ์ ์.
- ๋ชฉ์ ์ง๋ฅผ ๋๊ณ , ๋ค์ด์จ ํธ์ถ์ ๋ํด ์ด๋๋ก ๋ณด๋ผ์ง๋ฅผ ๊ฒฐ์ ํ๋ table
- VPC ๋ด์๋ ์๋ธ๋ท์ด ์๊ณ , ๊ฐ ์๋ธ๋ท์ ๊ฐ๊ธฐ ๋ค๋ฅธ ๋คํธ์ํฌ ๋์ญ๋๋ฅผ ๊ฐ๊ณ ์์.
- ํ ์๋ธ๋ท์ด ๋ค๋ฅธ ์๋ธ๋ท์ผ๋ก ๊ฐ๊ธฐ ์ํด์๋ ๋ผ์ฐํ ์ด ํ์ํจ.
- ํ๋์ ๋ผ์ฐํธ ํ ์ด๋ธ์ VPC์ ์ํ ๋ค์์ ์๋ธ๋ท์์ ์ฌ์ฉํ ์ ์์.
** ์๋ ์์ฑ๋๋ ๋ผ์ฐํธ ํ ์ด๋ธ์๋ ํ ๊ฐ์ง ๋ฃฐ์ด ์ ์๋์ด ์์.
- VPC์ CIDR ๋ธ๋ญ์ ๋ชฉ์ ์ง๋ก ํ๋ ๊ฒฝ์ฐ ํ๊น์ด local์ธ ๊ท์น์ ๋๋ค. ์๋ฅผ ๋ค์ด 172.31.0.0/16 ์ผ๋ ์ด ๋คํธ์ํฌ ์์์ ๋ชฉ์ ์ง๊ฐ 172.31.0.0/16 ๋ฒ์์ ์๋ ๋ฆฌ์์ค๋ฅผ ์ฐพ๋๋ค๋ฉด VPC ๋ด๋ถ์์ ์ฐพ๋๋ค.
์ด๋ ๊ฒ 2๊ฐ์ route table์ ์์ฑํด์ฃผ์. private-rt ๋ ๊ธฐ๋ณธ์ผ๋ก ์์ฑ๋ table์ ์ด๋ฆ์ ๋ฐ๊พผ ๊ฒ์ด๋ค.
๊ทธ๋ฆฌ๊ณ private-rt์๋ private subnet์, public-rt์๋ public subnet์ ๊ฐ 2๊ฐ์ฉ ์ฐ๊ฒฐํด์ค๋ค !
์์ธ -> ์๋ธ๋ท ์ฐ๊ฒฐ
4. Internet Gateway ์์ฑ
- VPC์ ์ธํฐ๋ท์ ์ฐ๊ฒฐํ๋ ๊ฐ์ ๋ผ์ฐํฐ
- ๋ผ์ฐํ ํ ์ด๋ธ์ ์ธํฐ๋ท ๊ฒ์ดํธ์จ์ด๋ฅผ ํฅํ๋ ์ ์ ํ ๊ท์น์ ์ถ๊ฐํด์ฃผ๋ฉด ํน์ ์๋ธ๋ท์ด ์ธํฐ๋ท๊ณผ ์ฐ๊ฒฐ๋จ.
- but, ์ธํฐ๋ท์ ์ฌ์ฉํ๊ณ ์ํ๋ ๋ฆฌ์์ค๋ ํผ๋ธ๋ฆญ IP๋ฅผ ๊ฐ์ง๊ณ ์์ด์ผํจ.
- ์ด๋ฒ์๋ public subnet์ EC2๋ฅผ ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์, ์ธํฐ๋ท๊ฒ์ดํธ์จ์ด๋ฅผ public subnet๊ณผ ์ฐ๊ฒฐํ๋ฉด๋๋ค.
์์ฑํ ์ธํฐ๋ท ๊ฒ์ดํธ์จ์ด๋ฅผ ํด๋ฆญํ๊ณ ์์ ์์ VPC ์ฐ๊ฒฐ์ ์ ํํ๋ค.
์ด์ ์ธํฐ๋ท ๊ฒ์ดํธ์จ์ด๋ฅผ public subnet๊ณผ ์ฐ๊ฒฐํด์ค๋ค.
๋ผ์ฐํ ํ ์ด๋ธ ์ฝ์๋ก ์ด๋ํด์ public-rt์ ๋ผ์ฐํ ์ ํธ์งํด์ค๋ค.
5. Security Group ์์ฑ
- Security Group, ์ฆ ๋ณด์๊ทธ๋ฃน์ AWS ๋ฆฌ์์ค์ ๋ํ ์ธ๋ฐ์ด๋ ๋ฐ ์์๋ฐ์ด๋ ํธ๋ํฝ์ ์ ์ดํ๋ ๊ฐ์ ๋ฐฉํ๋ฒฝ !
- ๋ณด์ ๊ทธ๋ฃน์ ์๋ธ๋ท ์์ค์ด ์๋๋ผ, ์ธ์คํด์ค ์์ค์์ ์๋ํ์ฌ VPC์ ์๋ ์๋ธ๋ท์ ๊ฐ ์ธ์คํด์ค์ ์๋ก ๋ค๋ฅธ ๋ณด์ ๊ทธ๋ฃน์ ํ ๋นํ ์ ์์ !!
- ๋คํธ์ํฌ ACL ๊ณผ์ ์ฐจ์ด : ๋คํธ์ํฌ ACL ๋ํ ์ธ๋ฐ์ด๋ ๋ฐ ์์๋ฐ์ด๋ ํธ๋ํฝ์ ์ ์ดํ๋ ๊ฐ์ ๋ฐฉํ๋ฒฝ์ด๊ณ , ๋ค์์ ์๋ธ๋ท์์ ์ฌ์ฌ์ฉํ ์ ์๋ค. ๋ณด์๊ทธ๋ฃน์ ์ธ์คํด์ค์ ์๋จ์์ ํธ๋ํฝ์ ์ ์ดํ๋ ๊ฐ์ ๋ฐฉํ๋ฉฑ์ธ ๋ฐ๋ฉด, ๋คํธ์ํฌ ACL์ ์๋ธ๋ท ์๋จ์์ ํธ๋ํฝ์ ์ ์ดํ๋ ์ญํ ์ ํฉ๋๋ค. ๋ฐ๋ผ์ ๋คํธ์ํฌ ACL์ ๊ท์น์ ํต๊ณผํ๋๋ผ๋ ๋ณด์๊ทธ๋ฃน์ ๊ท์น์ ํต๊ณผํ์ง ๋ชปํ๋ฉด ์ธ์คํด์ค์๋ ํต์ ํ ์ ์์ !!
1๋ฒ์งธ ๋ณด์ ๊ทธ๋ฃน : ELB ๋ณด์๊ทธ๋ฃน
- ์ดํ์ ์์ฑํ ELB๋ ์ธ๋ถ๋ก๋ถํฐ ๋ค์ด์ค๋ ํธ๋ํฝ์ ๋ํด ๋ถ์ฐ ๋๋ ์ฅ์ ์ํฉ์์์ ๋ถ๋ฆฌํ๊ฒฝ์ ๊ตฌ์ฑํ์ฌ ๋์ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ AWS ๋ฆฌ์์ค.
- ELB๋ ์ธ๋ถ ์ธํฐ๋ท ๊ฒ์ดํธ์จ์ด๋ก๋ถํฐ ๋ค์ด์ค๋ http์ https ์์ฒญ์ ๋ฐ์์ผ ํ๋ฏ๋ก, 80๊ณผ 443์ port๋ฅผ ์ด์ด๋ ๊ฒ.
2๋ฒ์งธ ๋ณด์ ๊ทธ๋ฃน : ECS-EC2 ๋ณด์๊ทธ๋ฃน
- ECS๋ก ๋ถํฐ ๋์ปค๋ผ์ด์ฆํ ์ด๋ฏธ์ง ํ์ผ์ EC2์ ๋ฐฐํฌ.
- ECS๋ ํ๊ฒ ELB๋ฅผ ํ๊ณ ๋ค์ด์ค๊ธฐ ๋๋ฌธ์, EC2์์๋ ๋ณด์๊ทธ๋ฃน์ผ๋ก ELB๋ง ์ง์ ํด ๋์ผ๋ฉด ๋๋ค.
- ์ถ๊ฐ์ ์ผ๋ก ์ด์ ์ EC2 ์๋ฒ์ ๋ค์ด๊ฐ ์์ ํ ์ ์๊ธฐ ๋๋ฌธ์ SSH ์ ๊ทผ์ ์ํด 22๋ฒ ํฌํธ๋ฅผ ์ด์ด๋๋ค.
์ด๋ ๊ฒ ํ๋ฉด ๋คํธ์ํฌ ๊ตฌ์ถ์ ์๋ฃ !