νμΌ μ λ‘λ μΉ νμ΄μ§ ꡬμΆ: (5) AWS API Gateway μμ±
π μλ¦¬μ¦ ν¬μ€ν
1. νμΌ μ λ‘λ μΉ νμ΄μ§ ꡬμΆ: (1) React κΈ°λ° Frontend κ°λ°
2. νμΌ μ λ‘λ μΉ νμ΄μ§ ꡬμΆ: (2) AWS IAM μν μμ±
3. νμΌ μ λ‘λ μΉ νμ΄μ§ ꡬμΆ: (3) AWS Lambda μμ±
4. νμΌ μ λ‘λ μΉ νμ΄μ§ ꡬμΆ: (4) AWS S3 μμ±
5. νμΌ μ λ‘λ μΉ νμ΄μ§ ꡬμΆ: (5) AWS API Gateway μμ±
6. νμΌ μ λ‘λ μΉ νμ΄μ§ ꡬμΆ: (6) AWS Lambda ν¨μ μμ±
7. νμΌ μ λ‘λ μΉ νμ΄μ§ ꡬμΆ: (7) Axios κΈ°λ° API Call
8. νμΌ μ λ‘λ μΉ νμ΄μ§ ꡬμΆ: (8) νμΌ μ λ‘λ ν μ€νΈ
9. νμΌ μ λ‘λ μΉ νμ΄μ§ ꡬμΆ: (9) AWS S3 κΈ°λ° μΉ νΈμ€ν
π¨π» λ€μ΄κ°λ©°
μ΄μ ν¬μ€ν μμλ νμΌ μ λ‘λμ© μΉ νμ΄μ§ Frontend ꡬμΆ, AWS IAM μν , Lambda, S3λ₯Ό μμ±νλ μ μ°¨λ₯Ό μκ°νμμ΅λλ€. λ³Έ ν¬μ€ν μμλ AWS API Gatewayλ₯Ό μμ±νλ μ μ°¨λ₯Ό μκ°ν©λλ€.
π λͺ©μ°¨
1. API Gateway κ°λ
2. API Gateway μμ±
1. API Gateway κ°λ
μλ§μ‘΄ μΉ μλΉμ€(AWS)μ API Gatewayλ HTTP, REST, WebSocket APIλ₯Ό μμ±, κ²μ, μ μ§, λͺ¨λν°λ§, 보νΈν΄ μ£Όλ μλΉμ€μ λλ€. μμΈν κ°λ μ€λͺ μ AWSμ 곡μ λ¬Έμλ₯Ό μ°Έκ³ νμκΈΈ λ°λλλ€.
https://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/welcome.html
Amazon API Gatewayλ 무μμ λκΉ? - Amazon API Gateway
μ΄ νμ΄μ§μ μμ μ΄ νμνλ€λ μ μ μλ € μ£Όμ μ κ°μ¬ν©λλ€. μ€λ§μμΌ λλ € μ£μ‘ν©λλ€. μ κΉ μκ°μ λ΄μ΄ μ€λͺ μλ₯Ό ν₯μμν¬ μ μλ λ°©λ²μ λν΄ λ§μν΄ μ£Όμμμ€.
docs.aws.amazon.com
2. API Gateway μμ±
1) API Gateway μ½μ μ κ·Ό
λ¨Όμ AWS ννμ΄μ§ λ΄ κ²μμ°½μμ API Gatewayλ₯Ό κ²μνμ¬ ν΄λΉ μ½μλ‘ μ κ·Όν©λλ€(κ·Έλ¦Ό 1).
2) REST API ꡬμΆ
μ½μ νλ¨μ REST API ꡬμΆμ ν΄λ¦ν©λλ€(κ·Έλ¦Ό 2).
3) API λ€μ΄λ°
μλμ κ·Έλ¦Ό 3μ²λΌ, "μ API" μ νν ν, μ§κ΄μ μΈ μ΄λ¦μΌλ‘ APIλ₯Ό λ€μ΄λ°νκ³ μ°μΈ‘ νλ¨μ "API μμ±" λ²νΌμ ν΄λ¦ν©λλ€.
4) 리μμ€ μμ±
μλμ κ·Έλ¦Ό 4μ²λΌ, "μμ "μ ν΄λ¦νκ³ "리μμ€ μμ±"μ ν΄λ¦ν©λλ€.
5) 리μμ€ μμ±μ΅μ
리μμ€ λ€μ΄λ°νκ³ API Gateway CORS νμ±νλ₯Ό 체ν¬ν©λλ€(κ·Έλ¦Ό 5).
6) λ©μλ μμ±
λ€μ μλμ κ·Έλ¦Ό 6μ²λΌ "μμ " λ²νΌ ν΄λ¦ ν "λ©μλ μμ±" λ²νΌμ ν΄λ¦ν©λλ€.
7) POST λ©μλ μμ±
μλμ κ·Έλ¦Ό 7μ²λΌ "POST"λ₯Ό μ ννκ³ μ²΄ν¬ λ²νΌμ ν΄λ¦ν©λλ€.
8) POST λ©μλ μ€μ
μλμ κ·Έλ¦Ό 8μ²λΌ, ν΅ν© μ νμ Lambda ν¨μλ₯Ό μ ννκ³ , Lambda νλ‘μ ν΅ν© μ¬μ©μ 체ν¬ν©λλ€. μ΄μ ν¬μ€ν μμ μμ±νλ Lambda ν¨μ μ΄λ¦μ μ λ ₯νμ¬ ν΄λΉ λλ€ ν¨μλ₯Ό μ°κ²°ν©λλ€.
9) API λ°°ν¬νκΈ°
μλμ κ·Έλ¦Ό 9μ²λΌ, λ€μ "μμ " λ²νΌ ν΄λ¦ ν "API λ°°ν¬" λ²νΌμ ν΄λ¦ν©λλ€.
10) API λ°°ν¬ μ€ν μ΄μ§ μ€μ
λ°°ν¬ μ€ν μ΄μ§λ [μ μ€ν μ΄μ§]λ‘ μ ννκ³ μλμ μ€ν μ΄μ§ μ΄λ¦μ μ λ ₯ν©λλ€(κ·Έλ¦Ό 10).
μ΄μ API Gateway μμ± λ° κΈ°λ³Έμ μΈ μΈν μ΄ μλ£λμμ΅λλ€. μλμ κ·Έλ¦Ό 11μ²λΌ λ°°ν¬λ URLμ νμΈνμ€ μ μμ΅λλ€. μΆν ν΄λΉ URLλ‘ νμΌμ axiosλ₯Ό νμ©ν΄ POST ν μμ μ λλ€.
λ€μ ν¬μ€ν μμλ λ°±μλ μν μ Lambda ν¨μ μμ± μ μ°¨λ₯Ό μκ°ν©λλ€.
π μλ¦¬μ¦ ν¬μ€ν
1. νμΌ μ λ‘λ μΉ νμ΄μ§ ꡬμΆ: (1) React κΈ°λ° Frontend κ°λ°
2. νμΌ μ λ‘λ μΉ νμ΄μ§ ꡬμΆ: (2) AWS IAM μν μμ±
3. νμΌ μ λ‘λ μΉ νμ΄μ§ ꡬμΆ: (3) AWS Lambda μμ±
4. νμΌ μ λ‘λ μΉ νμ΄μ§ ꡬμΆ: (4) AWS S3 μμ±
5. νμΌ μ λ‘λ μΉ νμ΄μ§ ꡬμΆ: (5) AWS API Gateway μμ±
6. νμΌ μ λ‘λ μΉ νμ΄μ§ ꡬμΆ: (6) AWS Lambda ν¨μ μμ±
7. νμΌ μ λ‘λ μΉ νμ΄μ§ ꡬμΆ: (7) Axios κΈ°λ° API Call
8. νμΌ μ λ‘λ μΉ νμ΄μ§ ꡬμΆ: (8) νμΌ μ λ‘λ ν μ€νΈ
9. νμΌ μ λ‘λ μΉ νμ΄μ§ ꡬμΆ: (9) AWS S3 κΈ°λ° μΉ νΈμ€ν
ν¬μ€ν λ΄μ©μ μ€λ₯κ° μκ±°λ 보μν μ μ΄ μλ€λ©΄ μλμ λκΈ λ¨κ²¨μ£ΌμΈμ!
κ·ΈλΌ μ€λλ μ¦κ²κ³ 건κ°ν ν루 보λ΄μκΈΈ λ°λλλ€ :)
κ³ λ§μ΅λλ€π