カテゴリー: post
- 【入門】インフラやるなら知っておきたいトピックのリンク集 でおすすめされていたリンクを一通り目を通し、疑問に思ったことや、さらに読みたいことをメモしたものになります。
- awesome-x などのリンク集は、雑多に集められていて読み切る時間が無理で詰んでしまいがちですが、このリンク集は初心者向けに軽いものが多く、概観を掴んだり、インフラの聞いたことあるけど…みたいなトピックを勉強する手がかりが得られたので、全体量がちょうどよいまとめだと思います。
- それでは、各トピックについて僕の感想とかこれから勉強したいことを書きます。
# HTTP
## まとめ
- ブラウザで URL を打ち込んでからページがレンダリングされてユーザに届くまで何が起きているか、ネットワーク視点での話
- HTTP/2.0 の最終ドラフトが 2015 年に承認されたの最近だなと感じた。
## これから
# REST
## まとめ
## これから
# キャッシュ/KVS
## まとめ
- RDB に比べてシンプルで、高い性能とスケーラビリティを実現するために KVS
- KVS、単なる Map だと思っていたがそうでもなかった。複雑で面白い。
- 記事では KVS が Facebook や Amazon のもののような印象を受けたが、現在では Redis が普通に使われている気がするので、大規模データでなくても KVS が嬉しい理由がある気がする。
## これから
- Redis を触ってみる
- KVS は大量のサーバに分散させたほうが力技ができるということは、大量データがなければ嬉しさがあまりないのだろうか?つまり、小さな規模では RDB で十分なのか?(それとも小さくても KVS が嬉しい時があるのか)
# CDN
## まとめ
- 規模が大きくてネットワーク周りわからないことが多かった。
## これから
# ネットワーク
## まとめ
## これから
# NAT/プロキシ
## まとめ
- DHCP の仕組み、NAT の仕組みと NAT ルータの実現
## これから
- ゲートウェイという概念があまり良くわかっていない
- iptables を使って NAT ルータが Raspberry pi とかで作れるんじゃないか?調べてみる
# Firewall
## まとめ
- ファイアウォールの方式は IP/port のパケットフィルタ方式以外にも、アプリケーションゲートウェイのように中身のデータを見るものもある。
## これから
- GCP だとファイアウォールをリソースとして指定するけど、あれは実質 iptables なんだろうか?
- firewalld, iptables, ufw, netfilter の関係を明確に答えられるようにしておきたい
- アプリケーションゲートウェイは中身のデータを見るからプライバシーとか暗号化周りで問題が起きそう。どういうケースで使われるんだろう。
# Git
## まとめ
git show
, git stash
はじめて知った
## これから
# SDN
## まとめ
- はじめて聞く概念が多くて分からなかった。XDP, eBPF は聞いたことあるくらい
## これから
# 認証・認可
## まとめ
- 二要素認証と二段階認証の違い
- リスクベース + 二要素がセキュアで可用性もよい
- FIDO と WebAuthn
## これから
- リバースブルートフォース攻撃って何がリバースなんだろう
- FIDO はサーバに生体情報を送らないのでネットワーク上には結果のみが乗るという点で改ざんしやすそうだけど対策どうするんだろう
- 個人的に生体認証は変えが効かないのと、生体の変形に耐えられないので、偽造リスクは許容した上でハードウェアトークンがいいかなと思う。
# OAuth/SAML/OpenID
## まとめ
- Cognito は AWS のフェデレーションサービス
## これから
# SSO
## まとめ
## これから
- サークルでウェブサービス基盤や SNS を作って SSO できるようにしたい。
# 仮想化
## まとめ
- 見せかけの意味で vCPU, vNIC と言っている
# コンテナ
## まとめ
- 開発サイクルの高速化によるデプロイ時間のコストからコンテナが登場したという文脈は抑えておきたい
## これから
# ロードバランサ
## まとめ
- パーシステンスという、トランザクションが終わるまでクライアントとリアルサーバのつながりを保持するよう振り分け先を固定する機能がすごいと感じた。
## これから
- パーシステンスどうやって実現しているんだろう
- おうちでインターネットを作ると LB について詳しくなれそう
# データベース
## まとめ
- loop をなくすというコッドの思想が RDB の偉大なところ
## これから
- 調べたり、復習しておきたい
- 正規化
- インデックス、EXPLAIN
- SQL Injection, prepared statement
- トランザクション、ACID
# DNS
## まとめ
## これから
# SSL/TLS
## まとめ
- 国家による盗聴が背景となって HTTPS が進んだという文脈は抑えておくべきっぽい
- 0-RTT は知らなかった
## これから
# Linux
## まとめ
- ログの仕込み方が分かった
- シェル芸、並列化など大規模データを扱うときの Tips を習得しておくと良さそうと思った。
## これから
# 監視
## まとめ
- ポストモーテムの意味を知った
- SLI/SLO
- ログのフォーマット
## これから
- カオスエンジニアリングはエラーインジェクションの発想から出てくるのかな?
# ログ
## まとめ
- ログにはビジネス上のもの、UI のものも含まれる
- slow query log 知らなかった
# 高可用性
## まとめ
- 複数台でのクラスタリングの話だったが、馴染みのない話でわかりにくかった。
# DevOps
## まとめ
- 高速リリースと安定運用の両立
- WIP は完了していないので顧客に提供する価値はゼロ
- CI/CD は各環境での開発をマージするときに起こる不具合を小さな単位で解決するために行う
- 最初から CI を入れるのがおすすめ
## これから
# アルゴリズム
## これから
# トランザクション
## まとめ
## これから
- トランザクションの話は CPU の命令のアトミック性とか Out of Order 実行の話と似ている
# バックアップ
## まとめ
## これから
- terraform や ansible、シェルスクリプトとセットでバックアップしておきたいね
# 終わりに
- よく知っている分野は積み本や資料が即座に思い浮かぶが、知らない分野はついていけなかったりイメージできなかったり写経になりがち。まとめを読んだときの反応で自分の理解度が把握できそう。
- ネットワークと認証周りと Web セキュリティでやることが多いかな?特にネットワークが分からなくてついていけない話題が多かったのでこのあたり腰を据えて勉強したい。
- 他によさげなリンク集として、SRE やクラウドエンジニアが読むと良さげな本まとめ https://qiita.com/tmknom/items/67dbfcf5194aee5c6e61 があったのでこれも見ていきたい。