2022年10月27日に、エンジニア向けオンライン勉強会「雲勉」を開催しました。

今回のテーマは「AWS の構築・運用でインフラエンジニアが意図せずハマった事象と対策をご紹介」です。

アイレットに所属する経験豊富なインフラエンジニア達に聞いた事例と対策、そして調査方法とナレッジを、クラウドインテグレーション事業部の荒尾 将吾が紹介しました。

この記事では発表内容の一部をご紹介します。
詳しく知りたい方は記事最後の YouTube にてアーカイブ動画をご覧ください!

※本記事では「ハマる」を意図しないトラブルに遭遇したという意味で使用します。

AWS サービスで意図せずハマった時の基本的な調査方法

AWS サービスのトラブルに遭遇した際、一般的に三つの調査方法が挙げられます。

  • 事象に関連がありそうなサービスや設定は何か
  • 設定を比較できる環境はあるか
  • ログは出力されているか

今回は「ログは出力されているか」で調査した事例について紹介しました。

「ログ出力の設定方法」「ログの読み方」を知っていることで、ログからの原因特定が可能となります。

ハマった事例1

一つ目の事例は「AWS CLI (AWS コマンドラインインターフェイス)で Amazon EC2インスタンスを停止できるが起動できない」です。

この問題の調査に利用したのはユーザーアクティビティと API 使用状況を追跡できるサービスである「AWS CloudTrail」です。
ユーザー、ロール、または AWS のサービスによって実行されたアクションがAWS CloudTrail に記録されます。
つまり、API操作ログを見ることができます。

AWS CloudTrail を利用し、正常に起動できる EC2インスタンスと設定値を比較しました。また、AWS CLI の実行内容を確認するために、AWS CloudTrail で API 処理結果を確認することで、原因と解決策を導きました。

このケースでは、「AWS CLI で停止はできたため、IAM の権限は問題ないという思い込みがあった」「AWS CLIのstart-instances実行結果にエラーは表示されなかったため、AWS CLI ではなくEC2インスタンスにOSレベルの問題があると考えた」という点がハマった原因でした。

ハマった事例2

二つ目は、オンプレミス 環境よりもクラウドに移行した Amazon EC2インスタンスの動作が遅いという事例です。

この問題は、AWS リソースと AWS で実行するアプリケーションのモニタリングサービス「Amazon CloudWatch」を使って対応しました。
CPU などの値のメトリクスを収集できる他、カスタムメトリクスを Amazon CloudWatch に対して発行することも可能です。

この事例では実際には、EBS のスループットと IOPS がどの程度利用されているのかを Amazon CloudWatch のメトリクスで経過観察しました。また、どのくらいの性能まであげればいいのかなどの微調整をお客様と一緒に行ない、原因と解決策を導きました。

CPU やメモリに注視して、Amazon EBS のスペックは意外と見落としがちですが、インスタンスタイプをしっかり見ることが大事とのことでした。

ハマった事例3

三つ目は、「オンプレミス環境に対して EC2 インスタンスから通信ができたり、できなかったり」という事例です。

「通信ができたり、できなかったり」というのは、オンプレミスの特定の NW 帯と EC2インスタンスで通信ができない事象でした。

この事例は「VPCフローログ」を使って切り分けを行ないました。
「VPCフローログ」は、VPC のネットワークインターフェイスの間で行き来する IP トラフィックに関する情報を参照できる機能です。
他のサービスと異なり事前に設定が必要となります。

今回複数の Transit Gateway Attachment がある場合、AZ-a への通信も AZ-c を経由する場合がある仕様でしたが、AZ間で通信しないように Network ACL で制限をしていたことが原因でした。

AWS のリソース、オンプレミスのサーバー等切り分け箇所が多かったことで、原因の特定までに時間がかかってしまったとのことでした。

ハマった経験は解決への道標

三つの事例を紹介しましたが、ハマることは悪いことではありません。
ハマった経験が AWS サービスやインフラの知識をより深めると考えています。

ハマることは避けられないので予め調査手順を知っておくことが解決への道標になると締めました。

まとめ

本記事では簡単に調査方法や解決策を紹介しましたが、動画では実際にマネージドコンソール画面で詳しく説明したり、各サービスについての補足説明などしています。
アイレットエンジニアがハマった事例、そして解決策についてぜひアーカイブ動画をご覧ください。

次回の雲勉は11月10日(木)、テーマは「【オンライン:中級者向け】DeepSecurity(C1WS)機能紹介~現場から出た?にもこたえてみた~」です。
ぜひご参加ください!