SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

これだけは押さえておきたい! AWSサービス最新アップデート

無料で利用できる! AWSのコード生成サービス「CodeWhisperer」とは? AWSの開発者向けサービス最新情報【re:Invent 2023 Recap】

第18回 Amazon CodeWhisperer、Amazon CodeCatalyst、Amazon CloudWatch Logs

  • このエントリーをはてなブックマークに追加

 本連載では、AWSに関して、なかなか時間がとれず最新のアップデートを追えていない方や、これからAWSを利用したいと考えている方に向けて、AWSから発表される数多あるサービスアップデートのうち、NTTデータのITスペシャリスト達がこれだけは押さえておくべきと厳選した内容を定期的に紹介します。本記事では、AWS re:Invent 2023で発表されたAmazon CodeWhisperer、Amazon CodeCatalyst、Amazon CloudWatch Logsのアップデートを紹介します。

  • このエントリーをはてなブックマークに追加

はじめに

 前回に引き続き、AWS re:Invent 2023で発表されたサービスアップデートの中から、NTTデータのITスペシャリスト達が個人的にこれだけは押さえておくべきと感じた内容を紹介していきます。

 本記事では、アプリケーション開発者向けのAmazon CodeWhisperer、Amazon CodeCatalyst、Amazon CloudWatch Logsのアップデートを紹介します。

脆弱性の修正が容易に! CodeWhispererのアップデート

 はじめにCodeWhispererのアップデートを紹介します。

 CodeWhispererとは機械学習を活用したコードジェネレータで、コードとコメントに基づいてリアルタイムでコードを提案してくれるサービスです。

CodeWhispererの始め方

 CodeWhispererは以下3ステップで始めることができます。

1. AWS Builder IDを作成

 まずAWS Builder ID profileにアクセスして、AWS Builder IDを作成します。すでにAWS Builder IDをお持ちの方は本手順はスキップしてください。

2. AWS Toolkit for Visual Studio Codeをインストール

 次にVS Codeを起動して「拡張機能」から「AWS Toolkit - Amazon Q, CodeWhisperer, and more」をインストールしてください。

 インストールが完了すると、サイドバーに「aws」のアイコンが追加されます。

AWS Toolkit
AWS Toolkit

3. Amazon CodeWhispererでサインイン

 2で追加された「aws」のアイコンをクリックし、CodeWhispererの「Sign in to get started」(赤枠①)をクリックします。

 すると以下図の画面が表示されるので、「Amazon Q + CodeWhisperer」の「Use for free with AWS Builder ID」(赤枠②)をクリックし、1で作成したAWS Builder IDを使ってサインすればCodeWhispererが利用できるようになります。

CodeWhispererサインイン
CodeWhispererサインイン

CodeWhispererの3つの機能強化

 さて、re:Invent 2023では以下3つのCodeWhispererの機能強化が発表されました。

脆弱性修正のためのコード提案

 1つ目は、セキュリティ脆弱性修正のためのコード提案です。

 これまでCodeWhispererでは、組み込みのセキュリティスキャンを使ってセキュリティ脆弱性を特定することが出来ましたが、今回のアップデートでさらに特定された脆弱性を修正するためのコード提案が表示されるようになりました。

 セキュリティスキャン機能自体は、AWS Toolkit for Visual Studio CodeとAWS Toolkit for JetBJetBrainsで利用可能で、Python、JavaScript、TypeScript、C#、AWS CloudFormation、AWS CDK、Terraformに対応していますが、コードの修正提案機能はJava、Python、JavaScriptにのみ対応しています。

 Pythonで脆弱性のあるコードを作成して検証してみました。

 コードを作成し、「AWS Toolkit > CODEWHISPERER > Run Security Scan」をクリックします。

 すると、脆弱性のあるコード部分に波線がひかれ、その上にカーソルを当てるとコードの修正提案が表示されます。

脆弱性修正コードの提案
脆弱性修正コードの提案

IaCのサポート強化

 2つ目は、IaCのサポート強化です。CodeWhispererがAWS CloudFormation(YAML、JSON)、AWS CDK(TypeScript、Python)、Terraform(HCL)のコード提案に対応しました。

 試しに、Lambda関数を作成するCloudFormationを作成してみました。

 まず、「AWS Toolkit > CODEWHISPERER」から「Pause Auto-Suggestions」が開始されていることを確認します(下記図の赤枠参照)。

AWSTemplateFormatVersion: 2010-09-09
Description: Create Lambda by CloudFormation

 その状態でYAMLファイルに上記コードを記載すると以下のようにその後のコードが提案され、Tabキーをクリックするとコードに追加されました。また、コードの一部分を書くだけでコードが提案されるので、コードの作成にかかる工数をかなり削減できそうだと感じました。

IaCコードの提案
IaCコードの提案

Vusual Studioサポート

 3つ目はVisual Studioサポートです。こちらはまだプレビュー版ですが、Visual Studio 2022に対応しており、C#のコードに対してリアルタイムのコード提案を利用することができます。

Github Copilotとの比較

 CodeWhisperer自体が2023年の4月にGAされたサービスなのでまだ利用したことがない方も多いと思いますが、セキュリティスキャンや脆弱性の修正コードの提案などは品質を高めるためにも嬉しい機能だと思うので、ぜひご活用ください。

 また、AIコード生成機能を提供するサービスとしてGithub Copilotもありますが、こちらのサービスとの違いは以下の通りです。

対応言語数

 CodeWhispererは18種類の言語(Python、Java、JavaScript、TypeScript、C#、Go、Rust、PHP、Ruby、Kotlin、C、C++、シェルスクリプト、SQL、Scala、JSON、YAML、HCL)に対応しています。

 Github Copilotはパブリックレポジトリに表示されるすべての言語で利用可能ですが、特に Python、JavaScript、TypeScript、Ruby、Go、C#、C++での利用に適しています。

課金モデル

 それぞれの課金モデルは以下表の通りです。

CodeWhispererとGithub Copilotの課金モデル
サービス プラン 料金 備考
CodeWhisperer 個人 無料 AWS Builder IDで認証する。また、1か月あたり最大50回まで無料でセキュリティ脆弱性スキャンを実行可能。
CodeWhisperer プロフェッショナル 1ユーザあたり19USD/月 AWS IAM Identity Centerで認証する。また、1か月あたり最大500回まで無料でセキュリティ脆弱性スキャンを実行可能。
GitHub Copilot Individuals 10USD/月、100USD/年 個人アカウントで利用可能
GitHub Copilot Bussiness 1ユーザあたり19USD/月 Organizationアカウントまたは Enterpriseアカウントで利用可能

 CodeWhispererは無料で利用できるので試しに使ってみたい人におすすめです。しかし、CodeWhispererは対応言語の種類に制限があるため、非対応の言語で利用したい場合はGitHub Copilotでの利用を検討いただければと思います。ただし、あまりパブリックリポジトリに存在してない言語では、提案されるコード数が少なかったりコードの信頼性が低い可能性があるのでご注意ください。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
カスタムブループリントが作成可能に! CodeCatalystのアップデート

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
これだけは押さえておきたい! AWSサービス最新アップデート連載記事一覧

もっと読む

この記事の著者

竹山 菜記(株式会社NTTデータ)(タケヤマ ナツキ)

 2019年にNTTデータに入社。 パブリッククラウドを活用したシステム基盤の構築・運用やオンプレミスからパブリッククラウドへのマイグレーション案件に携わる。 注目しているキーワードは"クラウドネイティブ"。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/18925 2024/01/26 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング