Amazon Q network troubleshooting プレビューで遊んでみた
こんにちは。
ご機嫌いかがでしょうか。
"No human labor is no human error" が大好きな吉井 亮です。
AWS re:Invent 2023 で Amazon Q が発表されて興奮しているところです。
マネジメントコンソールで Amazon Q を触っていたところ、面白そうな機能があったので試してみました。
Amazon Q network troubleshooting
ネットワーク関連のトラブルシューティングを補助してくれる機能のようです。
マネジメントコンソールの info に書いてあった文章を貼り付けます。
Amazon Q network troubleshooting can help you troubleshoot network connectivity issues. You can ask your questions in English, and Amazon Q analyzes your existing network configuration, working with Amazon VPC Reachability Analyzer to determine the potential reason for the network connectivity issue.
Amazon Q network troubleshooting is in preview and is only available in US East (N. Virginia). It is an experimental feature and may produce inaccurate information or suggestions. Currently you can ask up to 20 questions per day. This limit resets every 24 hours. Use of Amazon Q is subject to the AWS Responsible AI Policy
VPC Reachability Analyzer と連携して、ネットワークのトラブルシューティングを補助してくれるようです。
プレビュー期間中は、1日に20回まで質問できて、24時間ごとにリミットはリセットされます。バージニア北部リージョンのみで利用可能です。
ユーザーガイド
VPC Reachability Analyzer のユーザーガイドに Amazon Q についての記載がありました。
Amazon Q network troubleshooting
Amazon Bedrock が使われています。
プレビュー後の料金はおそらく Amazon Q pricing になると思われます。
クロスアカウントでのトラブルシューティングはできないようです。VPC Reachability Analyzer はクロスアカウントできるので、そのうち対応してくれることを期待します。
今回試した EC2 以外にも RDS や VPC などに対して質問できるようです。
- Amazon EC2 instance
- Amazon RDS DB instance
- Auto Scaling group
- Elastic network interface
- Internet gateway
- NAT gateway
- Transit gateway
- Virtual private gateway
- VPC
- VPC endpoint
- VPC peering connection
- VPC subnet
やってみた
プライベートサブネットに EC2 インスタンスを立ててみます。
Q に聞いてみましょう。
why can't i connect to my EC2 instance with ID i-04f6b5ea1723377bf using SSH?
Internet Gateway がアタッチされていないプライベートサブネットにインスタンスを立てているから、という直接的な回答があると嬉しかったのですが、それに近い回答になりました。
- インスタンスにパブリック IP アドレスを付与するか、EIP を使ってみてください
- セキュリティグループにインバウンドルールを追加してみてください
GW_PRIVATE_IP_ASSOCIATION_FOR_INGRESS: Internet gateway igw-0efaba8325dac86e8 cannot accept inbound traffic from the public internet when the destination address is not the Public IP of a network interface in VPC vpc-0583a85e4ac243e2c with an attachment in a functional state. To add or edit an IPv4 public IP address to the destination, you can use an Elastic IP address.
ENI_SG_RULES_MISMATCH: None of the ingress rules in the following security groups apply: sg-086aa0c063dcba497. See sg-086aa0c063dcba497.
The destination instance i-04f6b5ea1723377bf was chosen because it matches the instance ID referenced in the question. Port 22 over TCP was chosen because that is the default port for SSH connections. The internet was chosen as the source to test connectivity to the instance from an external network. Checking connectivity over this path would help identify why SSH connections are not working for this instance.
VPC Reachability Analyzer の調査結果も表示してくれています。
サブネットに問題はないか聞いてみました。
do the routetable of subnet using this ec2 instance have any problems?
Route Table に Internet Gateway がアタッチされていないことを教えてくれました。今回は知っていて聞いたのですが、このような形で疑わしい箇所をしらみつぶしに質問するのは効果的かもしれません。
NO_ROUTE_TO_DESTINATION: Route table rtb-092e8b5df5ff946b7 does not have an applicable route to igw-01b35ca47953f73a5. See rtb-092e8b5df5ff946b7.
IGW_PUBLIC_IP_ASSOCIATION_FOR_EGRESS: Traffic cannot reach the internet through internet gateway igw-01b35ca47953f73a5 when the source address is not paired with a public IP address of a network interface in the VPC vpc-079cea5254203f840 with an attachment in a functional state. To add or edit an IPv4 public IP address to the source, you can use an Elastic IP address.
Checking connectivity from the internet to instance i-044a272b3d6691c4f over TCP port 22 would determine if there are any problems with the route table configuration of the subnet (subnet-0cf08e6bbac4e1ed4) using this EC2 instance that is preventing it from being accessed over the internet.
次にパブリックサブネットに EC2 インスタンスを立ててみます。ついでにセキュリティグループのインバウンドで SSH Port 22 を許可します。
AWS 上の設定は問題ないケースでどのように回答してくれているのか見てみます。
why can't i connect to my EC2 instance with ID i-01992f8362bc2de1a using SSH?
省略しますが、ここでも VPC Reachability Analyzer を使って調査してくれています。
困らせて申し訳ない気持ちになりました。ネットワーク接続性のトラブルシューティングとしては一般的なアドバイスだと思います。助かりますね。
It seems the previous suggestions to troubleshoot connectivity to instance i-01992f8362bc2de1a using SSH from external sources over the default port were not able to resolve the issue. The problem connecting to the instance persists, so further examination of its security group rules, network ACLs, firewall configurations and other connectivity factors is needed.Attempting analysis for connectivity between the internet and i-01992f8362bc2de1a...
This path was chosen because the question asks about connecting to EC2 instance i-01992f8362bc2de1a using SSH, which uses TCP port 22. Checking connectivity from the internet to this instance on port 22 can help determine if there are any connectivity or security group issues preventing SSH access.
おまけ
感謝の気持ちを伝えてみましたが、そういうのは要らないようです。
I have solved the problem by your answers.thank you.
Sorry, I'm unable to answer that. Please try again with a question related to your network.
Amazon Q の回答には、Good Response、Bad Response ボタンがあるので、フィードバックを正しく行って全体の精度を上げていくことに貢献しましょう。
まとめ
プロンプトでネットワーク接続性のトラブルシューティングができることはとても助かります。
今はまだ接続性の問題解決の助けになるだけですが、将来的にはアーキテクチャまで提案してくれるようになると勝手に想像すると楽しくなります。
生成系 AI が運用の世界にも広がってくれると期待させるアップデートでした。
色々と遊んでいたら突然何も返してくれなくなったのですが、20回の制限を越えたのかもしれません。
参考
Amazon Q network troubleshooting
Amazon Q brings generative AI-powered assistance to IT pros and developers (preview)
Discussion