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
第87回 雲勉【オンライン:初心者向け】AWSの構築・運用でインフラエンジニアが意図せずハマっ...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
l_tanno
October 28, 2022
Technology
110
0
Share
第87回 雲勉【オンライン:初心者向け】AWSの構築・運用でインフラエンジニアが意図せずハマった事象と対策をご紹介
l_tanno
October 28, 2022
More Decks by l_tanno
See All by l_tanno
第100回 雲勉【オンライン:中級者向け】EKSのアップデートを安全に行う
l_tanno
1
90
第97回 雲勉【オンライン:初心者向け】Google Cloudの基礎から学んで、Compute Engineを構築できるようになろう
l_tanno
0
120
第94回 雲勉【オンライン:初心者向け】第2回24/365運用業務を支えるMSP〜クラウド運用業務に必要なもの〜
l_tanno
0
65
第91回 雲勉【オンライン:初心者向け】サーバレスでブログサイト開設〜Amplify Studio〜
l_tanno
1
120
第89回 雲勉【オンライン:初心者向け】実践!SLI/SLO with New Relic!
l_tanno
0
170
第88回 雲勉【オンライン:中級者向け】DeepSecurity(C1WS)機能紹介 _現場から出た_にもこたえてみた
l_tanno
0
530
第85回 雲勉【オンライン:初心者向け】EKSを触ってみよう 〜Kubernetes知らない人大集合〜
l_tanno
0
150
Other Decks in Technology
See All in Technology
AI飲み会幹事エージェントを作っただけなのに
ykimi
0
240
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
1.7k
業務に残された「良くない型」で考える「TypeScriptの難しさ」
sajikix
3
880
Geek Woman の育ち方 〜コミュニティとAIと〜
chicaco
0
100
Loadbalancing exporter internals
ymotongpoo
1
120
実践 TanStack Start ― 新規プロダクトを開発して確立した、サーバーとクライアント境界の設計パターン / Practical TanStack Start Server-Client Boundary Patterns
kaminashi
2
160
最新技術を"今は選ばない"という技術選定
leveragestech
PRO
0
340
【禁断】Obsidianの第二の脳に「知の巨人」と呼ばれた師匠の脳をロードしてみた
nagatsu
0
2k
O'Reilly Infrastructure & Ops Superstream: Platform Engineering for Developers, Architects & the Rest of Us
syntasso
0
320
ラズパイ & Picoで入門:Zephyr(RTOS)の環境構築からビルドまでの紹介
iotengineer22
0
150
GCASアップデート(202603-202605)
techniczna
0
240
[続・営業向け 誰でも話せるOCI セールストーク] セールストーク総集編(2026年5月15日開催)
oracle4engineer
PRO
1
110
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Site-Speed That Sticks
csswizardry
13
1.2k
Typedesign – Prime Four
hannesfritz
42
3k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
44k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
300
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
260
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
240
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.2k
What does AI have to do with Human Rights?
axbom
PRO
1
2.1k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
700
Prompt Engineering for Job Search
mfonobong
0
310
Transcript
第87回 雲勉【オンライン︓初⼼者向け】 AWSの構築・運⽤で インフラエンジニアが意図せずハマった事象と対策をご紹介 2022/10/27
0.講師⾃⼰紹介 2 n 荒尾 将吾 n 所属 クラウドインテグレーション事業部 構築第六セクション 構築第三グループ
様々なお客様のご要望に応じてAWSの設計/構築/運⽤を⾏っています。 n 経歴 ~2015年 営業やったり、カフェでバイトしたり。 2015年~ インフラエンジニアとしてキャリアをスタート。 2022年4⽉~ アイレットに⼊社。
アジェンダ 3 0.⾃⼰紹介 1.ハマったときの基本的な調査⽅法(19:05~19:10) 2.ハマった事例と対策3選(19:10~19:50) 3.まとめ 4.質疑応答(19:50~20:00)
0. ハマるとは 4
0. ハマるとは 5 ⽳などのくぼみに落ちる、条件にぴったり合致する、夢中になる、といった意味の表現。 (出典: 実⽤⽇本語表現辞典)
0. ハマるとは 6 今回の場合 意図しないトラブルに遭遇した という意味
1. AWSサービスで意図せずハマったときの基本的な調査⽅法 7
1. ハマったときの原則 8 n 確認ポイント
1. ハマったときの原則 9 n 確認ポイント
1. ハマったときの原則 10 n ログの例: マネージドコンソールに表⽰されるメッセージ • 操作が完了しなかった理由が表⽰される
1. ハマったときの原則 11 n ログの重要性 • 事象の発⽣している原因や理由をログが⽰してくれる • インターネットで検索するためのキーワードはログに含まれていることが多い •
AWSサポートに問い合わせするにもログが必要(技術的な問い合わせは別途契約が必要) ログ出⼒の設定⽅法 ログの読み⽅ を知っていることが⼤事
2.ハマった事例と対策3選 12 n AWSの主なサービスのログ ログの種類 概要 マネージドコンソールに 表⽰されるメッセージ マネージドコンソールの操作結果を表⽰ CloudWatch
リソースをリアルタイムでモニタリング CloudTrail API操作のログ VPCフローログ ENIやVPC、Transit Gatewayの通信ログを収集 アクセスログ ELBやCloudFront、S3のアクセスログなど 各サービスのログ SSMエージェントのログ、RDSのイベントログなど
2.ハマった事例と対策3選 13 n AWSの主なサービスのログ ログの種類 概要 マネージドコンソールに 表⽰されるメッセージ マネージドコンソールの操作結果を表⽰ CloudWatch
リソースをリアルタイムでモニタリング CloudTrail API操作のログ VPCフローログ ENIやVPC、Transit Gatewayの通信ログを収集 アクセスログ ELBやCloudFront、S3のアクセスログなど 各サービスのログ SSMエージェントのログ、RDSのイベントログなど
2. 経験豊富な構築・運⽤を担当するインフラエンジニアが AWSサービスで意図せずハマった事例と対策 3選 14
2.ハマった事例と対策3選 15 2-1. AWS CLIでEC2インスタンスを停⽌できるが起動できない 2-2. オンプレミス環境よりも移⾏したEC2インスタンスの動作が遅い 2-3. オンプレミス環境に対してEC2インスタンスから通信ができたり、できなかったり
2-1. AWS CLIでEC2インスタンスを停⽌できるが起動できない 16
2-1. AWS CLIでEC2インスタンスを停⽌できるが起動できない 17 n 概要 ジョブサーバでAWS CLIを実⾏しEC2インスタンスを定期停⽌/起動する構成 複数稼働するEC2インスタンスの⼀部で停⽌後起動しない事象が発⽣した
2-1. AWS CLIでEC2インスタンスを停⽌できるが起動できない 18 n 原因 1. AWS Key Management
Service(KMS)で暗号化されたEBSがEC2にアタッチされていた。 2. AWS CLIを実⾏するIAMロールにKMSに関するポリシーが不⾜していた。 KMSのポリシーがアタッチされていないIAMアカウントで 実際に以下のインスタンスに対してAWS CLIのstart-instancesをやってみます。 インスタンス名 インスタンスID 暗号化 kumoben i-0e3329c2fda3e54d2 なし kumoben-encrypted i-01bfe8fdcdc29d490 あり
2-1. AWS CLIでEC2インスタンスを停⽌できるが起動できない 19 n AWSの主なサービスのログ ログの種類 概要 マネージドコンソールに 表⽰されるメッセージ
マネージドコンソールの操作結果を表⽰ CloudWatch リソースをリアルタイムでモニタリング CloudTrail API操作のログ VPCフローログ ENIやVPC、Transit Gatewayの通信ログを収集 アクセスログ ELBやCloudFront、S3のアクセスログなど 各サービスのログ SSMエージェントのログ、RDSのイベントログなど
2-1. AWS CLIでEC2インスタンスを停⽌できるが起動できない 20 n CloudTrail • ユーザー、ロール、または AWS のサービスによって実⾏されたアクションは
CloudTrail にイベントとして記録 • つまりはAPI操作のログ
2-1. AWS CLIでEC2インスタンスを停⽌できるが起動できない 21 n 調査⽅法 正常に起動できるEC2インスタンスと設定値⽐較 AWS CLIの実⾏内容を確認するためにCloudTrailでAPI処理結果を確認
2-1. AWS CLIでEC2インスタンスを停⽌できるが起動できない 22 n 解決策 以下のKMSを許可するIAMポリシーを作成しIAMロールにアタッチ
2-1. AWS CLIでEC2インスタンスを停⽌できるが起動できない 23 n 原因特定まで時間がかかった理由 • AWS CLIで停⽌はできたため、IAMの権限は問題ないという思い込みがあった。 •
AWS CLIのstart-instances実⾏結果にエラーは表⽰されなかったため、AWS CLIではなく EC2インスタンスにOSレベルの問題があると考えた。
2-2.オンプレミス環境よりも移⾏したEC2インスタンスの動作が遅い 24
2-2.オンプレミス環境よりも移⾏したEC2インスタンスの動作が遅い 25 n 概要 オンプレミス環境からAWS Application Migration Service(MGN)で 移⾏したEC2インスタンスで性能測定した際、オンプレミス環境に⽐べEC2インスタンスでの 処理が2~3倍かかった。2回⽬以降の性能測定では多少の性能改善が⾒られた。
2-2.オンプレミス環境よりも移⾏したEC2インスタンスの動作が遅い 26 n 原因 1. EBSのスループットとIOPSがアプリケーションの要件に達していなかった。 2. S3からEBSへのデータ転送がボトルネックになっていた。
2-2.オンプレミス環境よりも移⾏したEC2インスタンスの動作が遅い 27 n AWSの主なサービスのログ ログの種類 概要 マネージドコンソールに 表⽰されるメッセージ マネージドコンソールの操作結果を表⽰ CloudWatch
リソースをリアルタイムでモニタリング CloudTrail API操作のログ VPCフローログ ENIやVPC、Transit Gatewayの通信ログを収集 アクセスログ ELBやCloudFront、S3のアクセスログなど 各サービスのログ SSMエージェントのログ、RDSのイベントログなど
2-2.オンプレミス環境よりも移⾏したEC2インスタンスの動作が遅い 28 n CloudWatch • AWSリソースとアプリケーションをリアルタイムでモニタリング • メトリクスを収集 • カスタムメトリクスをCloudWatchに対して発⾏することも可能
2-2.オンプレミス環境よりも移⾏したEC2インスタンスの動作が遅い 29 n 調査⽅法 CPUやメモリのスペックは移⾏後のほうが優っていることからEBSの性能を主に調査 EBSのスループットとIOPSがどの程度利⽤されているかCloudWatchのメトリクスで経過観察
2-2.オンプレミス環境よりも移⾏したEC2インスタンスの動作が遅い 30 n 解決策 1. EBSはgp3で作成していたため、スループットとIOPSの設定値(※1)を変更 2. EBS 帯域幅(※2) のスペックが⾼いインスタンスタイプに変更
3. 初回のファイルアクセスが遅い事象はAmazon EBS Fast Snapshot Restore(FSR)で対応 ※2 ※1
2-2.オンプレミス環境よりも移⾏したEC2インスタンスの動作が遅い 31 n インスタンスタイプが⼤事 • CPUやメモリに注視して、EBSのスペックは意外と⾒落としがち m6i系 m5系
2-2.オンプレミス環境よりも移⾏したEC2インスタンスの動作が遅い 32 n Amazon EBS Fast Snapshot Restore(FSR) • FSR実⾏後のスナップショットからボリューム作成することで
初回のファイルアクセス時からEBSのスペック通りの性能がでる。 • スナップショット単位でAZ毎にFSRを有効化する。 • FSRの有効が完了するまでスナップショットサイズによって時間が異なる(1TB : 1時間)。
2-3.オンプレミス環境に対してEC2インスタンスから 通信ができたり、できなかったり 33
2-3.オンプレミス環境に対してEC2インスタンスから通信ができたり、できなかったり 34 n 概要 以下構成でオンプレミスの⼀部サーバとEC2インスタンスが通信が不安定になる事象が発⽣
2-3.オンプレミス環境に対してEC2インスタンスから通信ができたり、できなかったり 35 n 原因 複数のTransit Gateway Attachmentがある場合、AZ-aへの通信もAZ-cを経由する場合があ る仕様だった。しかし、AZ間で通信しないようにNetwork ACLで制限をしていた。
2-3.オンプレミス環境に対してEC2インスタンスから通信ができたり、できなかったり 36 n AWSの主なサービスのログ ログの種類 概要 マネージドコンソールに 表⽰されるメッセージ マネージドコンソールの操作結果を表⽰ CloudWatch
リソースをリアルタイムでモニタリング CloudTrail API操作のログ VPCフローログ ENIやVPC、Transit Gatewayの通信ログを収集 アクセスログ ELBやCloudFront、S3のアクセスログなど 各サービスのログ SSMエージェントのログ、RDSのイベントログなど
2-3.オンプレミス環境に対してEC2インスタンスから通信ができたり、できなかったり 37 n VPCフローログ • VPC のネットワークインターフェイスの間で⾏き来する IP トラフィックに関する情報を 参照できる機能
• 他のサービスと異なり事前に設定が必要
2-3.オンプレミス環境に対してEC2インスタンスから通信ができたり、できなかったり 38 n VPCフローログの設定⽅法 • IAMポリシー作成 • IAMロール作成 • CloudWatchロググループ作成
• VPCフローログ作成
2-3.オンプレミス環境に対してEC2インスタンスから通信ができたり、できなかったり 39 n VPCフローログの設定⽅法 • 以下のIAMポリシー作成
2-3.オンプレミス環境に対してEC2インスタンスから通信ができたり、できなかったり 40 n VPCフローログの設定⽅法 • IAMロール作成 作成したIAMポリシーをアタッチ VPCフローログと信頼関係を設定
2-3.オンプレミス環境に対してEC2インスタンスから通信ができたり、できなかったり 41 n VPCフローログの設定⽅法 • CloudWatchロググループ作成
2-3.オンプレミス環境に対してEC2インスタンスから通信ができたり、できなかったり 42 n VPCフローログの設定⽅法 • VPCフローログ作成 フィルタ: すべて 最⼤集約間隔: 1分間
送信先: CloudWatch Logs 送信先ロググループ: 作成したロググループ IAMロール: 作成したIAMロール
2-3.オンプレミス環境に対してEC2インスタンスから通信ができたり、できなかったり 43 n VPCフローログ • 送信元 送信先 送信元ポート 送信先ポート の順番で記載
• ACCEPT: 通信を許可 REJECT: 通信を拒否
2-3.オンプレミス環境に対してEC2インスタンスから通信ができたり、できなかったり 44 n 解決策 n 調査⽅法 VPCフローログで通信の到達箇所を切り分け AWS公式ドキュメントを参照するが同様の事例を⾒つけることができず AWSサポートに問い合わせを実施 Transit
Gateway Attachmentの公開されていない仕様によりAZ-aへの通信もAZ-cを経由する 場合があることが判明 Network ACLでサブネット単位でNW制限するのではなく、Security GroupでENI単位で 通信制限するように変更することで回避
2-3.オンプレミス環境に対してEC2インスタンスから通信ができたり、できなかったり 45 n 原因特定まで時間がかかった理由 • Direct Connect、Transit Gateway、Network ACL、Security Group、
Route Table、EC2インスタンス、オンプレミスのサーバ等切り分け箇所が多かった。 n Network ACLの利⽤はおすすめしない • 複数のインフラエンジニアにハマった事例を聞いたところNetwork ACLに起因するものが いくつかあった。 • 意図しない通信遮断に繋がることが多くあり、切り分け箇所の検討が付けにくいことが 主な理由だった。
3.まとめ 46 ハマった経験がAWSサービスやインフラの知識をより深めると考えています。 改めてアイレットのインフラエンジニア達に事例を聞くことで実感しました。 ハマることは避けられないことなので予め調査⼿順を知っていることが 解決への道標になると思います。
4. 質疑応答 47