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
690
脱・初心者!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
EKS Auto Modeなにそれおいしいの?
saramune
0
72
self-hosted runnersでAWSコスト削減?
saramune
0
100
業務効率向上としての分割キーボード
saramune
0
120
インフラ観点で見るセキュリティ〜4Cモデルに倣って〜
saramune
0
32
適材適所
saramune
1
79
ChatworkのSRE部って実は 半分くらいPlatform Engineering部かもしれない
saramune
0
540
週刊AWSキャッチアップ(2024/03/25週)
saramune
0
110
なんでもかんでもコンテナ化すればいいってもんでもないけど なんでもかんでもコンテナ化したらスッキリしました
saramune
2
350
ACKを活用して 使い捨てAWS検証環境を構築している話
saramune
0
1.1k
Other Decks in Technology
See All in Technology
バックエンドエンジニアのためのフロントエンド入門 #devsumiC
panda_program
16
6.5k
インフラをつくるとはどういうことなのか、 あるいはPlatform Engineeringについて
nwiizo
5
2.1k
エンジニアの育成を支える爆速フィードバック文化
sansantech
PRO
3
660
Developers Summit 2025 浅野卓也(13-B-7 LegalOn Technologies)
legalontechnologies
PRO
0
150
開発者が自律的に AWS Security Hub findings に 対応する仕組みと AWS re:Invent 2024 登壇体験談 / Developers autonomously report AWS Security Hub findings Corresponding mechanism and AWS re:Invent 2024 presentation experience
kaminashi
0
190
Platform Engineeringは自由のめまい
nwiizo
4
1.9k
High Performance PHP
cmuench
0
140
君はPostScriptなウィンドウシステム 「NeWS」をご存知か?/sunnews
koyhoge
0
720
生成AIの利活用を加速させるための取り組み「prAIrie-dog」/ Shibuya_AI_1
visional_engineering_and_design
1
140
これからSREになる人と、これからもSREをやっていく人へ
masayoshi
6
4.1k
Bounded Context: Problem or Solution?
ewolff
1
210
7日間でハッキングをはじめる本をはじめてみませんか?_ITエンジニア本大賞2025
nomizone
2
1.4k
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
22
1.3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
BBQ
matthewcrist
86
9.5k
Being A Developer After 40
akosma
89
590k
Raft: Consensus for Rubyists
vanstee
137
6.8k
We Have a Design System, Now What?
morganepeng
51
7.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Making Projects Easy
brettharned
116
6k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
20
2.4k
Agile that works and the tools we love
rasmusluckow
328
21k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.6k
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