๐ ์ค๋ต๋ ธํธ - Q342
โ ๋ฌธ์ ์์ฝ
- ํ์ฌ๋ EC2์์ HPC(๊ณ ์ฑ๋ฅ ์ปดํจํ ) ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํ ์ค.
- ๋ ๊ฐ ์ด์์ EC2 ์ธ์คํด์ค๋ฅผ ํ์ฅํด์ผ ํจ.
- HPC ํน์ฑ์ ์งง์ ์ง์ฐ ์๊ฐ, ๋น ๋ฅธ ์๋๋ก ์ธ์คํด์ค ๊ฐ ํต์ ํ์.
- SysOps ๊ด๋ฆฌ์๊ฐ ํด์ผ ํ ์ผ์?
โ ์ ๋ต
A. ํด๋ฌ์คํฐ ๋ฐฐ์น ๊ทธ๋ฃน์ ์์ฑํ๊ณ EC2 ์ธ์คํด์ค๋ฅผ AMI๋ก ๋ณต์ํ์ฌ ๊ทธ๋ฃน์์ ์์
- ํด๋ฌ์คํฐ ๋ฐฐ์น ๊ทธ๋ฃน(Cluster Placement Group) ์ HPC ์ํฌ๋ก๋์ฒ๋ผ ์ธ์คํด์ค ๊ฐ์ ์ ์ง์ฐ, ๊ณ ๋์ญํญ ํต์ ์ ์ ๊ณต.
- ๊ฐ์ ๊ฐ์ฉ ์์ญ(AZ)์ ์ธ์คํด์ค๋ฅผ ๋ฐ์ง ๋ฐฐ์นํ์ฌ ๋คํธ์ํฌ ์ฑ๋ฅ ๊ทน๋ํ.
- ๋ฐ๋ผ์ HPC ์ ํ๋ฆฌ์ผ์ด์ ์๊ตฌ์ฌํญ์ ์ถฉ์กฑํ๋ ์ ์ผํ ํด๋ต.
โ ์ค๋ต ํด์ค
- B. AMI ์์ฑ ํ Auto Scaling
→ Auto Scaling์ ๊ฐ์ฉ์ฑ/ํ์ฅ์ฑ์๋ ์ข์ง๋ง, ์ ์ง์ฐ ํต์ ๋ณด์ฅ์ ๋ถ๊ฐ. HPC ํ๊ฒฝ ์๊ตฌ์ฌํญ์ ์ถฉ์กฑํ์ง ๋ชปํจ. - C. NLB ์ฌ์ฉ
→ ๋ก๋ ๋ฐธ๋ฐ์๋ ์ธ๋ถ ํธ๋ํฝ ๋ถ์ฐ์ฉ์ด์ง, ์ธ์คํด์ค ๊ฐ ๋ด๋ถ ํต์ ์ต์ ํ์๋ ๋ฌด๊ด. - D. ๋์ผ AZ ๋ด ๋ณต์ ๋ณธ ์์ฑ
→ ๋จ์ํ ๊ฐ์ AZ ๋ด์ ์์ด๋ ์ ์ง์ฐ ๊ณ ์ ๋คํธ์ํน์ด ๋ณด์ฅ๋์ง ์์. ๋ฐ๋์ ๋ฐฐ์น ๊ทธ๋ฃน ํ์.
๐ ๋น๊ต ํ
| ์ต์ | ์ค๋ช | ์ ํฉ ์ฌ๋ถ |
| A | ํด๋ฌ์คํฐ ๋ฐฐ์น ๊ทธ๋ฃน ์์ฑ → HPC์ฉ ์ ์ง์ฐ ๋คํธ์ํน ๋ณด์ฅ | โ ์ ๋ต |
| B | AMI + Auto Scaling → ํ์ฅ์ฑ O, HPC ์ฑ๋ฅ โ | โ |
| C | NLB → ์ธ๋ถ ํธ๋ํฝ ๋ก๋ ๋ถ์ฐ์ฉ, HPC ๋ด๋ถ ํต์ โ | โ |
| D | ๋์ผ AZ ๋ด ๋ณต์ ๋ณธ ์์ฑ → ์์น๋ง ๊ฐ์, HPC ์ฑ๋ฅ โ | โ |
๐ HPC ์ธ์คํด์ค ๋ฐฐ์น ๊ตฌ์กฐ (Mermaid)
```mermaid
graph TD
subgraph AZ1["๐ข ๊ฐ์ฉ ์์ญ: AZ1"]
EC2A["๐ป EC2 ์ธ์คํด์ค A"]
EC2B["๐ป EC2 ์ธ์คํด์ค B"]
EC2C["๐ป EC2 ์ธ์คํด์ค C"]
end
EC2A <--> EC2B
EC2B <--> EC2C
EC2A <--> EC2C
AZ1 -.-> Note["โก ํด๋ฌ์คํฐ ๋ฐฐ์น ๊ทธ๋ฃน: ์ ์ง์ฐ + ๊ณ ๋์ญํญ ๋คํธ์ํน"]
```

