Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
脱・初心者!AWSコンピューティング・ネットワークのテクニック集
Search
saramune
March 14, 2021
Technology
2
650
脱・初心者!AWSコンピューティング・ネットワークのテクニック集
JAWS DAYS 2021プレイベントの登壇資料です。
https://jawsdays2021.jaws-ug.jp/pre-event-timetable/
saramune
March 14, 2021
Tweet
Share
More Decks by saramune
See All by saramune
適材適所
saramune
1
60
ChatworkのSRE部って実は 半分くらいPlatform Engineering部かもしれない
saramune
0
480
週刊AWSキャッチアップ(2024/03/25週)
saramune
0
74
なんでもかんでもコンテナ化すればいいってもんでもないけど なんでもかんでもコンテナ化したらスッキリしました
saramune
2
290
ACKを活用して 使い捨てAWS検証環境を構築している話
saramune
0
950
KubernetesとTerraformのセキュリティ/ガバナンス向上委員会 with OPA
saramune
2
1.3k
うんうん、それ(EC2+ASG)もまたCloudNativeだね
saramune
1
440
Cloud Runについて(iret tech labo vol.6)
saramune
0
210
しくじり先生 on AWS
saramune
0
76
Other Decks in Technology
See All in Technology
入門 バックアップ
ryuichi1208
18
6.5k
それでもやっぱり ExpressRoute が好き!
skmkzyk
0
240
普通の Web エンジニアのための様相論理入門 #yapcjapan / YAPC Hakodate 2024
ytaka23
5
1.3k
Develop to Survive - YAPC::Hakodate 2024 Keynote
moznion
8
2.1k
【shownet.conf_】革新と伝統を融合したファシリティ
shownet
PRO
0
320
Low Latency Join Method for Distributed DBMS
yugabytejapan
0
160
過去のインプットとアウトプットを振り返る
diggymo
0
110
スモールスタート、不都合な真実 〜 耳当たりの良い言葉に現場が振り回されないために/20240930-ssmjp-small-start
opelab
13
1.8k
AI時代のアジャイル開発(XP祭り2024版) / Agile Development in the AI Era in XPJUG
takaking22
13
3.6k
PREEMPT_RT over the years
ennael
PRO
0
350
トークナイザー入門
payanotty
2
930
All your memory are belong to… whom?
ennael
PRO
0
650
Featured
See All Featured
Facilitating Awesome Meetings
lara
49
6k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
4
110
How GitHub (no longer) Works
holman
311
140k
Atom: Resistance is Futile
akmur
261
25k
Code Reviewing Like a Champion
maltzj
519
39k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
249
21k
Ruby is Unlike a Banana
tanoku
96
11k
A designer walks into a library…
pauljervisheath
202
24k
From Idea to $5000 a Month in 5 Months
shpigford
380
46k
Building Better People: How to give real-time feedback that sticks.
wjessup
362
19k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
663
120k
Transcript
JAWS DAYS 2021 プレイベント 脱・初心者! AWSコンピューティング・ ネットワークのテクニック集
• 古屋 啓介 • アイレット株式会社cloudpack所属 • AWSとイチャイチャするひと 自己紹介
AWSイチャイチャ集団アイレット cloudpack お客様 定額課金・請求書払い 24時間365日の監視運用保守
• お話すること ◦ 現役AWSイチャイチャエンジニアがよくする設定 ◦ VPC, EC2, RDSを設計・構築するポイント • お話しないこと
◦ クラウド/AWSとは? ◦ アカウントの作り方等→ はじめに
• あとで見返してください! ◦ AWSこれから触る方 • 極端に間違ったこと言ってたらあとで刺してください! ◦ AWSイチャイチャエンジニアの方 • 知らないことがあったらぜひ実践してください!
◦ AWS触り始めたよという方 ◦ 個人では使ってるけど業務としてはこれからの方 みなさまへのおねがい
もちべーしょん(1/2) Private Link、よき... JAWS DAYSはそこからひとネタ? ネットワーク系のオススメ機能? 加えてベスプラ系オススメ設定? コンピューティングもいく? むしろ初心者向けコスパ高いオススメ設定?
• 自分が初心者だった頃を思い出す ◦ VPC, EC2なんとなくでもできてしまう ◦ ベスプラが欲しい • “なんとなく”→”理解して設定する”のお手伝いになればいいかな もちべーしょん(2/2)
• 1. ネットワーク ◦ VPC • 2. コンピューティング ◦ EC2,
ALB • 3. データベース ◦ RDS 対象とするサービス
抽象化して 備えて 楽をする 今日のポイント
1. ネットワーク
対象範囲 • リージョン • Availability Zone • VPC • Subnet
• Internet Gateway • NAT Gateway
• リージョン ◦ 地理的に離れたデータセンタ領域 ◦ 祝!大阪リージョン! ◦ 例: 東京(ap-northeast-1), 大阪(ap-northeast-3)
リージョン、Availability Zoneとは(1/3)
リージョン、Availability Zoneとは(2/3) https://aws.amazon.com/jp/about-aws/global-infrastructure/
• Availability Zone(AZ) ◦ リージョン内の独立した場所 ◦ 各AZは立地・電源が別の複数のデータセンタ群 リージョン、Availability Zoneとは(3/3)
• 利用するIPの範囲(CIDR)を定義可能な仮想ネットワーク • リージョン単位で定義、全AZを含む • VPC内にしか構築できないリソースあり(EC2, RDSなど) VPCとは
進捗
• AZ単位でCIDRを定義したもの ◦ AZをまたぐことはできない • VPCのCIDR内である必要あり ◦ 作成可能なサブネット数はVPCのCIDRに依存する ◦ 例:VPCが10.0.0.0/16の場合
▪ /17なら2個、/18なら4個... サブネットとは
• AWSのリソースとして存在するわけではない ◦ 便宜上そう呼んでいるだけ • どこへ/から疎通可能か、で区別する ◦ Public: インターネットへ/から疎通可能 ◦
Private: インターネットへ疎通可能 ◦ Isolate: VPC内部のみ疎通可能 Public, Private, Isolateサブネットとは(1/2)
• 実際の違いはルートテーブルの中身 ◦ Publicサブネット ▪ 0.0.0.0/0がInternet Gatewayに向かうように設定する ◦ Privateサブネット ▪
0.0.0.0/0がNAT Gatewayに向かうように設定する ◦ Isolateサブネット ▪ 上記のルートなし(VPC内通信のみ) Public, Private, Isolateサブネットとは(2/2)
• インターネットへの出入り口 ◦ VPCに1つ作成するもの ◦ 作ってVPCと紐付ければOK Internet Gateway
• Privateサブネット→インターネットへの出口 ◦ Publicサブネットに作成、Elastic IPが必要 ◦ AZ障害に備えて冗長化の検討余地あり(コストとの天秤) NAT Gateway or
進捗
• [備]CIDR設計 • [楽]Public IPの有効化 • [楽]テンプレートの活用 作るときのテクニック
• オンプレ等他のネットワークと接続する予定があるか? ◦ 接続先とCIDRが重複していると接続できない • どのレンジ使う? ◦ RFC1918準拠で ◦ 10.0.0.0/8,
172.16.0.0/12, 192.168.0.0/16 [備]CIDR設計(1/2)
• サブネット数足りてる? ◦ ALB使う場合はAZを別にした2つ以上のサブネットが必要 ◦ RDS(Multi-AZ)したい場合も同様 • Private IP数は足りてる? ◦
サブネットはAWS予約で5つ、ELB使うなら更に8つ予約される ◦ VPC内で使うサービスが増えるとIPもそれだけ消費する [備]CIDR設計(2/2)
• サブネット内に構築するEC2にPublic IPを付与するか否か ◦ 構築時に設定可能だが、サブネット単位でデフォルトを決めれる • やり方 ◦ 「自動割り当てIP設定の変更」から設定する [楽]Public
IPの有効化
• VPC作成ウィザード ◦ Public/Privateサブネット1つずつ、NATも作成してくれる [楽]テンプレートの活用(1/2)
• CloudFormation, terraform等のIaCツール ◦ よく使う(そしてあまり変化のない)ものはコード化してしまう [楽]テンプレートの活用(2/2) ぽちっとな、で作成→
• [備]VPC Flow Logs ◦ VPC内の通信ログ ◦ VPC全体、またはサブネット単位で設定可能 ◦ 監査やトラブルシューティングで活躍
• やり方 ◦ VPCまたはサブネットで「フローログの作成」 作ったあとのテクニック
• 中途採用説明会 ◦ 3/23(火) 20:00〜 ◦ オンライン • 公式YouTubeチャンネル ◦
社外向け技術勉強会 CM
2. コンピューティング
対象範囲 • EC2 • ALB
• おなじみのコンピューティングサービス ◦ 様々なプロセッサ ◦ 様々なタイプ(CPU, メモリ) ◦ 様々なOS(Linux, Windows,
Mac) • いわゆるVMインスタンス EC2とは
• [備]削除保護 • [楽]EBSをあわせて削除 作るときのテクニック
• 予期せぬ削除を防止してくれる ◦ 削除保護を解除しないと削除できない • やりかた ◦ チェックいれるだけ [備]削除保護(終了保護)
• EC2削除時にEBSを一緒に削除してくれる設定 ◦ 設定しないとEBSだけが残り続ける = 料金ががが ◦ もちろんバックアップとして残す場合は別 • やりかた
◦ チェックいれるだけ ▪ ルートはデフォルトでON ▪ それ以外はデフォルトでOFF [楽]EBSをあわせて削除
• [抽]Elastic IPの付与 • [備]Auto Recovery設定 • [楽]AWS Systems Manager設定
• [備]AWS Backup 作ったあとのテクニック
• 固定Public IP • “稼働している”インスタンスへの付与であればタダ ◦ 外部からアクセスするEC2はとりあえずつけておく ◦ 停止すると課金されちゃうので注意 •
インスタンスの抽象度UP ◦ IPそのままにインスタンスだけ入れ替えることが可能に [抽]Elastic IPの付与(1/2)
• やりかた ◦ EC2メニューでElastic IP→Elastic IPアドレスの割り当て ◦ 払い出されたIPを選択してElastic IPアドレスの関連付け [抽]Elastic
IPの付与(2/2)
• インスタンス障害時に自動復旧させる設定 • ちゃんと動きます(当たり前だけど) ◦ 担当案件で事例あり ◦ 検知から復旧まで数分 [備]Auto Recovery設定(1/3)
• やりかた ◦ ステータスチェックアラームを作成 [備]Auto Recovery設定(2/3)
• やりかた ◦ アラームアクションを「復旧」に [備]Auto Recovery設定(3/3)
• AWS Systems Manager(ASM)の各機能を使えるようにする • ASMとは? ◦ AWSインフラ管理のお助けツール ◦ 自動化
◦ 見える化 [楽]AWS Systems Manager設定(1/3)
• ASMよく使う機能 ◦ Run Command ▪ ログインなしで任意のコマンド(shell/power shell)を実行可能 ◦ Session
Manager ▪ TCP22あいてなくても、Public IPがないEC2でもssh可能 [楽]AWS Systems Manager設定(2/3)
• やりかた ◦ EC2へAWS SSM Agentのインストール ◦ EC2用IAMロールの作成とアタッチ ▪ AmazonSSMManagedInstanceCoreポリシーを付与
[楽]AWS Systems Manager設定(3/3)
• EC2(AMI)バックアップサービス • バックアップ、大事 ◦ このタグついてるやつ全部!など柔軟に対象を指定可能 ◦ 時間にはやや幅がある • VSSが使える
◦ Windowsユーザには嬉しい [備]AWS Backup(1/2)
• やりかた ◦ AWS Backupコンソールにて、以下を作成 ▪ バックアッププラン ▪ バックアップルール(いつ、どれくらい) ▪
リソースの割り当て(リソースID、タグ) [備]AWS Backup(2/2)
• [備]Security Group設計・運用 • [抽]EC2 1台でもELBを置いておく よりよくする
• 役割ベース ◦ ELB ▪ 0.0.0.0/0からHTTP/Sを許可 ◦ EC2(WebAPサーバ) ▪ ELBのSGからのみHTTPを許可
◦ RDS ▪ EC2(WebAPサーバ)のSGからのみ3306を許可 [備]Security Group設計・運用(1/4)
• アクセス元ベース ◦ 事業者ごと • 今後のことを考えて影響が少なくなるようにする ◦ 触るのは関係のあるSGだけ! ▪ 事業者・拠点が変わるとか
[備]Security Group設計・運用(2/4)
• 運用はコードベースで管理すると楽 ◦ piculetなど ◦ 嬉しいポイント ▪ バージョン管理できる! ▪ すっきりシンプルにまとめれる!
[備]Security Group設計・運用(3/4)
• 触って覚えたい!そんなあなたに [備]Security Group設計・運用(4/4)
• インスタンスの抽象度UP ◦ インスタンスが入れ替わってもアクセス先(ELB)の変更なし • 多機能 ◦ SSL Accelerator ◦
認証 ◦ WAFとの連携 [抽]EC2 1台でもELBを置いておく
3. データベース
対象範囲 • RDS
• マネージドなRDBMS ◦ バックアップや冗長化をAWSにおまかせ • いろんなエンジン ◦ MySQL, PostgreSQL, Oracle,
SQL Server, etc RDSとは
• [備]削除保護 • [備]パラメータ/オプショングループ • [備]Performance Insights 作るときのテクニック
• EC2の削除保護とおなじ • やりかた ◦ チェックいれるだけ [備]削除保護
• インスタンス作る前にパラメータ/オプショングループを作る! ◦ デフォルトのパラメータ/オプションは値を変更できない • やりかた ◦ 希望のファミリーで作成しておく ◦ インスタンス作成時に作ったパラメータ/オプションを設定する
[備]パラメータ/オプショングループ
• DBのパフォーマンスチューニングとモニタリング ◦ なんかあったときの調査材料になる • やりかた ◦ チェックいれるだけ [備]Performance Insights
とゆーわけで
• 抽象化する • 備える • 楽にする 今日お話したテクニック
• 特定のリソースに依存させず、変更をしやすくする ◦ EC2: Elastic IPの付与 ◦ EC2: 1台でもELBを置いておく 抽象化する
• 備えよ常に ◦ VPC: VPC Flow Logs ◦ EC2: Auto
Recovery設定 ◦ EC2: AWS Backup ◦ EC2, RDS: 削除保護 ◦ RDS: パラメータ/オプショングループ ◦ RDS: Performance Insights 備える
• 今後や運用を見据えて、使えるものは使えるように ◦ VPC: Public IPの有効化 ◦ VPC: テンプレートの活用 ◦
EC2: AWS Systems Manager設定 楽をする
• ベストプラクティスの宝石箱 ◦ Well-Architected Tool ◦ Blackbelt資料集 もっと知りたい!
抽象化して 備えて 楽をしよう!!! Everybody say