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
680
脱・初心者!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
self-hosted runnersでAWSコスト削減?
saramune
0
88
業務効率向上としての分割キーボード
saramune
0
97
インフラ観点で見るセキュリティ〜4Cモデルに倣って〜
saramune
0
15
適材適所
saramune
1
72
ChatworkのSRE部って実は 半分くらいPlatform Engineering部かもしれない
saramune
0
510
週刊AWSキャッチアップ(2024/03/25週)
saramune
0
92
なんでもかんでもコンテナ化すればいいってもんでもないけど なんでもかんでもコンテナ化したらスッキリしました
saramune
2
330
ACKを活用して 使い捨てAWS検証環境を構築している話
saramune
0
1k
KubernetesとTerraformのセキュリティ/ガバナンス向上委員会 with OPA
saramune
2
1.4k
Other Decks in Technology
See All in Technology
AWS re:Invent 2024で発表された コードを書く開発者向け機能について
maruto
0
190
DevFest 2024 Incheon / Songdo - Compose UI 조합 심화
wisemuji
0
100
2024年にチャレンジしたことを振り返るぞ
mitchan
0
140
Snowflake女子会#3 Snowpipeの良さを5分で語るよ
lana2548
0
230
Oracle Cloud Infrastructure:2024年12月度サービス・アップデート
oracle4engineer
PRO
0
180
alecthomas/kong はいいぞ / kamakura.go#7
fujiwara3
1
300
祝!Iceberg祭開幕!re:Invent 2024データレイク関連アップデート10分総ざらい
kniino
3
260
Opcodeを読んでいたら何故かphp-srcを読んでいた話
murashotaro
0
240
LINEヤフーのフロントエンド組織・体制の紹介【24年12月】
lycorp_recruit_jp
0
530
【re:Invent 2024 アプデ】 Prompt Routing の紹介
champ
0
140
20241220_S3 tablesの使い方を検証してみた
handy
4
410
社外コミュニティで学び社内に活かす共に学ぶプロジェクトの実践/backlogworld2024
nishiuma
0
260
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1366
200k
Thoughts on Productivity
jonyablonski
67
4.4k
Facilitating Awesome Meetings
lara
50
6.1k
We Have a Design System, Now What?
morganepeng
51
7.3k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
Being A Developer After 40
akosma
87
590k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
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