Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
おれのAWSがこんなに辛い訳がない!!
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
akira345
December 03, 2021
Technology
75
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
おれのAWSが こんなに辛い訳がない!!
JAWS-UG広島 第18回勉強会 で発表したスライドです。
akira345
December 03, 2021
More Decks by akira345
See All by akira345
回路設計のバイブコーディング
akira345
0
260
ビジネス要件から逆算するマイクロサービスアーキテクチャ選定の「思考プロセス」
akira345
0
100
インシデント対応
akira345
0
620
えれくら!〜電気電子工作系制作・交流会〜#29
akira345
0
72
脱・同期処理!マイクロサービスにおける負荷分散の勘所
akira345
0
180
AWSデプロイツール紹介
akira345
0
100
40歳でやったこと
akira345
0
76
回路を読むために必要なこと
akira345
0
81
Dockerを触ってみよう
akira345
0
140
Other Decks in Technology
See All in Technology
GCASアップデート(202607-202610)
techniczna
1
250
サボる子はいねぇがー!AgentCoreハーネスの脆弱性に学ぶ、エージェントの入力バリデーション
iwamot
PRO
5
320
Context Ontology Accelerator 入門 (業務データの意味を、AI エージェントに渡す)
inariku
PRO
3
620
現場を動かすAIエージェント#2_製造業現場でのAI活用から見た、ハマる罠と実践知
kintotechdev
2
210
Active Directory と Entra ID のむむむな関係
murachiakira
PRO
4
1.8k
公共システムAdventCalendar2026
toru_kubota
0
290
生成AI時代のIAMのマニアックな話
takuros
6
2.9k
Agent Harnessはどう作る?事例から学ぶAI Agentの設計思想
sergicalsix
0
240
cdkd (CDK Direct)
gotok365
4
280
AIがGISを代替する日:〜すべてをAIが創る時代に、私たちがFOSS4Gに関わる意味〜
lehupa
1
220
evcc & Home Assistant
naltatis
0
490
AWS構成から考えるWebセキュリティ ― WordPressの構築経験から考える公開範囲と更新運用【JAWS FESTA 2026 in AKITA】
cscengineer
PRO
2
390
Featured
See All Featured
30 Presentation Tips
portentint
PRO
1
460
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
560
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
3
1.2k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
The Curious Case for Waylosing
cassininazir
1
610
A better future with KSS
kneath
240
18k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3.8k
Are puppies a ranking factor?
jonoalderson
2
4.2k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
590
Marketing to machines
jonoalderson
1
6k
The SEO Collaboration Effect
kristinabergwall1
1
620
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Transcript
おれのAWSが こんなに辛い訳がない!! JAWS-UG広島 第18回勉強会
自己紹介 金田 晃(HN) 所属:某株式会社 I like Cloud . I like
AWS AWS SDK for JavaScript 興味のあること nodeJS 電子工作(分解・破壊・修理) Kintone API 自宅(Docker)サーバ
障害に始まり 障害に終わる
• AWSを使っていく中で知見不足、経験不足 など様々やらかしてきました • その中で軽めのものを10個ピックアップ • 大人の事情でナレッジ的なものは別の機会 に・・・
やらかしNO1 AWSサポートに加入しない • 大人の事情で(ry • 世の中にはNDAというものがあるので勉強会とかで気軽に聞 けない • 大事なことはググれないと知れ •
クラメソブログで知った気になってませんか? • それ実際やってみました? • 担当営業に聞きまくると返事が来なくなる • 基本インフラって死にゲーだし・・・ねぇ
解決策 AWSサポートに加入する • 実際にやってみる(AWS全般そうですけど) • 会社で自由に使えるアカウントを付与する • クラメソブログは書き手によっては内容が微妙省略されている • AWS公式ドキュメントを読む
• 日本語のドキュメントは古かったり翻訳が微妙だったりす る • 良く分からないブログやQiitaは鵜呑みにしないこと • 前提となる環境や条件が不明なので・・・
やらかしNO2 RDS文字コード未設定 • RDSのデフォルト文字コードはMySQLだとLaten 1、 PostgreSQLだとen_US-UTF8 • XAMPとか物理だと設定コピペであまり意識しない • 21世紀なんだしクラウドなんだからデフォルトUTF8だろ!!
• 実はアプリ側は気づいていたようだが、そんなもんと思って いたらしく(途中から)アプリ側で変換していたらしい・・ • っが、後にソート順がおかしいとお客さんからクレームにOrz • ダンプから戻すのに異なる文字コードが混入・・無事死亡
解決策 パラメタグループ作成してから作れ!! • RDSでデータベース作成する前にパラメタグループを作る • デフォルトパラメータグループを使うな! • 開発環境などでちゃんと構築練習すること • DBパラメタはシステム構築時に検討すること
• RDSでは一部変更不可のものがある • DBは罠が多いうえに切り替えは死ぬので検討に時間をかけろ • EC2上に作るのはオススメしない
やらかしNO3 RDSタイムゾーン未設定 • リージョンによるのか?と思ったそんなこともなく • 文字コードと一緒でオンプレでは意識しなかった • アプリ側も意識していないことが多いので意外と盲点になる
解決策 仕様検討時に盛り込んで必ず実験する • 日中に検証すると9時間ずれても気づかないことがある • ブラウザのタイムゾーンやOSの設定で良しなに動くことがある • アプリ側と認識を合わせる事 • 検証可能な環境の準備、テスト項目の列挙
• レビュー時にチェックすること
やらかしNO4 メンテナンスタイムで死亡 • 何故か妥協を許さないコスト重視のお客さんほどEC2単品、 RDS単品なのに完全無停止を求められる • 妥協して深夜にメンテナンスタイムを設定、自動適用にする • 翌朝画面が真っ白で怒られる・・・ •
完全無停止なんて幻想なんだから、がっつり止めさせろ!
解決策 完全無停止の幻想を捨てろ! • お客様との合意事項に計画停止、緊急時適用事項などを盛り 込む • 脆弱性がらみの緊急パッチ適用やインスタンス不良はある • 何十億円かけて作った銀行システムでも止まる •
止まったときのサブプランを持っておく • 復旧させられる障害レベルの想定と復旧手段、避難訓練的な 検証をしておく
やらかしNO5 EC2インスタンスが古い。マイクロばかり。 • 古いインスタンスはやがて処分される • (クラウドの裏は物理です!!) • リタイヤインスタンス続出→再起動後起動しないものがぽつぽ つ •
PV→HVMの時はインスタンスタイプの切り替えが出来なかった • 移行がとても手間、ダウンタイム・・・ • (大人の事情で)マイクロばかりでスワップで頑張る。 • 空きメモリが数メガバイト→辛い・・とても辛い・・
解決策 リプレイス計画を盛り込んでおく • クラウドの実態は巨大なオンプレ • クラウドといえどリプレイスからは免れられない • 予算と時間と人を構築時から計画しておく • 場合によってはコンテナ、サーバレス等も設計時検討する
• 構築時にインスタンス移行を検討、実験してみると安心 • お金かけてEC2複数台構成にしておく • インスタンスサイズは余裕をもって!!
やらかしNO6 ElastiCache(Memcached)の選定時 メモリしか見なかった • ElastiCacheの選定時、メモリしか見ず、マイクロでいいだろ と選定 • 負荷テスト時、なぜかパフォーマンスが上がらない • EC2やRDSも負荷が上がらず、ElastiCacheの空きもある
• おそらくインスタンスサイズによる帯域が頭打ちになった • せめてインスタンスごとの最低帯域載せませんか?
解決策 必要なネットワーク帯域を意識する • 正直厳しい • 帯域保証のインスタンスは無い(よね?) • クラウドの裏側は仮想ネットワークが張り巡らされている • パフォーマンスが出ないときの検討事項として頭に入れとく
やらかしNO7 本番環境で引っかかるAPI制限 • AWSには様々なAPI制限がある • 今どれくらい使っているのか簡単に知る方法がほぼない • EC2とか一部はコンパネができた • 本番環境でかつ最大アクセス数の負荷テストをするのは困難
• 引っかかったAPIが緩和不可の場合構成から見直しになるので 詰む • 緩和申請がなかなか交渉と時間がかかる • せっかくのクラウドなのにスケールの足を引っ張るのでほん と何とかしてほしい!
解決策 AWSサポートにアドバイスをもらう • 正直開発時に制限を意識するのは無理 • ミニマムスタートの場合かなり辛い • 可能なら負荷テストをして炙り出す • ちゃんとエラーログを吐く、通知をする!
• CloudTrail・・・ • 制限値については英語のドキュメントを読むこと!
やらかしNO8 インスタンス在庫切れ • アクセス集中の時刻に合わせてインスタンスサイズを変更 • しかしインスタンスの在庫切れで失敗!! • 迫る時刻、より上位のインスタンスは費用増加なので上長の 承認が・・・ •
リザーブドは事実上の資産管理を強いられるので辛い
解決策 スケールアウトの構成にする • リザーブドインスタンスで確保する手もあるが・・・ • インスタンスが売り切れるってのを知らない人が意外と多 い? • 様々な理由で単一インスタンス、スケールアップしか手段が 取れない場合、売り切れた場合の想定をしておきましょう。
• インスタンスサイズによってエフェメラル領域があったりな かったりするので注意!(SWAPとか)
やらかしNO9 便利な自動化も時には・・・ • サーバレスで構成する場合、構成要素が多いのでデプロイ自動化 はほぼ必須 • しかし、残念ながらすべてが自動化できるわけではない • すべての操作がAPIやCloudFormation化できない •
手動で作成する部分、デプロイ手順を記録に残さないといけない • 自動化した場合、自動化する環境自身が陳腐化してしまい、現代 で動かせない&ブラックボックスで中身が分からんとかに • DBは他のリソースと一緒に構築してはいけない!!!!
解決策 リプレイスする気合を取っておく • 構成管理や自動化はあくまで手段 • ドキュメントを手厚く作っておく • 構成管理の設定ファイルなどにはコメントを沢山入れておく • 最悪時間がかかっても手動で構築出来るようにしておく
• ツールは流行り廃りが早い。情報のキャッチアップを! • オレオレ構成管理ツールは担当者がリプレイスされることがある ぞ!
やらかしNO10 マスタアカウントで動く夜間バッチ • AWSが出始めた頃、マスタアカウントで何でも動かす • IAM is 何?良く分からないものは触らない方がいい・・ • 後にこれはアカンとIAMを作る
• 気が付くとIAMが30個とかに膨れる • アカウントの棚卸をしないと・・ • 何故かマスタアカウントで深夜にS3アクセスしているの がいるのですが・・どこ??(涙 • 今は対策されています。
解決策 AWSアカウントを分離する • 1つのAWSアカウント内に全部を詰め込まない • サポート費用を節約する以上のリスクが潜在してない? • Organizations等を使いAWSアカウントを分離 • そのうえでIAMを作る
• IAMではなく、IAMロールを使うといい場合がある • 共用アカウントをやめろ • アカウント発行前に使用用途を聞く • クロスアカウントを作る • いっその事外部からAWSを調達する
まとめ • ぶっちゃけAWSは物理のネットワークや運用経験がない と辛い • サーバレスになるとその辺りは幾分楽 • 課金ゲーなので金でわりかし何とかなる • クラウドになるから永久に持つ訳じゃない。むしろオン
プレより寿命が短いので、数年でリプレイスを計画に入 れるべし。 • 特にサーバレスは半強制的にバージョンアップ • 作り変えるのが面倒になった段階で爆弾を抱えている • それ本当にクラウドじゃないとだめですか?