๐ ๊ฒฐ๊ณผ ์ค๋ช
- ๐ข AZ1 ๋ด๋ถ์ ๐ป EC2 ์ธ์คํด์ค A, B, C ์กด์ฌ
- ๋ชจ๋ ์ธ์คํด์ค ๊ฐ์ ์๋ฐฉํฅ ๋คํธ์ํฌ ์ฐ๊ฒฐ (<-->)
- ์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋ ์ค๋ช ๋ ธ๋: โก ํด๋ฌ์คํฐ ๋ฐฐ์น ๊ทธ๋ฃน (์ ์ง์ฐ + ๊ณ ๋์ญํญ)
๐ฏ ํต์ฌ ๊ฐ๋ ์ ๋ฆฌ
- HPC(๊ณ ์ฑ๋ฅ ์ปดํจํ ) ์ํฌ๋ก๋๋ ์ธ์คํด์ค ๊ฐ ํต์ ์ง์ฐ ์ต์ํ๊ฐ ํต์ฌ.
- ์ผ๋ฐ์ ์ธ Auto Scaling, NLB, ๋จ์ ๋ณต์ ๋ณธ์ผ๋ก๋ ํด๊ฒฐ ๋ถ๊ฐ.
- ํด๊ฒฐ์ฑ = ํด๋ฌ์คํฐ ๋ฐฐ์น ๊ทธ๋ฃน(Cluster Placement Group).
๐ Q342์ ํฌ์ธํธ๋ HPC = Placement Group (Cluster) ์ด๋ผ๋ ์ฐ๊ด์ฑ์ ๊ธฐ์ตํ๋ ๊ฒ์ ๋๋ค.
๐ ์ค๋ต๋ ธํธ - Q344
โ ๋ฌธ์ ์์ฝ
- ํ์ฌ๋ us-west-2 ๋ฆฌ์ ALB ๋ค ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด์ ์ค.
- Route 53 ๋ ์ฝ๋๋ app.anycompany.com → us-west-2 ALB.
- ์ต๊ทผ ap-southeast-2 ๋ฆฌ์ ์ฌ์ฉ์ ์ฆ๊ฐ → ์ง์ฐ ์๊ฐ(latency) ๋ฌธ์ ๋ฐ์.
- ์ ํ๋ฆฌ์ผ์ด์ ์ฌ๋ณธ์ ap-southeast-2์๋ ๋ฐฐํฌ.
- ๋ชฉํ: URL ๋ณ๊ฒฝ ์์ด ๊ฐ์ฅ ๋ฎ์ ๋๊ธฐ ์๊ฐ์ ์๋ํฌ์ธํธ๋ก ๋ผ์ฐํ .
โ ์ ๋ต
C. ๋๊ธฐ ์๊ฐ ๋ผ์ฐํ ์ ์ฑ (Latency Routing Policy)์ ์ฌ์ฉํ๋๋ก ๊ธฐ์กด ๋ณ์นญ ๋ ์ฝ๋ ๋ณ๊ฒฝ
- Route 53์ Latency-based Routing์ ์ฌ์ฉ์ ์์ฒญ์ ์ง์ฐ ์๊ฐ์ด ๊ฐ์ฅ ์งง์ ๋ฆฌ์ ์ ๋ฆฌ์์ค๋ก ๋ผ์ฐํ .
- ์ฆ, ๋ฏธ๊ตญ ์ฌ์ฉ์ → us-west-2, ํธ์ฃผ/๋ด์ง๋๋ ์ฌ์ฉ์ → ap-southeast-2.
- URL์ ๊ทธ๋๋ก ์ ์ง๋๋ฉด์ ์ง๋ฆฌ์ ์ผ๋ก ์ต์ ํ๋ ์ ๊ทผ์ด ๊ฐ๋ฅ.
โ ์ค๋ต ํด์ค
- A. ap-southeast-2 ALB DNS ์ด๋ฆ์ ๊ธฐ์กด ๋ ์ฝ๋์ ์ถ๊ฐ
→ ๋จ์ํ ALB DNS ์ด๋ฆ์ ์ถ๊ฐํ๋ฉด ๋ผ์ด๋ ๋ก๋น์ฒ๋ผ ์๋. ์ง์ฐ ์๊ฐ ๊ธฐ๋ฐ ๋ถ์ฐ์ด ์๋. - B. ์ง๋ฆฌ์ ์์น ๋ผ์ฐํ
์ ์ฑ
→ ํน์ ๊ตญ๊ฐ/์ง์ญ ๊ธฐ๋ฐ์ผ๋ก๋ง ๋ผ์ฐํ . "์ง์ฐ ์๊ฐ ์ต์ ํ" ๋ชฉ์ ์๋ ๋ง์ง ์์. - D. ๋ค์ค๊ฐ ๋ผ์ฐํ
์ ์ฑ
(Multi-Value Answer)
→ ์ฌ๋ฌ ALB DNS๋ฅผ ๋ฐํ → ํด๋ผ์ด์ธํธ ๋จ์์ ๋ฌด์์ ์ ํ. ์ง์ฐ ์๊ฐ ๋ณด์ฅ์ ์์.
๐ ๋น๊ต ํ
| ์ต์ | ์ค๋ช | ์ ํฉ ์ฌ๋ถ |
| A | ๋จ์ DNS ์ถ๊ฐ (๋ผ์ด๋ ๋ก๋น) | โ |
| B | ์ง๋ฆฌ ๊ธฐ๋ฐ ๋ผ์ฐํ (๊ตญ๊ฐ ๋จ์) | โ |
| C | ์ง์ฐ ์๊ฐ ๋ผ์ฐํ → ์ฌ์ฉ์์๊ฒ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ฆฌ์ ์ ํ | โ ์ ๋ต |
| D | ๋ค์ค DNS ์๋ต ๋ฐํ (๋๋ค์ฑ, ์ง์ฐ ์ต์ ํ โ) | โ |
๐ Route 53 Latency Routing ๋์ ๊ตฌ์กฐ (Mermaid)
```mermaid
graph TD
User1["๐ค ์ฌ์ฉ์: ๋ฏธ๊ตญ ์๋ถ"] --> Route53["๐ Amazon Route 53"]
User2["๐ค ์ฌ์ฉ์: ํธ์ฃผ"] --> Route53
Route53 -->|"โก ๋ฎ์ ์ง์ฐ ์๊ฐ ์ ํ"| ALB_US["โ๏ธ ALB: us-west-2"]
Route53 -->|"โก ๋ฎ์ ์ง์ฐ ์๊ฐ ์ ํ"| ALB_AUS["โ๏ธ ALB: ap-southeast-2"]
```

