Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【JAWS DAYS 2026】Kiro CLIで変わるAWS運用とコスト管理

Avatar for Hiroki Ohtake Hiroki Ohtake
March 06, 2026
140

【JAWS DAYS 2026】Kiro CLIで変わるAWS運用とコスト管理

JAWS DAYS 2026 ランチタイムLT トラックE
「Kiro CLIで変わるAWS運用とコスト管理」
https://fortee.jp/jawsdays-2026/proposal/b4f86a49-2275-4bba-a7ec-87b5e91b6033

Avatar for Hiroki Ohtake

Hiroki Ohtake

March 06, 2026

Transcript

  1. JAWS DAYS 2026 
 Mashup for the Future 
 Kiro

    CLIで変わる 
 AWS運用とコスト管理 
 アイレット株式会社 大嵩 洋喜

  2. #jawsug #jawsdays2026 #jawsdays2026_a 自己紹介
 名前:大嵩 洋喜(おおたけ ひろき) 
 
 アイレット株式会社


    クラウドインテグレーション事業部
 
 2023年 4月 23新卒として入社
 AWSの運用保守・構築を担当
 
 趣味:
 音楽(メタル)、ドラム、ゲーム(FPS)、映画
 @rockyx0609

  3. #jawsug #jawsdays2026 #jawsdays2026_a • Kiro CLIとは
 • Amazon EC2が高負荷時の調査
 •

    AWSアカウントのコスト最適化アプローチ
 • まとめ
 アジェンダ

  4. #jawsug #jawsdays2026 #jawsdays2026_a • CPU負荷シミュレーションのため「stress-ng」を使用する
 • 2分間全コアに負荷をかけCPU使用率100%を維持する
 • stress-ng --cpu

    0 --timeout 120s
 • メトリクスを元にKiro CLIから原因調査を行う
 • ターミナルの環境変数にAWS認証情報が入っていること
 前提
 Amazon EC2が高負荷時の調査

  5. #jawsug #jawsdays2026 #jawsdays2026_a > EC2インスタンス(otake-test-jawsdays)のCPU使用率が2分間急激に上がりました。原因を詳しく調べてくだ さい
 ~割愛~
 
 > 現在稼働中のインスタンスID

    i-XXXX が見つかりました。過去2分間のCPU使用率を確認します。
 Running aws cli command (using tool: aws):
 
 Service name: cloudwatch
 Operation name: get-metric-statistics 
 Parameters: 
 - statistics: ["Average","Maximum"]
 - dimensions: [{"Name":"InstanceId","Value":"i-XXXX"}]
 - period: 60
 - metric-name: "CPUUtilization "
 - namespace: "AWS/EC2"
 - start-time: "2026-02-11T05:00:00Z"
 - end-time: "2026-02-11T05:30:00Z"
 - unit: "Percent"
 Region: ap-northeast-1
 Label: CPU使用率メトリクスの取得(過去30分) - Completed in 0.855s
 
 プロンプトを投げてみる
 Amazon EC2が高負荷時の調査

  6. #jawsug #jawsdays2026 #jawsdays2026_a > CPU使用率の急上昇を確認しました。05:15(14:15 JST)に最大99.99%まで上昇しています。さらに詳 細な調査のため、CloudWatch Logsとシステムログを確認します。
 
 Running

    aws cli command (using tool: aws):
 
 Service name: logs
 Operation name: describe-log-groups
 Parameters: 
 - log-group-name-prefix: "/aws/ec2"
 Region: ap-northeast-1
 Label: CloudWatch Logsグループの確認Running aws cli command (using tool: aws):
 
 Service name: ssm
 Operation name: send-command 
 Parameters: 
 - instance-ids: ["i-054f3fccdbcdb7315"]
 - parameters: {"commands":["ps aux --sort=-%cpu | head -20","uptime","free -h","df -h "]}
 - document-name: "AWS-RunShellScript"
 Region: ap-northeast-1
 Label: Systems Managerでプロセス情報を取得
 Allow this action? Use 't' to trust (always allow) this tool for the session. [y/n/t]:
 
 Amazon EC2が高負荷時の調査

  7. #jawsug #jawsdays2026 #jawsdays2026_a > 現在のシステム状態は正常です。過去のログを確認するため、journalログとシステム イベントを調査します。
 Running aws cli command

    (using tool: aws):
 
 Service name: ssm
 Operation name: send-command
 Parameters: 
 - parameters: {"commands":["journalctl --since '2026-02-11 05:14:00' --until '2026-02-11 05:17:00' | tail -100","last -20","cat /var/log/messages | grep -i 'Feb 11 05:1[4-6]' | tail -50 || echo 'No /var/log/messages'","cat /var/log/syslog | grep -i 'Feb 11 05:1[4-6]' | tail -50 || echo 'No /var/log/syslog'","systemctl list-units --state=failed"]}
 - document-name: "AWS-RunShellScript"
 - instance-ids: ["i-054f3fccdbcdb7315"]
 Region: ap-northeast-1
 Label: 過去のシステムログとCPU高負荷時のプロセス情報を取得
 Allow this action? Use 't' to trust (always allow) this tool for the session. [y/n/t]:
 Amazon EC2が高負荷時の調査

  8. #jawsug #jawsdays2026 #jawsdays2026_a > ## 調査結果
 
 ### 原因
 stress-ng

    というCPU負荷テストツールが実行されました。
 
 ### 詳細情報
 
 実行時刻: 2026-02-11 05:16:49 UTC(14:16:49 JST)
 
 実行コマンド: 
 stress-ng --cpu 0 --timeout 120s 
 
 ### 結論
 
 これは意図的なCPU負荷テストです。ec2-userによって手動で実行され、2分間のタイムアウト設 定通りに自動終了しました。現在システムは正常稼働しており
 、問題はありません。
 
 stress-ngは負荷テストやストレステストに使用される正規のツールで、システムの性能評価やモ ニタリングアラートのテストなどに利用されます。
 Amazon EC2が高負荷時の調査

  9. #jawsug #jawsdays2026 #jawsdays2026_a > AWS利用料の最適化を行いたいです。リソース情報から調査してください。また設 定変更等は絶対に行わないでください。
 
 > AWS利用料の最適化のため、現在のリソース状況を調査します。設定変更は一切 行いません。


    Running aws cli command (using tool: aws):
 
 Service name: ec2
 Operation name: describe-instances
 Parameters: 
 Region: ap-northeast-1
 Label: EC2インスタンス一覧の取得Running aws cli command (using tool: aws):
 ~割愛~
 同様にプロンプトを投げてみる
 セクションタイトル

  10. #jawsug #jawsdays2026 #jawsdays2026_a ### 1. 停止中のEC2インスタンス(コスト削減機会)
 
 停止中でもEBSボリューム料金が発生しているインスタンス:
 
 -

    **i-XXXX** (t2.micro, Windows, 30GB gp2) 
 - 停止期間: 2025/11/17以降
 - **i-XXXX** (t2.micro, Windows, 30GB gp2)
 - 停止期間: 2025/5/2以降
 - **i-XXXX** (t3.large, Windows, 30GB gp2)
 - 停止期間: 2026/1/14以降
 - **i-XXXX** (t3.small, Linux, 8GB gp3)
 - 停止期間: 2026/1/8以降
 
 ~割愛~
 
 セクションタイトル
 リソース単位で出してくれる

  11. #jawsug #jawsdays2026 #jawsdays2026_a ## 推定月額コスト削減額
 
 1. 停止中EC2のEBS削除: 約$50-100/月
 2.

    停止中RDS削除: 約$200-400/月
 3. 不要なNAT Gateway削除: 約$120-160/月
 4. 古いスナップショット削除: 約$20-50/月
 5. gp2→gp3移行: 約$10-20/月
 6. 未使用EIP解放: 約$10-20/月
 
 合計推定削減額: 約$410-750/月(年間$4,920-9,000)
 セクションタイトル
 最終的なサマリーも出してくれます

  12. #jawsug #jawsdays2026 #jawsdays2026_a > 調査結果をMarkdownファイルにしてください
 
 > 調査結果をMarkdownファイルとして保存します。
 I'll create

    the following file: /Users/otake/aws-cost-optimization-report.md (using tool: write)
 Purpose: AWS利用料最適化調査レポートをMarkdownファイルとして作成
 ~割愛〜
 
 
 ❯ ls -l | grep aws-cost-optimization-report.md 
 -rw-r--r--@ 1 otake 339809989 8322 2 11 14:40 aws-cost-optimization-report.md
 セクションタイトル
 ファイルへの保存も可能!