$30 off During Our Annual Pro Sale. View Details »

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

saramune
March 14, 2021

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

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

saramune

March 14, 2021
Tweet

More Decks by saramune

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

  4. ● お話すること
    ○ 現役AWSイチャイチャエンジニアがよくする設定
    ○ VPC, EC2, RDSを設計・構築するポイント
    ● お話しないこと
    ○ クラウド/AWSとは?
    ○ アカウントの作り方等→
    はじめに

    View Slide

  5. ● あとで見返してください!
    ○ AWSこれから触る方
    ● 極端に間違ったこと言ってたらあとで刺してください!
    ○ AWSイチャイチャエンジニアの方
    ● 知らないことがあったらぜひ実践してください!
    ○ AWS触り始めたよという方
    ○ 個人では使ってるけど業務としてはこれからの方
    みなさまへのおねがい

    View Slide

  6. もちべーしょん(1/2)
    Private Link、よき...
    JAWS DAYSはそこからひとネタ?
    ネットワーク系のオススメ機能?
    加えてベスプラ系オススメ設定?
    コンピューティングもいく?
    むしろ初心者向けコスパ高いオススメ設定?

    View Slide

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

    View Slide

  8. ● 1. ネットワーク
    ○ VPC
    ● 2. コンピューティング
    ○ EC2, ALB
    ● 3. データベース
    ○ RDS
    対象とするサービス

    View Slide

  9. 抽象化して
    備えて
    楽をする
    今日のポイント

    View Slide

  10. 1. ネットワーク

    View Slide

  11. 対象範囲
    ● リージョン
    ● Availability Zone
    ● VPC
    ● Subnet
    ● Internet Gateway
    ● NAT Gateway

    View Slide

  12. ● リージョン
    ○ 地理的に離れたデータセンタ領域
    ○ 祝!大阪リージョン!
    ○ 例: 東京(ap-northeast-1), 大阪(ap-northeast-3)
    リージョン、Availability Zoneとは(1/3)

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  16. 進捗

    View Slide

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

    View Slide

  18. ● AWSのリソースとして存在するわけではない
    ○ 便宜上そう呼んでいるだけ
    ● どこへ/から疎通可能か、で区別する
    ○ Public: インターネットへ/から疎通可能
    ○ Private: インターネットへ疎通可能
    ○ Isolate: VPC内部のみ疎通可能
    Public, Private, Isolateサブネットとは(1/2)

    View Slide

  19. ● 実際の違いはルートテーブルの中身
    ○ Publicサブネット
    ■ 0.0.0.0/0がInternet Gatewayに向かうように設定する
    ○ Privateサブネット
    ■ 0.0.0.0/0がNAT Gatewayに向かうように設定する
    ○ Isolateサブネット
    ■ 上記のルートなし(VPC内通信のみ)
    Public, Private, Isolateサブネットとは(2/2)

    View Slide

  20. ● インターネットへの出入り口
    ○ VPCに1つ作成するもの
    ○ 作ってVPCと紐付ければOK
    Internet Gateway

    View Slide

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

    View Slide

  22. 進捗

    View Slide

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

    View Slide

  24. ● オンプレ等他のネットワークと接続する予定があるか?
    ○ 接続先とCIDRが重複していると接続できない
    ● どのレンジ使う?
    ○ RFC1918準拠で
    ○ 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16
    [備]CIDR設計(1/2)

    View Slide

  25. ● サブネット数足りてる?
    ○ ALB使う場合はAZを別にした2つ以上のサブネットが必要
    ○ RDS(Multi-AZ)したい場合も同様
    ● Private IP数は足りてる?
    ○ サブネットはAWS予約で5つ、ELB使うなら更に8つ予約される
    ○ VPC内で使うサービスが増えるとIPもそれだけ消費する
    [備]CIDR設計(2/2)

    View Slide

  26. ● サブネット内に構築するEC2にPublic IPを付与するか否か
    ○ 構築時に設定可能だが、サブネット単位でデフォルトを決めれる
    ● やり方
    ○ 「自動割り当てIP設定の変更」から設定する
    [楽]Public IPの有効化

    View Slide

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

    View Slide

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

    View Slide

  29. ● [備]VPC Flow Logs
    ○ VPC内の通信ログ
    ○ VPC全体、またはサブネット単位で設定可能
    ○ 監査やトラブルシューティングで活躍
    ● やり方
    ○ VPCまたはサブネットで「フローログの作成」
    作ったあとのテクニック

    View Slide

  30. ● 中途採用説明会
    ○ 3/23(火) 20:00〜
    ○ オンライン
    ● 公式YouTubeチャンネル
    ○ 社外向け技術勉強会
    CM

    View Slide

  31. 2. コンピューティング

    View Slide

  32. 対象範囲
    ● EC2
    ● ALB

    View Slide

  33. ● おなじみのコンピューティングサービス
    ○ 様々なプロセッサ
    ○ 様々なタイプ(CPU, メモリ)
    ○ 様々なOS(Linux, Windows, Mac)
    ● いわゆるVMインスタンス
    EC2とは

    View Slide

  34. ● [備]削除保護
    ● [楽]EBSをあわせて削除
    作るときのテクニック

    View Slide

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

    View Slide

  36. ● EC2削除時にEBSを一緒に削除してくれる設定
    ○ 設定しないとEBSだけが残り続ける = 料金ががが
    ○ もちろんバックアップとして残す場合は別
    ● やりかた
    ○ チェックいれるだけ
    ■ ルートはデフォルトでON
    ■ それ以外はデフォルトでOFF
    [楽]EBSをあわせて削除

    View Slide

  37. ● [抽]Elastic IPの付与
    ● [備]Auto Recovery設定
    ● [楽]AWS Systems Manager設定
    ● [備]AWS Backup
    作ったあとのテクニック

    View Slide

  38. ● 固定Public IP
    ● “稼働している”インスタンスへの付与であればタダ
    ○ 外部からアクセスするEC2はとりあえずつけておく
    ○ 停止すると課金されちゃうので注意
    ● インスタンスの抽象度UP
    ○ IPそのままにインスタンスだけ入れ替えることが可能に
    [抽]Elastic IPの付与(1/2)

    View Slide

  39. ● やりかた
    ○ EC2メニューでElastic IP→Elastic IPアドレスの割り当て
    ○ 払い出されたIPを選択してElastic IPアドレスの関連付け
    [抽]Elastic IPの付与(2/2)

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  43. ● AWS Systems Manager(ASM)の各機能を使えるようにする
    ● ASMとは?
    ○ AWSインフラ管理のお助けツール
    ○ 自動化
    ○ 見える化
    [楽]AWS Systems Manager設定(1/3)

    View Slide

  44. ● ASMよく使う機能
    ○ Run Command
    ■ ログインなしで任意のコマンド(shell/power shell)を実行可能
    ○ Session Manager
    ■ TCP22あいてなくても、Public IPがないEC2でもssh可能
    [楽]AWS Systems Manager設定(2/3)

    View Slide

  45. ● やりかた
    ○ EC2へAWS SSM Agentのインストール
    ○ EC2用IAMロールの作成とアタッチ
    ■ AmazonSSMManagedInstanceCoreポリシーを付与
    [楽]AWS Systems Manager設定(3/3)

    View Slide

  46. ● EC2(AMI)バックアップサービス
    ● バックアップ、大事
    ○ このタグついてるやつ全部!など柔軟に対象を指定可能
    ○ 時間にはやや幅がある
    ● VSSが使える
    ○ Windowsユーザには嬉しい
    [備]AWS Backup(1/2)

    View Slide

  47. ● やりかた
    ○ AWS Backupコンソールにて、以下を作成
    ■ バックアッププラン
    ■ バックアップルール(いつ、どれくらい)
    ■ リソースの割り当て(リソースID、タグ)
    [備]AWS Backup(2/2)

    View Slide

  48. ● [備]Security Group設計・運用
    ● [抽]EC2 1台でもELBを置いておく
    よりよくする

    View Slide

  49. ● 役割ベース
    ○ ELB
    ■ 0.0.0.0/0からHTTP/Sを許可
    ○ EC2(WebAPサーバ)
    ■ ELBのSGからのみHTTPを許可
    ○ RDS
    ■ EC2(WebAPサーバ)のSGからのみ3306を許可
    [備]Security Group設計・運用(1/4)

    View Slide

  50. ● アクセス元ベース
    ○ 事業者ごと
    ● 今後のことを考えて影響が少なくなるようにする
    ○ 触るのは関係のあるSGだけ!
    ■ 事業者・拠点が変わるとか
    [備]Security Group設計・運用(2/4)

    View Slide

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

    View Slide

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

    View Slide

  53. ● インスタンスの抽象度UP
    ○ インスタンスが入れ替わってもアクセス先(ELB)の変更なし
    ● 多機能
    ○ SSL Accelerator
    ○ 認証
    ○ WAFとの連携
    [抽]EC2 1台でもELBを置いておく

    View Slide

  54. 3. データベース

    View Slide

  55. 対象範囲
    ● RDS

    View Slide

  56. ● マネージドなRDBMS
    ○ バックアップや冗長化をAWSにおまかせ
    ● いろんなエンジン
    ○ MySQL, PostgreSQL, Oracle, SQL Server, etc
    RDSとは

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  60. ● DBのパフォーマンスチューニングとモニタリング
    ○ なんかあったときの調査材料になる
    ● やりかた
    ○ チェックいれるだけ
    [備]Performance Insights

    View Slide

  61. とゆーわけで

    View Slide

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

    View Slide

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

    View Slide

  64. ● 備えよ常に
    ○ VPC: VPC Flow Logs
    ○ EC2: Auto Recovery設定
    ○ EC2: AWS Backup
    ○ EC2, RDS: 削除保護
    ○ RDS: パラメータ/オプショングループ
    ○ RDS: Performance Insights
    備える

    View Slide

  65. ● 今後や運用を見据えて、使えるものは使えるように
    ○ VPC: Public IPの有効化
    ○ VPC: テンプレートの活用
    ○ EC2: AWS Systems Manager設定
    楽をする

    View Slide

  66. ● ベストプラクティスの宝石箱
    ○ Well-Architected Tool
    ○ Blackbelt資料集
    もっと知りたい!

    View Slide

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

    View Slide