๐ ๊ฒฐ๊ณผ ์ค๋ช
- ๐ค ๋ฏธ๊ตญ ์๋ถ ์ฌ์ฉ์, ๐ค ํธ์ฃผ ์ฌ์ฉ์
→ ๐ Route 53 ์ผ๋ก DNS ์์ฒญ ์ ๋ฌ - Route 53์ โก ์ง์ฐ ์๊ฐ์ด ๋ฎ์ ๋ฆฌ์ ์ ํ
- ๋ฏธ๊ตญ ์๋ถ → โ๏ธ ALB (us-west-2)
- ํธ์ฃผ → โ๏ธ ALB (ap-southeast-2)
๐ฏ ํต์ฌ ๊ฐ๋ ์ ๋ฆฌ
- Latency Routing Policy = "๊ฐ์ฅ ๊ฐ๊น์ด(์ง์ฐ ๋ฎ์) ๋ฆฌ์ "์ผ๋ก ํธ๋ํฝ ๋ผ์ฐํ .
- ์ง๋ฆฌ์ ๋ผ์ฐํ (Geolocation)๊ณผ๋ ๊ตฌ๋ณํด์ผ ํจ.
- ๋ฉํฐ ๋ฆฌ์ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ ์ ๊ฐ์ฅ ์์ฃผ ์ฐ์ด๋ ์ ์ฑ .
๐ Q344 ํต์ฌ ํฌ์ธํธ๋ ๋ฉํฐ ๋ฆฌ์ ์ฌ์ฉ์ ์ง์ฐ ์๊ฐ ๋ฌธ์ = Route 53 Latency-based Routing์ด๋ผ๋ ์ ์ ๋๋ค.
๐ ์ค๋ต๋ ธํธ - Q345
โ ๋ฌธ์ ์์ฝ
- ํ์ฌ๋ ๋์ผํ ๋ฆฌ์ ์ 50๊ฐ์ Amazon S3 ๋ฒํท์ ๋ณด์ .
- Amazon EC2 ์ธ์คํด์ค๊ฐ ํ๋ผ์ด๋น ์ฐ๊ฒฐ์ ํตํด S3 ๋ฒํท๊ณผ ์์ ํ๊ฒ ํต์ ํด์ผ ํจ.
- ์กฐ๊ฑด: ์ถ๊ฐ ๋น์ฉ์ด ์๋ ์๋ฃจ์ ํ์.
โ ์ ๋ต
C. ๋ชจ๋ S3 ๋ฒํท์ ๋ํด ํ๋์ ๊ฒ์ดํธ์จ์ด VPC ์๋ํฌ์ธํธ ์์ฑ ํ ๋ผ์ฐํ ํ ์ด๋ธ์ ์ถ๊ฐ
- S3์ฉ VPC Gateway Endpoint๋ ๋ฌด๋ฃ๋ก ์ ๊ณต๋จ.
- ๋จ์ผ ์๋ํฌ์ธํธ๋ก ๋ฆฌ์ ๋ด ๋ชจ๋ S3 ๋ฒํท์ ์ ๊ทผ ๊ฐ๋ฅ.
- ๋ผ์ฐํ ํ ์ด๋ธ์ ์๋ํฌ์ธํธ๋ฅผ ์ถ๊ฐํ๋ฉด EC2 → S3 ํธ๋ํฝ์ด ํ๋ผ์ด๋น ๋คํธ์ํฌ ๋ด๋ถ์์ ์์ ํ๊ฒ ์ด๋.
โ ์ค๋ต ํด์ค
- A. ๊ฐ S3 ๋ฒํท๋ง๋ค ๊ฐ๋ณ VPC Gateway Endpoint ์์ฑ
→ ์๋ํฌ์ธํธ๋ S3 ์ ์ฒด ์๋น์ค ๋จ์๋ก ๋์. ๋ฒํท๋ณ ์์ฑ ๋ถํ์ + ๊ด๋ฆฌ ๋ณต์ก๋ ์ฆ๊ฐ. - B. ๊ฐ S3 ๋ฒํท๋ง๋ค Interface Endpoint ์์ฑ
→ S3๋ Interface Endpoint ๋์ Gateway Endpoint๊ฐ ๊ถ์ฅ๋จ. ๋ํ Interface Endpoint๋ ๋น์ฉ ๋ฐ์. - D. ๋ชจ๋ ๋ฒํท์ ๋ํด ๋จ์ผ Interface Endpoint ์์ฑ
→ ๊ฐ๋ฅํ๋ ๋น์ฉ ๋ฐ์. ๋ฌธ์ ์กฐ๊ฑด(“์ถ๊ฐ ๋น์ฉ ์์”) ์๋ฐฐ.
๐ ๋น๊ต ํ
| ์ต์ | ์ค๋ช | ๋น์ฉ | ์ ํฉ ์ฌ๋ถ |
| A | S3 ๋ฒํท๋ณ Gateway Endpoint ์์ฑ | ๋ฌด๋ฃ | โ ๋ถํ์/๋นํจ์จ |
| B | S3 ๋ฒํท๋ณ Interface Endpoint ์์ฑ | ์ ๋ฃ | โ ๋น์ฉ ๋ฌธ์ |
| C | ๋จ์ผ Gateway Endpoint ์์ฑ ํ ๋ผ์ฐํ ํ ์ด๋ธ ์ถ๊ฐ | ๋ฌด๋ฃ | โ ์ ๋ต |
| D | ๋จ์ผ Interface Endpoint ์์ฑ | ์ ๋ฃ | โ ๋น์ฉ ๋ฌธ์ |
๐ VPC Endpoint ๊ตฌ์กฐ (Mermaid)
```mermaid
graph TD
EC2["๐ป Amazon EC2 ์ธ์คํด์ค"] --> VPC_GW["๐ VPC Gateway Endpoint"]
VPC_GW --> S3["๐ฆ Amazon S3: ๋ฆฌ์ ๋ด ๋ชจ๋ ๋ฒํท"]
VPC_GW -.-> Note["๐ ํธ๋ํฝ์ ์ธํฐ๋ท์ ๊ฑฐ์น์ง ์๊ณ VPC ๋ด๋ถ์์ ์์ ํ๊ฒ ์ ์ก๋จ"]
```

