μλ νμΈμ?
μ½λ©νλ λͺ¨μ£ΌλΆ μ λλ€!
μ μ μ리μ¦κ° λ§μ§λ§μ ν₯ν΄ κ°κ³ μλ€μ!
1. GCP μμ λ΄λΆ / μΈλΆ λΆν λΆμ° μ ννκΈ°
μ§λλ² ν¬μ€ν μ λ€ λ°λΌ νμ ¨λ€λ©΄,
λ‘λ λ°Έλ°μ (λΆν λΆμ°) μ€μ μ μν΄ λ€νΈμν¬ μλΉμ€λ‘ λ€μ΄κ°μλ€
λΆν λΆμ°(Load balancing) μ΄λ,
κ°λ¨νκ² λ§ν΄μ μ»΄ν¨ν°κ° κ°λΉνκΈ° νλ€ μ λμ
μμ²μ΄ λ€μ΄μ€λ κ²½μ° (μ¬μ©μκ° CPU load % μ€μ κ°λ₯)
λ€λ₯Έ μ»΄ν¨ν°λ‘ μμ²μ λλμ΄ μ²λ¦¬νλ κ²μ λ§ν©λλ€.
μ°λ¦¬λ http / httpsλ₯Ό μ΄μ©ν΄ ν΄λΌμ΄μΈνΈμμ μλ²λ‘ μμ²μ ν κ²μ΄κΈ° λλ¬Έμ
HTTP(S) λΆν λΆμ°μ μ νν©μλ€!
μλμ κ°μ΄ μ νμ§κ° λμ€λ©΄,
"μΈν°λ· νΈλν½μ VMμΌλ‘ λΆμ°" μ μ νν©μλ€
μ΄ λκ°μ μ°¨μ΄λ μΈλΆ λΆν λΆμ°μ΄λ,
λ΄λΆ λΆν λΆμ°μ΄λμ μ°¨μ΄μ λλ€.
λ΄λΆ / μΈλΆ λΆν λΆμ°μ μ°¨μ΄μ μ λ€μκ³Ό κ°μ΅λλ€.
μΈλΆ λΆν λΆμ° | λ΄λΆ λΆν λΆμ° |
> μΈν°λ·μ ν΅ν΄ λ€μ΄μ€λ νΈλν½μ λΆμ° > λΆνλ₯Ό μλ‘ λ€λ₯Έ Regionμ λΆμ° κ°λ₯ > URL mapμ ν΅ν΄ μλ‘ λ€λ₯Έ backend serviceμ λΆνλ₯Ό λΆμ° ν μ μμ |
> RegionμΌλ‘ λ€μ΄μ¨ λΆνλ₯Ό λΆμ° > Region λ΄λΆμμ λΆνλ₯Ό λΆμ° (λ΄λΆμ VM μ¬μ΄μμ λΆν λΆμ°) > λ³λμ Subnetμ΄ νμ |
λ§μ½ λΉ κ΄λ¦¬ν μΈμ€ν΄μ€ κ·Έλ£Ήμμ
νΉμ 리μ λ§μ μ¬μ©νκ±°λ
μ¬λ¬κ°μ VMλ€μ μν μ΄ λͺ ννκ² κ΅¬λΆ λκ³
νΈλν½ λΆμ°μ λν κ·μΉμ΄ μλ€λ©΄
"VM μ¬μ΄μμλ§ λΆμ°"μ μ¬μ©ν΄λ λκ² μ΅λλ€.
(λ΄λΆ λΆν λΆμ°)
νμ§λ§, μΈν°λ·μμ μμ²λλ νΈλν½λ€μ΄
리μ μ 골λΌμ λΆλ°°κ° λμ΄μΌ νκ±°λ,
νΈλν½ κ·λͺ¨μ λ°λΌ μΈμ€ν΄μ€μ ν¬κΈ°κ° μλμΌλ‘ λ³λλμ΄
κ²°μ λ VMλ€ μ¬μ΄μμ λΆνκ° λΆμ°λκΈ°λ₯Ό μνλ€λ©΄
"μΈν°λ· νΈλν½μ VMμΌλ‘ λΆμ°"μ μ νν΄μΌ ν©λλ€.
(μΈλΆ λΆν λΆμ°)
μλμ κ΅¬κΈ κ³΅μ λ¬Έμμ 첨λΆλμ΄ μλ κ·Έλ¦Όμ μ°Έκ³ νμκΈ° λ°λλλ€.
2. GCPμμ μΈλΆ λΆν λΆμ° μμ±νκΈ°
μΈλΆ λΆν λΆμ°κΈ°λ₯Ό μ ννμ ¨λ€λ©΄,
λΆν λΆμ°μ ꡬμ±νκΈ° μν΄ λ€μμ μμ μ μνν΄μΌ ν©λλ€.
1. λ°±μλ μλΉμ€ μμ± λ° μ°κ²°
2. νΈμ€νΈ λ° κ²½λ‘ κ·μΉ μμ±
3. νλ°νΈμλ μ°κ²°
2.1 λ°±μλ(Backend) ꡬμ±
λ°±μλλ, μ½κ² λ§ν΄μ μλ²μ κ΄λ ¨λμ΄μλ κΈ°μ μ λ§ν©λλ€.
λ‘λ λ°Έλ°μκ° μΈλΆμ νΈλν½μ Virtual machineμ λλμ΄ μ£Όλλ°,
VMμμ λ°μ νΈλν½μ μ²λ¦¬νκΈ° μν΄μλ μλ²κ° νμνκ² μ£ ?
λ°μ΄ν°λ² μ΄μ€μλ ν΅μ μ ν΄μ μ 보λ₯Ό κ°μ Έμ€κ³ ,
μΈν°λ·μμ μμ²λ νΈλν½μ μ²λ¦¬νλ λ±μ μμ λ€μ ν΅νμ΄ λ°±μλλΌκ³ λΆλ¦ λλ€.
μ’ λ λμ μλ―Έμ λ°±μλλ νλ‘ νΈμλκ° μλ λͺ¨λ κ²μ μλ―ΈνκΈ°λ ν©λλ€!
λ°λλ‘ νλ‘ νΈ μλλ,
μΈκ°μ΄ μΈν°λ·μ μ΄μ©νκΈ° μν΄ λ§μ£Όνλ νλ©΄ λλ UIμμ
μ¬μ©μκ° μ¬μ©ν μ μκ²λ ꡬννλ κΈ°μ μ λ§ν©λλ€.
μ£Όλ‘ HTMLμ΄λ CSS, Javascriptμ κ°μ νλ‘κ·Έλλ° μΈμ΄λ€μ΄ μ¬μ©λ©λλ€.
λ°±μλλ₯Ό μλ‘ μμ±ν λ, μ£Όμν΄μΌ νλ μ¬νμ΄ μμ΅λλ€.
μ΄μ ν¬μ€ν μ 보면 λ°©νλ²½μμ ν¬νΈ 3000λ²μ μ§μ ν μ μ΄ μμ κ²λλ€.
μ΄λ μ κ° GitHubμ μ¬λ €λμ μλ² μ½λ(www.js)μμ μλμ κ°μ΄
ν¬νΈλ₯Ό 3000λ²μΌλ‘ μ§μ ν΄ λμκΈ° λλ¬ΈμΈλ°μ,
var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
λ§μ½ μ΄ λ²νΈλ₯Ό λ€λ₯΄κ² μ§μ ν΄ μ£Όμλ€λ©΄,
μ§μ ν λ²νΈλ₯Ό "μ λ°±μλ" μμ "ν¬νΈ λ²νΈ"μ μ λ ₯νμλ©΄ λ©λλ€.
λ§μ½ ν΄λΉ ν¬νΈλ₯Ό μ€μ νμ§ μμΌλ©΄,
λ‘λλ°Έλ°μμ μΈμ€ν΄μ€ κ·Έλ£Ήμ ν΅μ μ΄ λμ§ μμΌλ μ£ΌμνμΈμ!
μ΄μ ν¬μ€ν μμ μν νμΈ(health check)μ λ§λ€μ΄ λμλ€λ©΄,
μλμ κ°μ΄ 리μ€νΈμ μ ν κ°λ₯ν μν νμΈμ΄ λν λ κ²μ λλ€.
λ§μ½ μννμΈμ΄ λνλμ§ μλλ€λ©΄,
μ΄λ―Έ μΈμ€ν΄μ€ κ·Έλ£Ή λν μ μ μνκ° μλ νλ₯ μ΄ λμΌλ―λ‘
μ΄μ ν¬μ€ν μ μ°Έμ‘°νμκΈ° λ°λλλ€.
μλμ κ°μ΄ λ°±μλκ° λ€ λ§λ€μ΄μ‘μΌλ©΄, νΈμ€νΈ λ° κ²½λ‘ κ·μΉμ λ§λ€μ΄ λ³Ό μ°¨λ‘μ λλ€.
ν¬μ€ν μ΄ λ무 κΈΈμ΄μ§λ κ΄κ³λ‘,
μ΄ λ΄μ©μ λ€μ ν¬μ€νΈμμ λ€λ£¨λλ‘ νκ² μ΅λλ€!
'Coding > Google Cloud Platform' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Google cloud platform] λλ§μ μλ²(Server) λ§λ€κΈ° - 7 (13) | 2020.11.08 |
---|---|
[Google cloud platform)] λλ§μ μλ²(Server) λ§λ€κΈ° - 6 (2) | 2020.11.02 |
[Google cloud platform)] λλ§μ μλ²(Server) λ§λ€κΈ° - 4 (0) | 2020.10.27 |
[Google cloud platform] λλ§μ μλ²(Server) λ§λ€κΈ° - 3 (0) | 2020.10.18 |
[Google cloud platform] λλ§μ μλ²(Server) λ§λ€κΈ° - 2 (0) | 2020.10.14 |