JAWS DAYS 2021プレイベントの登壇資料です。 https://jawsdays2021.jaws-ug.jp/pre-event-timetable/
JAWS DAYS 2021 プレイベント脱・初心者!AWSコンピューティング・ネットワークのテクニック集
View Slide
● 古屋 啓介● アイレット株式会社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と紐付ければOKInternet Gateway
● Privateサブネット→インターネットへの出口○ Publicサブネットに作成、Elastic IPが必要○ AZ障害に備えて冗長化の検討余地あり(コストとの天秤)NAT Gatewayor
● [備]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, etcRDSとは
● [備]削除保護● [備]パラメータ/オプショングループ● [備]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