๐ ๊ฒฐ๊ณผ ์ค๋ช
- ๐ป EC2 ์ธ์คํด์ค → ๐ VPC Gateway Endpoint → ๐ฆ Amazon S3
- ๋ฐ์ดํฐ ์ ์ก ์ ๐ ์ธํฐ๋ท์ ๊ฑฐ์น์ง ์๊ณ VPC ๋ด๋ถ์์ ์์ ํ๊ฒ ์ฒ๋ฆฌ๋จ
- ์ ์ ํ์ดํ๋ก ๋ณด์ ๊ด๋ จ ๋ถ๊ฐ ์ค๋ช ๊ฐ์กฐ
๐ฏ ํต์ฌ ๊ฐ๋ ์ ๋ฆฌ
- VPC Endpoint ์ข
๋ฅ
- Gateway Endpoint: S3, DynamoDB ์ ์ฉ / ๋ฌด๋ฃ / ๋ผ์ฐํ ํ ์ด๋ธ ๊ธฐ๋ฐ.
- Interface Endpoint: ENI(Elastic Network Interface) ๋ฐฉ์ / ๋๋ถ๋ถ์ AWS ์๋น์ค / ๋น์ฉ ๋ฐ์.
- ๋ฌธ์ ์กฐ๊ฑด "์ถ๊ฐ ๋น์ฉ ์์" = Gateway Endpoint ์ ํ์ด ์ ๋ต.
๐ Q345 ํต์ฌ ํฌ์ธํธ๋ S3์ DynamoDB๋ Gateway VPC Endpoint๋ผ๋ ์ ์ ๊ธฐ์ตํ๋ ๊ฒ์ ๋๋ค.
๐ ์ค๋ต๋ ธํธ - Q355
โ ๋ฌธ์ ์์ฝ
- ํ์ฌ๋ ๋ค์์ Amazon EC2 ์ธ์คํด์ค์์ ์ ํ๋ฆฌ์ผ์ด์ ์คํ ์ค.
- ์๊ตฌ์ฌํญ: EC2 ์ธ์คํด์ค ์ํ ๋ณ๊ฒฝ(Event) ๋ฐ์ ์ ์ด์ํ์๊ฒ ์๋ฆผ ์ ๊ณต.
- ์กฐ๊ฑด: ๊ฐ์ฅ ์ด์ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ ์ ํ.
โ ์ ๋ต
B. EC2 ์ธ์คํด์ค ์ํ ๋ณ๊ฒฝ์ ์บก์ฒํ๋ Amazon EventBridge ๊ท์น ์์ฑ ํ SNS ์ฃผ์ ๋ฅผ ๋์์ผ๋ก ์ค์
- Amazon EventBridge๋ AWS ๋ฆฌ์์ค ์ด๋ฒคํธ(์: EC2 ์ํ ๋ณ๊ฒฝ)๋ฅผ ์๋์ผ๋ก ์บก์ฒ.
- ์ด๋ฒคํธ๋ฅผ Amazon SNS ์ฃผ์ ๋ก ์ ๋ฌํ๋ฉด ์ด์ํ์ ์ด๋ฉ์ผ/๋ฉ์์ง ์๋ฆผ ์ ์ก ๊ฐ๋ฅ.
- ์๋ฒ๋ฆฌ์ค + ์๋ํ๋ก ๋ณ๋์ ์คํฌ๋ฆฝํธ๋ ๊ด๋ฆฌ ๋ถ๋ด ์์.
โ ์ค๋ต ํด์ค
- A. ์คํฌ๋ฆฝํธ + SNS
→ ์๋์ ์ธ ๋ฐฉ์์ด๋ฉฐ EC2 ์ ์ฒด์ ์คํฌ๋ฆฝํธ๋ฅผ ์ค์นํด์ผ ํ๋ฏ๋ก ์ด์ ์ค๋ฒํค๋ ์ฆ๊ฐ. - C. EventBridge + SNS + Lambda
→ ๋์์ ๊ฐ๋ฅํ๋, ๋จ์ ์๋ฆผ๋ง ํ์ํ ๋ Lambda๋ ๋ถํ์ํ ๋ณต์ก์ฑ. - D. AWS Config + Lambda + SNS
→ Config๋ ๋ฆฌ์์ค ๊ท์ ์ค์/๊ตฌ์ฑ ๋ณ๊ฒฝ ๊ฐ์์ฉ. ๋จ์ EC2 ์ํ ๋ณ๊ฒฝ ์๋ฆผ์๋ ๊ณผ๋ํ ์๋ฃจ์ .
๐ ๋น๊ต ํ
| ์ต์ | ๋ฐฉ์ | ํน์ง | ์ ํฉ ์ฌ๋ถ |
| A | ์คํฌ๋ฆฝํธ + SNS | ์ด์์๊ฐ ์ง์ ์คํฌ๋ฆฝํธ ์์ฑ/๊ด๋ฆฌ ํ์ | โ ๋นํจ์จ |
| B | EventBridge → SNS | ์๋ํ, ์๋ฒ๋ฆฌ์ค, ์ด์ ๋ถ๋ด ์ต์ํ | โ ์ ๋ต |
| C | EventBridge → Lambda → SNS | ๋ถํ์ํ Lambda ๊ณ์ธต ์ถ๊ฐ | โ ๊ณผ๋ |
| D | Config ๊ท์น + Lambda + SNS | ๊ตฌ์ฑ ๊ท์ ์ค์ ๋ชฉ์ , ๋จ์ ์ด๋ฒคํธ์ ๊ณผํจ | โ ๋ถ์ ์ |
๐ ์ด๋ฒคํธ ํ๋ฆ๋ (Mermaid)
```mermaid
flowchart TD
EC2["๐ป EC2 ์ธ์คํด์ค: ์ํ ๋ณ๊ฒฝ"] --> EventBridge["๐ชข Amazon EventBridge"]
EventBridge --> SNS["๐จ Amazon SNS: ์ฃผ์ "]
SNS --> OpsTeam["๐จ๐ป ์ด์ํ ์๋ฆผ: Email / SMS"]
```

