Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

1. ネットワーク

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

進捗

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

進捗

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

2. コンピューティング

Slide 32

Slide 32 text

対象範囲 ● EC2 ● ALB

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

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

Slide 47

Slide 47 text

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

Slide 48

Slide 48 text

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

Slide 49

Slide 49 text

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

Slide 50

Slide 50 text

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

Slide 51

Slide 51 text

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

Slide 52

Slide 52 text

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

Slide 53

Slide 53 text

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

Slide 54

Slide 54 text

3. データベース

Slide 55

Slide 55 text

対象範囲 ● RDS

Slide 56

Slide 56 text

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

Slide 57

Slide 57 text

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

Slide 58

Slide 58 text

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

Slide 59

Slide 59 text

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

Slide 60

Slide 60 text

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

Slide 61

Slide 61 text

とゆーわけで

Slide 62

Slide 62 text

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

Slide 63

Slide 63 text

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

Slide 64

Slide 64 text

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

Slide 65

Slide 65 text

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

Slide 66

Slide 66 text

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

Slide 67

Slide 67 text

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