この記事の目次
AWSの「Amazon CodeGuru」とは?
![](https://b-engineer-media-cms.s3.amazonaws.com/item/image/user/8c7f204d9ede4027afb1e4450514b993d07cd4a1/660227e9-6a91-4eeb-9c7a-32517e6a6ec4.jpg)
「Amazon CodeGuru Reviewer」とは?
![](https://b-engineer-media-cms.s3.amazonaws.com/item/image/user/356a192b7913b04c54574d18c28d46e6395428ab/1d7a1055-8af3-4756-9433-1e4826ebdb20.jpg)
「Amazon CodeGuru Reviewer」の特徴
「Amazon CodeGuru Reviewer」の特徴としては、機械学習を利用してソースコードの改善方法を提示することで、「コード品質」を一定の水準で維持できる点です。この特徴によって「Amazon CodeGuru Reviewer」は、チーム内の「レビュアー」の一員として活躍することが可能です。 利用に際しては、追加のライブラリ等はインストール不要で、簡単に利用を開始できます。「Amazon CodeGuru Reviewer」の対応言語とリポジトリ
「Amazon CodeGuru Reviewer」の対応言語とリポジトリについて説明します。 対応言語としては、JavaとPython(※英語版のみ)に対応しています。サポートしている「リポジトリ」は、「AWS CodeCommit」、「Bitbucket」、「GitHub」、「GitHub Enterprise」、「GitHub Enterprise Cloud」等があります。「Amazon CodeGuru Reviewer」による問題検出
「Amazon CodeGuru Reviewer」は、様々な種類のソースコードにおける処理の問題を検出してくれます。例えば、冗長な処理の重複処理、アプリケーションの同時実行処理、不適切な入力処理、認証時の機密情報の不適切な処理、クローズ処理漏れといった問題があります。 またAWSだけではなく、Javaによるコーディングでのベストプラクティスも提案してくれます。「Amazon CodeGuru Reviewer」の利用方法
「Amazon CodeGuru Reviewer」の利用方法について説明します。最初に「Amazon CodeGuru コンソール」にアクセスし、「Amazon CodeGuru Reviewer」のコードリポジトリ(AWS CodeCommit/GitHub/GitHub Enterprise/BitBucket)と関連付けを行います。 「Amazon CodeGuru Reviewer」からコーディングにおける推奨事項が送られます。「Amazon CodeGuru Profiler」とは?
![](https://b-engineer-media-cms.s3.amazonaws.com/item/image/user/356a192b7913b04c54574d18c28d46e6395428ab/272a2336-5b05-41db-9794-42346b1c6582.jpg)
「Amazon CodeGuru Profiler」のプロファイル対象
「Amazon CodeGuru Profiler」のプロファイル対象は、「Amazon EC2」上で動作するアプリケーション、「Amazon ECS」や「Amazon EKS」によるコンテナ上のアプリケーション、「AWS Fargate」や「AWS Lambda」で動作するサーバーレスアプリケーションが対象です。 またサポートしているプログラム言語は、「Java」、「Scala」、「Kotlin」等があります。「Amazon CodeGuru Profiler」の利用方法(その1)
「Amazon CodeGuru Profiler」の利用方法(その1)としては「CodeGuru Profiler プロファイリンググループ」を作成します。 具体的には、「マネジメントコンソール」画面から「Amazon CodeGuru」のTOP画面に遷移し、「Profiler」にて作成します。 なお「プロファイリンググループ」とは、利用者が作成する論理的なグループで、プロファイル対象とするアプリケーションの範囲を示します。「Amazon CodeGuru Profiler」の利用方法(その2)
「Amazon CodeGuru Profiler」の利用方法(その2)としては、「IAM権限」を設定します。具体的には、「Profilerエージェント」が使用する「IAM User」に、プロファイルデータを「Amazon CodeGuru」へ送信可能とするための権限を付与します。 なお「Profilerエージェント」とは、アプリケーションの一部に組み込み、プロファイル分析を行う実行モジュールのことです。「Amazon CodeGuru Profiler」の利用方法(その3)
「Amazon CodeGuru Profiler」の利用方法(その3)としては、「Profilerエージェント」を起動します。起動すると実行中のアプリケーションを継続してプロファイルします。起動から15分以内にプロファイル結果が送信され、以降は10分間隔で送信されます。 なお「Profilerエージェント」は、AWS社で提供されている「CodeGuruProfiler Agent JAR」の利用が推奨されています。「Amazon CodeGuru Profiler」の可視化(ビジュアライゼーション)
「Amazon CodeGuru Profiler」の可視化機能(ビジュアライゼーション)により、プロファイル結果を視覚的に把握できます。 「Amazon CodeGuru Profiler」画面に表示されるビジュアライゼーション(プロファイル結果の図)は、実行中のアプリケーションの「スタックトレース」を採取して集約したものです。ソースコードのどの位置で「CPU時間」が掛かっているかを視覚的に把握できます。「Amazon CodeGuru Profiler」のビジュアライゼーションモード
ビジュアライゼーションのモードには、「Overviewモード」、「Hotspotsモード」、「Inspectモード」の3種類があります。 「Overviewモード」は、アプリケーション全体の理解、各処理のCPU使用時間を把握するのに有用です。「Hotspotsモード」は、CPU使用時間が長い処理を特定するのに有用です。「Inspectモード」は、分析用に集約した情報を表示してくれます。「Amazon CodeGuru Profiler」のビュー
「Amazon CodeGuru Profiler」のビューは、「CPUビュー」、「Latencyビュー」、「Customビュー」の3種類あります。 「CPUビュー」は、アプリケーションのCPU使用率の解析に役立つビューです。「Latencyビュー」は、アプリケーションの実行時間に影響を与えている処理の特定に役立ちます。「Customビュー」は、表示対象の色等をカスタマイズできるビューです。「Amazon CodeGuru Profiler」のレコメンデーションレポート
「Amazon CodeGuru Profiler」のレコメンデーションレポートとは、AWS上でのパフォーマンス改善に役立つ情報です。収集されたプロファイリングデータを元にして、1時間間隔でレコメンデーションレポートを自動的に生成してくれます。 コンソール画面から直近30日分のレポートを閲覧できます。なおCLI(コマンドラインインターフェース)からは、それ以前の古いレポートも取得できます。「Amazon CodeGuru」のまとめ
![](https://b-engineer-media-cms.s3.amazonaws.com/item/image/user/356a192b7913b04c54574d18c28d46e6395428ab/d45abd38-4325-4bdf-b43b-1b80b7ed06f0.jpg)
この記事の監修者・著者
![株式会社オープンアップITエンジニア](https://tenshoku-careerchange.jp/wp-content/uploads/2023/07/fzxADbr-_400x400-1-150x150.jpg)
-
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
最新の投稿
- 2024年3月26日キャリア・転職保安職(自衛官・警察・消防官など)に向いている人の性格・特徴ランキング【現役保安職(自衛官・警察・消防官など)36人が回答】
- 2024年3月26日キャリア・転職保安職(自衛官・警察・消防官など)に必要なスキルランキング&スキルアップの方法とは?【現役保安職(自衛官・警察・消防官など)36人が回答】
- 2024年3月26日キャリア・転職クリエイター職(ライター・デザイナー・編集)に向いている人の性格・特徴ランキング【現役クリエイター職(ライター・デザイナー・編集)64人が回答】
- 2024年3月26日キャリア・転職クリエイター職(ライター・デザイナー・編集)に必要なスキルランキング&スキルアップの方法とは?【現役クリエイター職(ライター・デザイナー・編集)64人が回答】