๐ ๊ฒฐ๊ณผ ์ค๋ช
- ๐ป EC2 ์ธ์คํด์ค ์ํ ๋ณ๊ฒฝ ์ด๋ฒคํธ ๋ฐ์
- → ๐ชข EventBridge ๊ฐ ์ด๋ฒคํธ๋ฅผ ๊ฐ์ง ๋ฐ ์ ๋ฌ
- → ๐จ SNS ์ฃผ์ ๋ก ๊ฒ์
- → ๐จ๐ป ์ด์ํ์ด Email / SMS๋ก ์๋ฆผ ์์
๐ฏ ํต์ฌ ๊ฐ๋ ์ ๋ฆฌ
- Amazon EventBridge = AWS ์ด๋ฒคํธ ๋ฒ์ค, ๋ฆฌ์์ค ์ํ ๋ณ๊ฒฝ ์๋ ์บก์ฒ.
- Amazon SNS = ๋ฉ์์ง ๋ธ๋ก์ปค ์๋น์ค, ์ด์ํ ์๋ฆผ ๋ฐ์ก.
- ์กฐํฉํ๋ฉด "์ํ ๋ณ๊ฒฝ → ์๋ ์๋ฆผ" ์๋๋ฆฌ์ค๋ฅผ ๊ฐ์ฅ ๋จ์ํ๊ณ ํจ์จ์ ์ผ๋ก ๊ตฌํ ๊ฐ๋ฅ.
๐ Q355์ ํต์ฌ์ **"EC2 ์ํ ๋ณ๊ฒฝ ์๋ฆผ์ EventBridge + SNS ์กฐํฉ์ด ์ ์"**์ด๋ผ๋ ์ ์ ๋๋ค.
๐ ์ค๋ต๋ ธํธ - Q361
โ ๋ฌธ์ ์์ฝ
- ํ๊ฒฝ: ALB ๋ค Amazon EC2 (Auto Scaling ๊ทธ๋ฃน)์์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์คํ ์ค.
- ์ํฉ: ์์ฌ์ค๋ฌ์ด ํธ๋ํฝ์ด ๋จ์ผ ๊ณต์ฉ IP์์ ๋ฐ์.
- ์๊ตฌ์ฌํญ: SysOps ๊ด๋ฆฌ์๋ ํด๋น ๊ณต์ฉ IP ์ฃผ์๋ฅผ ์ฐจ๋จํด์ผ ํจ.
โ ์ ๋ต
D. AWS WAF์ ์ค์ ๋ IPSet์ ์ ์ฑ IP ์ฃผ์๋ฅผ ์ถ๊ฐํ๊ณ , Web ACL์ ALB์ ์ฐ๊ฒฐํ์ฌ ์ฐจ๋จ
- AWS WAF๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฉํ๋ฒฝ์ผ๋ก, IP ์ฐจ๋จ ๊ท์น์ Web ACL์ ์ ์ ๊ฐ๋ฅ.
- IPSet์ ๋ง๋ค์ด ์ฐจ๋จํ IP ์ฃผ์๋ฅผ ๋ฑ๋ก.
- Web ACL์ ALB์ ์ฐ๊ฒฐ → ํด๋น IP์์ ์ค๋ ์์ฒญ ์๋ BLOCK.
- ๊ฐ์ฅ ํจ์จ์ ์ด๊ณ ์ด์ ํ์ค์ ๋ถํฉํ๋ ๋ฐฉ๋ฒ.
โ ์ค๋ต ํด์ค
- A. ๋ณด์ ๊ทธ๋ฃน ๊ท์น์ผ๋ก IP ์ฐจ๋จ
→ ๋ณด์ ๊ทธ๋ฃน์ L4 ์์ค(์ธ์คํด์ค ๋ ๋ฒจ) ํธ๋ํฝ ์ ์ด ๊ฐ๋ฅ.
ํ์ง๋ง ALB ๋ค์ ์ฌ๋ฌ EC2 ์ธ์คํด์ค๊ฐ Auto Scaling์ผ๋ก ์ด์๋๋ฉด ๊ฐ๋ณ ์ธ์คํด์ค ์ ์ด๋ ๋นํจ์จ์ . - B. Amazon Detective ์ฌ์ฉ
→ Detective๋ ๋ณด์ ์กฐ์ฌ ๋ฐ ํฌ๋ ์ ๋ถ์ ๋๊ตฌ.
ํธ๋ํฝ ์ฐจ๋จ ๊ธฐ๋ฅ์ ์์. - C. AWS RAM (Resource Access Manager)
→ ๋ฆฌ์์ค ๊ณต์ ์๋น์ค.
๋ณด์ ์ ์ด๋ IP ์ฐจ๋จ๊ณผ๋ ๋ฌด๊ด.
๐ ๋น๊ต ํ
| ์ต์ | ๊ธฐ๋ฅ | ๋ฌธ์ ์ | ์ ํฉ ์ฌ๋ถ |
| A | ๋ณด์ ๊ทธ๋ฃน์ผ๋ก IP ์ฐจ๋จ | ALB ์๋จ์์ ์ฒ๋ฆฌ ๋ถ๊ฐ, ํ์ฅ์ฑ ๋ถ์กฑ | โ |
| B | Detective๋ก ์ํ ๋ถ์ | ๋ถ์๋ง ๊ฐ๋ฅ, ์ฐจ๋จ ๋ถ๊ฐ | โ |
| C | AWS RAM | ๋ฆฌ์์ค ๊ณต์ ์๋น์ค | โ |
| D | WAF Web ACL๋ก IP ์ฐจ๋จ | ALB ๋ ๋ฒจ์์ ํจ์จ์ , ์๋ ํ์ฅ ํ๊ฒฝ ๋์ | โ ์ ๋ต |
๐ ๋์ ํ๋ฆ (Mermaid)
```mermaid
flowchart TD
Attacker["๐จ ์
์ฑ IP ํธ๋ํฝ"] --> ALB["โ๏ธ Application Load Balancer"]
ALB --> WAF["๐ก๏ธ AWS WAF: Web ACL"]
WAF -->|"โ ์ฐจ๋จ ๊ท์น ์ ์ฉ"| Blocked["โ ์์ฒญ ๊ฑฐ๋ถ"]
WAF -->|"โ
์ ์ ์์ฒญ"| EC2["๐ป Amazon EC2 Auto Scaling ๊ทธ๋ฃน"]
```

