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

脱・初心者!AWSコンピューティング・ネットワークのテクニック集

963e2ef268dd26917f8ec5e62b499d0d?s=47 saramune
March 14, 2021

 脱・初心者!AWSコンピューティング・ネットワークのテクニック集

JAWS DAYS 2021プレイベントの登壇資料です。
https://jawsdays2021.jaws-ug.jp/pre-event-timetable/

963e2ef268dd26917f8ec5e62b499d0d?s=128

saramune

March 14, 2021
Tweet

Transcript

  1. JAWS DAYS 2021 プレイベント 脱・初心者! AWSコンピューティング・ ネットワークのテクニック集

  2. • 古屋 啓介 • アイレット株式会社cloudpack所属 • AWSとイチャイチャするひと 自己紹介

  3. AWSイチャイチャ集団アイレット cloudpack お客様 定額課金・請求書払い 24時間365日の監視運用保守

  4. • お話すること ◦ 現役AWSイチャイチャエンジニアがよくする設定 ◦ VPC, EC2, RDSを設計・構築するポイント • お話しないこと

    ◦ クラウド/AWSとは? ◦ アカウントの作り方等→ はじめに
  5. • あとで見返してください! ◦ AWSこれから触る方 • 極端に間違ったこと言ってたらあとで刺してください! ◦ AWSイチャイチャエンジニアの方 • 知らないことがあったらぜひ実践してください!

    ◦ AWS触り始めたよという方 ◦ 個人では使ってるけど業務としてはこれからの方 みなさまへのおねがい
  6. もちべーしょん(1/2) Private Link、よき... JAWS DAYSはそこからひとネタ? ネットワーク系のオススメ機能? 加えてベスプラ系オススメ設定? コンピューティングもいく? むしろ初心者向けコスパ高いオススメ設定?

  7. • 自分が初心者だった頃を思い出す ◦ VPC, EC2なんとなくでもできてしまう ◦ ベスプラが欲しい • “なんとなく”→”理解して設定する”のお手伝いになればいいかな もちべーしょん(2/2)

  8. • 1. ネットワーク ◦ VPC • 2. コンピューティング ◦ EC2,

    ALB • 3. データベース ◦ RDS 対象とするサービス
  9. 抽象化して 備えて 楽をする 今日のポイント

  10. 1. ネットワーク

  11. 対象範囲 • リージョン • Availability Zone • VPC • Subnet

    • Internet Gateway • NAT Gateway
  12. • リージョン ◦ 地理的に離れたデータセンタ領域 ◦ 祝!大阪リージョン! ◦ 例: 東京(ap-northeast-1), 大阪(ap-northeast-3)

    リージョン、Availability Zoneとは(1/3)
  13. リージョン、Availability Zoneとは(2/3) https://aws.amazon.com/jp/about-aws/global-infrastructure/

  14. • Availability Zone(AZ) ◦ リージョン内の独立した場所 ◦ 各AZは立地・電源が別の複数のデータセンタ群 リージョン、Availability Zoneとは(3/3)

  15. • 利用するIPの範囲(CIDR)を定義可能な仮想ネットワーク • リージョン単位で定義、全AZを含む • VPC内にしか構築できないリソースあり(EC2, RDSなど) VPCとは

  16. 進捗

  17. • AZ単位でCIDRを定義したもの ◦ AZをまたぐことはできない • VPCのCIDR内である必要あり ◦ 作成可能なサブネット数はVPCのCIDRに依存する ◦ 例:VPCが10.0.0.0/16の場合

    ▪ /17なら2個、/18なら4個... サブネットとは
  18. • AWSのリソースとして存在するわけではない ◦ 便宜上そう呼んでいるだけ • どこへ/から疎通可能か、で区別する ◦ Public: インターネットへ/から疎通可能 ◦

    Private: インターネットへ疎通可能 ◦ Isolate: VPC内部のみ疎通可能 Public, Private, Isolateサブネットとは(1/2)
  19. • 実際の違いはルートテーブルの中身 ◦ Publicサブネット ▪ 0.0.0.0/0がInternet Gatewayに向かうように設定する ◦ Privateサブネット ▪

    0.0.0.0/0がNAT Gatewayに向かうように設定する ◦ Isolateサブネット ▪ 上記のルートなし(VPC内通信のみ) Public, Private, Isolateサブネットとは(2/2)
  20. • インターネットへの出入り口 ◦ VPCに1つ作成するもの ◦ 作ってVPCと紐付ければOK Internet Gateway

  21. • Privateサブネット→インターネットへの出口 ◦ Publicサブネットに作成、Elastic IPが必要 ◦ AZ障害に備えて冗長化の検討余地あり(コストとの天秤) NAT Gateway or

  22. 進捗

  23. • [備]CIDR設計 • [楽]Public IPの有効化 • [楽]テンプレートの活用 作るときのテクニック

  24. • オンプレ等他のネットワークと接続する予定があるか? ◦ 接続先とCIDRが重複していると接続できない • どのレンジ使う? ◦ RFC1918準拠で ◦ 10.0.0.0/8,

    172.16.0.0/12, 192.168.0.0/16 [備]CIDR設計(1/2)
  25. • サブネット数足りてる? ◦ ALB使う場合はAZを別にした2つ以上のサブネットが必要 ◦ RDS(Multi-AZ)したい場合も同様 • Private IP数は足りてる? ◦

    サブネットはAWS予約で5つ、ELB使うなら更に8つ予約される ◦ VPC内で使うサービスが増えるとIPもそれだけ消費する [備]CIDR設計(2/2)
  26. • サブネット内に構築するEC2にPublic IPを付与するか否か ◦ 構築時に設定可能だが、サブネット単位でデフォルトを決めれる • やり方 ◦ 「自動割り当てIP設定の変更」から設定する [楽]Public

    IPの有効化
  27. • VPC作成ウィザード ◦ Public/Privateサブネット1つずつ、NATも作成してくれる [楽]テンプレートの活用(1/2)

  28. • CloudFormation, terraform等のIaCツール ◦ よく使う(そしてあまり変化のない)ものはコード化してしまう [楽]テンプレートの活用(2/2) ぽちっとな、で作成→

  29. • [備]VPC Flow Logs ◦ VPC内の通信ログ ◦ VPC全体、またはサブネット単位で設定可能 ◦ 監査やトラブルシューティングで活躍

    • やり方 ◦ VPCまたはサブネットで「フローログの作成」 作ったあとのテクニック
  30. • 中途採用説明会 ◦ 3/23(火) 20:00〜 ◦ オンライン • 公式YouTubeチャンネル ◦

    社外向け技術勉強会 CM
  31. 2. コンピューティング

  32. 対象範囲 • EC2 • ALB

  33. • おなじみのコンピューティングサービス ◦ 様々なプロセッサ ◦ 様々なタイプ(CPU, メモリ) ◦ 様々なOS(Linux, Windows,

    Mac) • いわゆるVMインスタンス EC2とは
  34. • [備]削除保護 • [楽]EBSをあわせて削除 作るときのテクニック

  35. • 予期せぬ削除を防止してくれる ◦ 削除保護を解除しないと削除できない • やりかた ◦ チェックいれるだけ [備]削除保護(終了保護)

  36. • EC2削除時にEBSを一緒に削除してくれる設定 ◦ 設定しないとEBSだけが残り続ける = 料金ががが ◦ もちろんバックアップとして残す場合は別 • やりかた

    ◦ チェックいれるだけ ▪ ルートはデフォルトでON ▪ それ以外はデフォルトでOFF [楽]EBSをあわせて削除
  37. • [抽]Elastic IPの付与 • [備]Auto Recovery設定 • [楽]AWS Systems Manager設定

    • [備]AWS Backup 作ったあとのテクニック
  38. • 固定Public IP • “稼働している”インスタンスへの付与であればタダ ◦ 外部からアクセスするEC2はとりあえずつけておく ◦ 停止すると課金されちゃうので注意 •

    インスタンスの抽象度UP ◦ IPそのままにインスタンスだけ入れ替えることが可能に [抽]Elastic IPの付与(1/2)
  39. • やりかた ◦ EC2メニューでElastic IP→Elastic IPアドレスの割り当て ◦ 払い出されたIPを選択してElastic IPアドレスの関連付け [抽]Elastic

    IPの付与(2/2)
  40. • インスタンス障害時に自動復旧させる設定 • ちゃんと動きます(当たり前だけど) ◦ 担当案件で事例あり ◦ 検知から復旧まで数分 [備]Auto Recovery設定(1/3)

  41. • やりかた ◦ ステータスチェックアラームを作成 [備]Auto Recovery設定(2/3)

  42. • やりかた ◦ アラームアクションを「復旧」に [備]Auto Recovery設定(3/3)

  43. • AWS Systems Manager(ASM)の各機能を使えるようにする • ASMとは? ◦ AWSインフラ管理のお助けツール ◦ 自動化

    ◦ 見える化 [楽]AWS Systems Manager設定(1/3)
  44. • ASMよく使う機能 ◦ Run Command ▪ ログインなしで任意のコマンド(shell/power shell)を実行可能 ◦ Session

    Manager ▪ TCP22あいてなくても、Public IPがないEC2でもssh可能 [楽]AWS Systems Manager設定(2/3)
  45. • やりかた ◦ EC2へAWS SSM Agentのインストール ◦ EC2用IAMロールの作成とアタッチ ▪ AmazonSSMManagedInstanceCoreポリシーを付与

    [楽]AWS Systems Manager設定(3/3)
  46. • EC2(AMI)バックアップサービス • バックアップ、大事 ◦ このタグついてるやつ全部!など柔軟に対象を指定可能 ◦ 時間にはやや幅がある • VSSが使える

    ◦ Windowsユーザには嬉しい [備]AWS Backup(1/2)
  47. • やりかた ◦ AWS Backupコンソールにて、以下を作成 ▪ バックアッププラン ▪ バックアップルール(いつ、どれくらい) ▪

    リソースの割り当て(リソースID、タグ) [備]AWS Backup(2/2)
  48. • [備]Security Group設計・運用 • [抽]EC2 1台でもELBを置いておく よりよくする

  49. • 役割ベース ◦ ELB ▪ 0.0.0.0/0からHTTP/Sを許可 ◦ EC2(WebAPサーバ) ▪ ELBのSGからのみHTTPを許可

    ◦ RDS ▪ EC2(WebAPサーバ)のSGからのみ3306を許可 [備]Security Group設計・運用(1/4)
  50. • アクセス元ベース ◦ 事業者ごと • 今後のことを考えて影響が少なくなるようにする ◦ 触るのは関係のあるSGだけ! ▪ 事業者・拠点が変わるとか

    [備]Security Group設計・運用(2/4)
  51. • 運用はコードベースで管理すると楽 ◦ piculetなど ◦ 嬉しいポイント ▪ バージョン管理できる! ▪ すっきりシンプルにまとめれる!

    [備]Security Group設計・運用(3/4)
  52. • 触って覚えたい!そんなあなたに [備]Security Group設計・運用(4/4)

  53. • インスタンスの抽象度UP ◦ インスタンスが入れ替わってもアクセス先(ELB)の変更なし • 多機能 ◦ SSL Accelerator ◦

    認証 ◦ WAFとの連携 [抽]EC2 1台でもELBを置いておく
  54. 3. データベース

  55. 対象範囲 • RDS

  56. • マネージドなRDBMS ◦ バックアップや冗長化をAWSにおまかせ • いろんなエンジン ◦ MySQL, PostgreSQL, Oracle,

    SQL Server, etc RDSとは
  57. • [備]削除保護 • [備]パラメータ/オプショングループ • [備]Performance Insights 作るときのテクニック

  58. • EC2の削除保護とおなじ • やりかた ◦ チェックいれるだけ [備]削除保護

  59. • インスタンス作る前にパラメータ/オプショングループを作る! ◦ デフォルトのパラメータ/オプションは値を変更できない • やりかた ◦ 希望のファミリーで作成しておく ◦ インスタンス作成時に作ったパラメータ/オプションを設定する

    [備]パラメータ/オプショングループ
  60. • DBのパフォーマンスチューニングとモニタリング ◦ なんかあったときの調査材料になる • やりかた ◦ チェックいれるだけ [備]Performance Insights

  61. とゆーわけで

  62. • 抽象化する • 備える • 楽にする 今日お話したテクニック

  63. • 特定のリソースに依存させず、変更をしやすくする ◦ EC2: Elastic IPの付与 ◦ EC2: 1台でもELBを置いておく 抽象化する

  64. • 備えよ常に ◦ VPC: VPC Flow Logs ◦ EC2: Auto

    Recovery設定 ◦ EC2: AWS Backup ◦ EC2, RDS: 削除保護 ◦ RDS: パラメータ/オプショングループ ◦ RDS: Performance Insights 備える
  65. • 今後や運用を見据えて、使えるものは使えるように ◦ VPC: Public IPの有効化 ◦ VPC: テンプレートの活用 ◦

    EC2: AWS Systems Manager設定 楽をする
  66. • ベストプラクティスの宝石箱 ◦ Well-Architected Tool ◦ Blackbelt資料集 もっと知りたい!

  67. 抽象化して 備えて 楽をしよう!!! Everybody say