Upgrade to Pro — share decks privately, control downloads, hide ads and more …

はてなリモートインターンシップ2022 インフラ 講義資料

Avatar for Hatena Hatena
December 19, 2022

はてなリモートインターンシップ2022 インフラ 講義資料

Avatar for Hatena

Hatena

December 19, 2022
Tweet

More Decks by Hatena

Other Decks in Programming

Transcript

  1. Web Web - ΞϓϦέʔγϣϯ - ϛυϧ΢ΣΞ - OS - Ծ૝αʔόʔ

    - ϋʔυ΢ΣΞ(෺ཧαʔόʔͳͲ) - ωοτϫʔΫ - ϑΝγϦςΟ(ϥοΫɺిݯɺۭௐɺͦΕΒΛઃஔɾӡ༻͢ΔσʔληϯλʔͳͲ) 
  2. ؕ٤نٚך䙫閁׊יַ׾׆כ ( ) ( ) ( ) ( ) (

    ) כַֹئ٭لت؅䬠❠׌׾ג״מؕ٤نٚ؅㲔杯յ禴䧏׌׾ 
  3. N ( ) Web3 ૚ΞʔΩςΫνϟ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │

    │ │ │ │ │ Proxy Server ├───►│ App Server ├───►│ DB Server │ │ │ │ │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ 
  4. Web ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ │ │ │

    │ Proxy Server ├───►│ App Server ├───►│ DB Server │ │ │ │ │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ Proxy Apache nginx 
  5. VIP ┌────────────────┐ │ │ ┌───►│ Active Server │ │ │

    │ │ └────────────────┘ ┌────────────────┐ │ ▲ │ │ VIP │ │ │ Client ├───────┘ │ VRRP │ │ │ └────────────────┘ ▼ ┌────────────────┐ │ │ │ Standby Server │ │ │ └────────────────┘ 
  6. ٞ٭غفٚ٤ئ٭؅✳榫׌׾㕙⺬ ┌────────────────┐ │ │ ┌──►│ Server A │ │ │

    │ │ └────────────────┘ │ │ ┌──────────┐ ┌───────────────────────────┐ │ ┌────────────────┐ │ │ │ │ │ │ │ │ Client ├─────────►│ Server-side load balancer ├────┼──►│ Server B │ │ │ │ │ │ │ │ └──────────┘ └───────────────────────────┘ │ └────────────────┘ │ │ │ ┌────────────────┐ │ │ │ └──►│ Server C │ │ │ └────────────────┘ 
  7. ٞ٭غفٚ٤ئ٭ ┌────────────────┐ │ │ ┌──►│ Server A │ │ │

    │ │ └────────────────┘ │ │ ┌──────────┐ ┌───────────────────────────┐ │ ┌────────────────┐ │ │ │ │ │ │ │ │ Client ├─────────►│ Server-side load balancer ├────┼──►│ Server B │ │ │ │ │ │ │ │ └──────────┘ └───────────────────────────┘ │ └────────────────┘ │ │ │ ┌────────────────┐ │ │ │ └──►│ Server C │ │ │ └────────────────┘ 
  8. DNS Q1: server.example.com A1: 192.0.2.1 ┌─────────────────┐ ┌────────────────┐ ┌────────────────┐ │ │

    │ │ │ │ │ DNS Server │◄────────────►│ Client A ├────────►│ Server X │ │ │ │ │ │ 192.0.2.1 │ │ │ │ │ ┌────►│ │ └─────────────────┘ └────────────────┘ │ └────────────────┘ ▲ ▲ ▲ │ │ │ │ ┌────────────────┐ │ ┌────────────────┐ │ │ │ │ │ │ │ │ │ │ │ │ Client B ├───┼────►│ Server Y │ │ │ └────────────────►│ │ │ │ 192.0.2.2 │ │ │ Q2: server.example.com│ │ │ │ │ │ │ A2: 192.0.2.2 └────────────────┘ │ └────────────────┘ │ │ │ │ │ ┌────────────────┐ │ ┌────────────────┐ │ │ │ │ │ │ │ │ │ │ Client C ├───┼────►│ Server Z │ │ └──────────────────────►│ │ │ │ 192.0.2.3 │ │ Q3: server.example.com│ │ │ │ │ │ A3: 192.0.2.3 └────────────────┘ │ └────────────────┘ │ │ │ ┌────────────────┐ │ │ │ │ │ │ │ Client D │ │ └────────────────────────────►│ ├───┘ Q4: server.example.com│ │ A4: 192.0.2.1 └────────────────┘ 
  9. ؞ٔشبٖס❆ Proxy લஈͷΩϟογϡ ProxyʙApp ؒͷΩϟογϡ AppʙDB ؒͷΩϟογϡ │ │ │

    │ │ ▼ │ │ ┌───────┐ │ │ │ │ │ ▼ ┌►│ Redis │ │ ┌───────┐ ┌─────────┐ ┌───────┐ │ │ │ ┌───────┐ ▼ │ │ │ │ │ │ │ └───────┘ │ │ ┌────────┐ ┌─────┐ ┌────┤ │ ┌────┤ │ ┌────┤ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├─┘ │ │ │ Client ├────►│ CDN ├─────►│ LB │ Proxy ├────►│ LB │ Varnish ├────►│ LB │ App │ │ DB │ │ │ │ │ │ │ │ │ │ │ │ │ ├──────────────►│ │ └────────┘ └─────┘ └────┤ │ └────┤ │ └────┤ │ │ │ │ │ │ │ │ │ │ │ └───────┘ └─────────┘ └───────┘ └───────┘ 
  10. ♞䘶ئ٭ف٭ Web ( ) - ΞϓϦέʔγϣϯ - ϛυϧ΢ΣΞ - OS

    - Ծ૝αʔόʔ - ϋʔυ΢ΣΞ(෺ཧαʔόʔͳͲ) - ωοτϫʔΫ - ϑΝγϦςΟ 1 
  11. / ˝ ْٛشع ˝ ُؾ٭ةغئ٭لتמ׻׾ꝧ氦ؤتعյ鷞榫ؤتعס⯡峎 ˝ Ⳃ氳םٛخ٭ت澬⟊מ׻׾䦡䍖䓪ס⺸┕ ˝ 䏼ꄈ鐐ꄋמ׻׾ؤتع僃鸵⴫ ˝

    ┩槡╈מ㰆㏇׌׾ظ٭ذج٤ذ٭؅⮵榫׌׾׆כך愤㲹㵚瓀ֿ⺎耆 ˝ ظْٛشع ˝ بتطّסؤ٤عٞ٭ٜ׷؜تذُؕثס⯆꡾ ˝ ئ٭لتס犉哕氳ם孨榫מ׻׾بتطّ⪒⛮ס邾ꥭ⴫ ˝ ي٤ر٭ٞشؠؕ٤ 