๐ ๊ฒฐ๊ณผ ์ค๋ช
- ๐จ ์ ์ฑ IP ํธ๋ํฝ → โ๏ธ ALB → ๐ก๏ธ WAF
- WAF์์
- โ ์ฐจ๋จ ๊ท์น์ด ์ ์ฉ๋๋ฉด → โ ์์ฒญ ๊ฑฐ๋ถ
- โ ์ ์ ์์ฒญ์ด๋ฉด → ๐ป EC2 Auto Scaling ๊ทธ๋ฃน ์ผ๋ก ์ ๋ฌ
๐ฏ ํต์ฌ ๊ฐ๋ ์ ๋ฆฌ
- ๋ณด์ ๊ทธ๋ฃน: ์ธ์คํด์ค ๋ ๋ฒจ ์ ์ด (IP ๊ธฐ๋ฐ ์ฐจ๋จ์ ๊ฐ๋ฅํ๋ ALB ๋ ๋ฒจ์์๋ ๋นํจ์จ).
- NACL: ์๋ธ๋ท ๋ ๋ฒจ ์ ์ด, ๋ฒ์๊ฐ ๋์ → ์ธ๋ฐํ ALB ํธ๋ํฝ ์ ์ด์๋ ๋ถ๋ฆฌ.
- AWS WAF: ALB, API Gateway, CloudFront ์๋จ์์ ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต ๋ณด์ ๋ด๋น.
- ๋ฐ๋ผ์ "๊ณต์ฉ IP ์ฐจ๋จ"์ WAF + Web ACL์ด ์ ๋ต.
๐ Q361 ํต์ฌ์ “IP ๊ธฐ๋ฐ ์ฐจ๋จ์ WAF์ Web ACL์ ALB์ ์ฐ๊ฒฐํ๋ ๊ฒ์ด ์ต์ ” ์ด๋ผ๋ ์ ์ด์์.
๐ ์ค๋ต๋ ธํธ - Q363
โ ๋ฌธ์ ์์ฝ
- ํ์ฌ๋ ๋ ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์
์ ์ฐ๊ฒฐํด์ผ ํจ.
- ์จํ๋ ๋ฏธ์ค: host1.onprem.private
- AWS: host1.awscloud.private (EC2 ์ธ์คํด์ค์์ ์คํ)
- ์จํ๋ ๋ฏธ์ค ↔ AWS ์ฐ๊ฒฐ: Site-to-Site VPN.
- ๋ฌธ์ : ์จํ๋ ๋ฏธ์ค ์ฑ์ด EC2 ์ฑ์ ์ฐ๊ฒฐ ์ DNS ํ์ธ ์คํจ ๋ฐ์.
- ์๊ตฌ์ฌํญ: ์จํ๋ ๋ฏธ์ค์ AWS ๋ฆฌ์์ค ๊ฐ DNS ํ์ธ ๊ฐ๋ฅํด์ผ ํจ.
โ ์ ๋ต
B. Amazon Route 53 ์ธ๋ฐ์ด๋ ํ์ธ์ ์๋ํฌ์ธํธ๋ฅผ ์ค์ ํ๊ณ , ์จํ๋ ๋ฏธ์ค DNS ํ์ธ์์ ์ฐ๊ฒฐ
- Route 53 Resolver ์ธ๋ฐ์ด๋ ์๋ํฌ์ธํธ: ์จํ๋ ๋ฏธ์ค์์ ๋ค์ด์ค๋ DNS ์ฟผ๋ฆฌ๋ฅผ VPC๋ก ์ ๋ฌ.
- ์จํ๋ ๋ฏธ์ค DNS ์๋ฒ๊ฐ AWS ๋ด **์ฌ์ค ํธ์คํธ ์กด(private hosted zone)**์ ์กฐํํ ์ ์์.
- ์ด๋ ๊ฒ ํ๋ฉด awscloud.private DNS๋ฅผ ์จํ๋ ๋ฏธ์ค ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ ์์ ์ผ๋ก ํ์ธ ๊ฐ๋ฅ.
โ ์ค๋ต ํด์ค
- A. Route 53 ์ธ๋ฐ์ด๋ ํ์ธ์ + VPC ์ฐ๊ฒฐ
→ "onprem.private" ๋๋ฉ์ธ์ ์จํ๋ ๋ฏธ์ค DNS์์ ๊ด๋ฆฌ๋๋ฏ๋ก, ์ธ๋ฐ์ด๋ ์๋ํฌ์ธํธ๋ง์ผ๋ก๋ ํด๊ฒฐ ์ ๋จ. - C. Route 53 ์์๋ฐ์ด๋ ํ์ธ์
→ ์์๋ฐ์ด๋ ์๋ํฌ์ธํธ๋ AWS → ์จํ๋ ๋ฏธ์ค DNS ์ฟผ๋ฆฌ ์ ๋ฌ ์ฉ๋.
๋ฌธ์ ๋ ๋ฐ๋(์จํ๋ ๋ฏธ์ค → AWS)๋ผ์ ๋ถ์ ์ . - D. Route 53 ์์๋ฐ์ด๋ ํ์ธ์ + ์จํ๋ ๋ฏธ์ค DNS ํ์ธ์
→ AWS์์ ์จํ๋ ๋ฏธ์ค DNS๋ก ์ฟผ๋ฆฌ ์ ๋ฌํ ๋ ์ฌ์ฉ.
์ฌ๊ธฐ์๋ ์จํ๋ ๋ฏธ์ค๊ฐ AWS ๋๋ฉ์ธ์ ํ์ธํด์ผ ํ๋ฏ๋ก ๋ง์ง ์์.
๐ ๋น๊ต ํ
| ์ต์ | ์ค๋ช | ์ ํฉ ์ฌ๋ถ |
| A | ์ธ๋ฐ์ด๋ ํ์ธ์ ์ค์ , ๊ทธ๋ฌ๋ ์จํ๋ ๋ฏธ์ค ๋๋ฉ์ธ ๋ฌธ์ ๋ ํด๊ฒฐ ๋ถ๊ฐ | โ |
| B | ์ธ๋ฐ์ด๋ ํ์ธ์ ์ค์ → ์จํ๋ ๋ฏธ์ค DNS๊ฐ AWS VPC ๋๋ฉ์ธ ํ์ธ ๊ฐ๋ฅ | โ ์ ๋ต |
| C | ์์๋ฐ์ด๋ ํ์ธ์ → AWS์์ ์จํ๋ ๋ฏธ์ค๋ก ์ฟผ๋ฆฌ ์ ๋ฌ | โ |
| D | ์์๋ฐ์ด๋ ํ์ธ์ + ์จํ๋ ๋ฏธ์ค DNS ์ฐ๋, ๋ฐฉํฅ์ฑ ๋ฐ๋ | โ |
๐ ๋์ ํ๋ฆ (Mermaid)
```mermaid
flowchart TD
OnPremApp["๐ข ์จํ๋ ๋ฏธ์ค ์ฑ"] --> OnPremDNS["๐ฅ๏ธ ์จํ๋ ๋ฏธ์ค DNS"]
OnPremDNS --> Inbound["๐ Route 53 ์ธ๋ฐ์ด๋ ์๋ํฌ์ธํธ"]
Inbound --> VPCDNS["๐ฆ VPC DNS: awscloud.private"]
VPCDNS --> EC2["๐ป Amazon EC2 ์ ํ๋ฆฌ์ผ์ด์
"]
```

๐ ๊ฒฐ๊ณผ ์ค๋ช
- ๐ข ์จํ๋ ๋ฏธ์ค ์ฑ → ๐ฅ๏ธ ์จํ๋ ๋ฏธ์ค DNS ์ฟผ๋ฆฌ ๋ฐ์
- ๐ Route 53 ์ธ๋ฐ์ด๋ ์๋ํฌ์ธํธ๊ฐ VPC ๋ด๋ถ๋ก ์ ๋ฌ
- ๐ฆ VPC DNS (awscloud.private) ์์ ์ด๋ฆ ํด์ ์ํ
- ๊ฒฐ๊ณผ์ ์ผ๋ก ๐ป EC2 ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฐ๊ฒฐ๋จ
๐ฏ ํต์ฌ ๊ฐ๋ ์ ๋ฆฌ
- Route 53 Resolver ์ธ๋ฐ์ด๋ ์๋ํฌ์ธํธ: ์จํ๋ ๋ฏธ์ค → AWS DNS ์์ฒญ ์ฒ๋ฆฌ.
- Route 53 Resolver ์์๋ฐ์ด๋ ์๋ํฌ์ธํธ: AWS → ์จํ๋ ๋ฏธ์ค DNS ์์ฒญ ์ฒ๋ฆฌ.
- ๋ฌธ์ ์ํฉ์ ์จํ๋ ๋ฏธ์ค → AWS ๋ฐฉํฅ DNS ์กฐํ ์คํจ → ๋ฐ๋ผ์ ์ธ๋ฐ์ด๋ ์๋ํฌ์ธํธ ํ์.
๐ Q363 ํต์ฌ์ “์จํ๋ ๋ฏธ์ค์์ AWS ์ฌ์ค ๋๋ฉ์ธ์ ํ์ธํด์ผ ํ ๋๋ Route 53 ์ธ๋ฐ์ด๋ ์๋ํฌ์ธํธ” ๋ผ๋ ์ ์ด์์.
๐ ์ค๋ต๋ ธํธ - Q381
โ ๋ฌธ์ ์์ฝ
- ๋ชจ๋ EC2 ์ธ์คํด์ค์ ์ฌ์ฉ์ ์ง์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์นํด์ผ ํจ.
- ์ ํ๋ฆฌ์ผ์ด์ ์ ํฌ๊ธฐ๊ฐ ์๊ณ , ์์ฃผ ์ ๋ฐ์ดํธ, ์๋ ์ค์น๊ฐ ํ์.
- ์ง๋ฌธ: ์๋ก์ด EC2 ์ธ์คํด์ค์ ์ด๋ป๊ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํ ์ ์๋๊ฐ?
โ ์ ๋ต
A. EC2 ์ฌ์ฉ์ ๋ฐ์ดํฐ(User Data) ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉ
- EC2 ์ธ์คํด์ค ์์ ์ User Data์ ์คํฌ๋ฆฝํธ๋ฅผ ์ง์ ํ๋ฉด,
→ ์ธ์คํด์ค ๋ถํ ์ ์๋์ผ๋ก ์คํ๋จ. - ์ฌ๊ธฐ์ ์ค์น ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํด๋๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์๋ ๋ค์ด๋ก๋ & ์ค์น ๊ฐ๋ฅ.
- ๊ฒฝ๋ ์ ํ๋ฆฌ์ผ์ด์ , ์์ฃผ ์ ๋ฐ์ดํธ๋๋ ๊ฒฝ์ฐ ์ต์ .
โ ์ค๋ต ํด์ค
- B. API Gateway + CloudFormation
→ API Gateway๋ API ํธ์ถ์ฉ ์๋น์ค, ์ฑ ๋ฐฐํฌ์ ์ง์ ์ ๊ด๊ณ ์์. - C. AMI์ ์ฃผ์
→ AMI(Custom Image) ๋ฐฉ์์ ์ ํ๋ฆฌ์ผ์ด์ ๋ณ๊ฒฝ์ด ์ ๊ณ ์ ๋ฐ์ดํธ๊ฐ ๋๋ฌธ ๊ฒฝ์ฐ ์ ํฉ.
→ ๋ฌธ์ ์์ ์๊ตฌํ "์์ฃผ ์ ๋ฐ์ดํธ"์ ๋ง์ง ์์. - D. CodePipeline
→ CI/CD ๋ฐฐํฌ ์๋ํ๋ ๊ฐ๋ฅํ์ง๋ง, ์๊ณ ๋จ์ํ ์ฑ ๋ฐฐํฌ์ ๋นํด ์ค๋ฒ์์ง๋์ด๋ง.
→ ์ ์ง๋ณด์ ๋น์ฉ์ด ๋ถํ์ํ๊ฒ ์ปค์ง.
๐ ๋น๊ต ์์ฝ
| ์ต์ | ์ค๋ช | ์ ํฉ ์ฌ๋ถ |
| A | EC2 User Data ์คํฌ๋ฆฝํธ๋ก ์ฑ ์๋ ๋ค์ด๋ก๋ & ์ค์น | โ ์ ๋ต |
| B | API Gateway + CloudFormation, ๋ถํ์ํ๊ฒ ๋ณต์ก | โ |
| C | AMI์ ์ฑ ํฌํจ (์์ฃผ ์ ๋ฐ์ดํธ ์ด๋ ค์) | โ |
| D | CodePipeline (๋๊ท๋ชจ/๋ณต์ก ๋ฐฐํฌ์ ์ ํฉ) | โ |
๐ ๋์ ํ๋ฆ (Mermaid)
```mermaid
flowchart TD
Launch["๐ EC2 ์ธ์คํด์ค ์์"] --> UserData["๐ User Data ์คํฌ๋ฆฝํธ ์คํ"]
UserData --> Install["โฌ๏ธ ์ ํ๋ฆฌ์ผ์ด์
๋ค์ด๋ก๋ ๋ฐ ์ค์น"]
Install --> Ready["โ
์ ํ๋ฆฌ์ผ์ด์
์ค๋น ์๋ฃ ๐"]
```

๐ ๊ฒฐ๊ณผ ์ค๋ช
- ๐ EC2 ์ธ์คํด์ค ์์ → ๋ถํ ์
- ๐ User Data ์คํฌ๋ฆฝํธ ์คํ → ์ด๊ธฐํ ๊ณผ์
- โฌ๏ธ ์ ํ๋ฆฌ์ผ์ด์ ๋ค์ด๋ก๋ ๋ฐ ์ค์น → ์๋ ์ค์น ์ํ
- ๋ง์ง๋ง์ โ ์ ํ๋ฆฌ์ผ์ด์ ์ค๋น ์๋ฃ ๐ → ์๋น์ค ์์ ๊ฐ๋ฅ ์ํ
๐ฏ ํต์ฌ ์ ๋ฆฌ
- User Data = EC2 ์ด๊ธฐ ๋ถํ ์ ์คํ๋๋ ์คํฌ๋ฆฝํธ.
- ๋ฐ๋ณต์ ์ด๊ณ ์์ ๊ท๋ชจ์ ์ ํ๋ฆฌ์ผ์ด์ ์ค์น/์ ๋ฐ์ดํธ์ ์ ํฉ.
- ๋ฐ๋ฉด, AMI๋ ์ ๋ฐ์ดํธ ์ ๊ณ ์์ ์ ์ธ ์ฑ์ ์ ํฉ, CodePipeline์ ๋๊ท๋ชจ CI/CD ํ๊ฒฝ์์ ์ ํฉ.
๐ ์ ๊ฐ ๋ณด๊ธฐ์ Q381์ Q327 (Lambda + NAT ๊ฒ์ดํธ์จ์ด), Q356 (๊ณ ์ IP + Route 53) ๊ฐ์ ๋ฌธ์ ๋ ๋ฌถ์ด์
"์ต์ ๋
ธ๋ ฅ & ๋จ์ ์๋ํ ๋ฐฉ์" ์ฃผ์ ๋ก ํ ๋ฒ์ ์ ๋ฆฌํด๋๋ฉด ์ธ์ฐ๊ธฐ ์ฝ์ต๋๋ค.
'AWS > AWS SOA-C02' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [AWS SOA-C02] Q201 ~ Q250 ์ค๋ต๋ ธํธ 5EA (0) | 2025.09.28 |
|---|---|
| [AWS SOA-C02] Q430 ~ Q478 ์ค๋ต๋ ธํธ 3EA (0) | 2025.09.28 |
| [AWS SOA-C02] Q151 ~ Q200 ์ค๋ต๋ ธํธ 6EA (0) | 2025.09.27 |
| [AWS SOA-C02] Multiple Choice-2 ์ค๋ต๋ ธํธ 14EA (0) | 2025.09.27 |
| [AWS SOA-C02] Multiple Choice-1 ์ค๋ต๋ ธํธ 15EA (0) | 2025.09.26 |