はじめに
Amazon CodeCatalyst は、開発者がソフトウェア開発プロジェクトを迅速に開始し、効率的に管理するための統合プラットフォームです。
この 1 年間で、多くの新機能と改善がなされ、開発者の生産性をさらに向上してくれています。
この記事では、その進化の軌跡をたどり、実際の画面イメージも踏まえてどのようなアップデートが出たかをご紹介致します。
アップデート一覧
GA 前も含め 1 年強で 25 回ものアップデートがされていました。AWS 社が非常に力を入れていることが見て取れると思います。
番号 | 日付 | タイトル | 筆者の思い/一言解説 |
---|---|---|---|
1 | 2022/12/01 | Amazon CodeCatalyst をリリース (プレビュー) | ここから CodeCatalyst が始まりました! |
2 | 2023/04/06 | Amazon CodeCatalyst 開発環境が GitHub リポジトリをサポートするようになりました | GitHub がリポジトリとして追加されました。 既存リポジトリから移動せずに CodeCatalyst を活用できますね。 |
3 | 2023/04/19 | Amazon CodeCatalyst (プレビュー) 用の開発環境ダッシュボードを発表 | 開発環境(Dev Environments)を一覧で管理できるようになりました。 |
4 | 2023/04/20 | Amazon CodeCatalyst の一般提供を開始 | 無事一般提供開始! |
5 | 2023/07/19 | Amazon CodeCatalyst で GitHub プルリクエストによってトリガーされるワークフローがサポート対象に | プルリクエスト時に特定のチェックをするような ワークフローを使うイメージですかね。 |
6 | 2023/07/28 | Amazon CodeCatalyst が Elastic Kubernetes Service へのデプロイをサポート | EKS のデプロイに対応しました。アクションで簡単に設定できるのは良いですね。 |
7 | 2023/08/31 | Amazon CodeCatalyst の欧州 (アイルランド) での提供開始を発表 | アイルランドリージョンに対応。東京まだですか・・・ |
8 | 2023/09/15 | Amazon CodeCatalyst が GitHub Enterprise Cloud の IP アドレスアクセス制限のサポートを開始 | GitHub Enterprise の IP 制限機能に対応してくれたので、 制約のある環境でも利用可能になりました。これは嬉しいですね。 |
9 | 2023/10/17 | Amazon CodeCatalyst がスケジュールされたワークフロートリガーのサポートを開始 | 毎日等、定期実行するようなワークフローが設定できるようになりました。 |
10 | 2023/11/01 | Amazon CodeCatalyst の新しいユーザーロールの発表 | ロールが増えたことでユーザー毎に必要な範囲の権限を与えられるので、 最小権限の原則にも従えて良いですね。 |
11 | 2023/11/14 | Amazon CodeCatalyst、Terraform のサポートを開始 | No.6のEKSと同様、アクションにて Terraform のデプロイが可能に。 GUI でのワークフロー設定が充実してきて CI/CD 設定が捗りますね。 |
12 | 2023/11/17 | Amazon CodeCatalyst のチーム機能を発表 | チーム単位に権限付与ができるようになりました。 SSO とも連携できるため、IAM Identity Center 環境でもバッチリです。 |
13 | 2023/11/17 | Amazon CodeCatalyst が AWS IAM アイデンティティセンターを使用したシングルサインオンのサポートを開始 | Control Tower 配下のアカウントで利用しているので、 SSO 経由でアクセスできるようになり非常に利便性が向上しました! |
14 | 2023/11/17 | Amazon CodeCatalyst、Virtual Private Cloud のサポートを開始 | VPC と接続できるようになり、VPC に対するリソース操作ができるように。 AZ 分サブネットを用意しなければならないのはネックですね。 ここは CodeCatalyst と同一リージョンである必要があるので、東京リージョンが待ち遠しいです。 |
15 | 2023/11/27 | Amazon CodeCatalyst エンタープライズ階層のご紹介 | 大きな変更は No.16 のカスタムブループリントが中心なので、 現段階では Standard で充分かと思います。 |
16 | 2023/11/27 | Amazon CodeCatalyst のカスタムブループリントを発表 | 独自ブループリントを作ることで 複数プロジェクト間で共通化ができそうですね。 |
17 | 2023/11/28 | Amazon CodeCatalyst、Amazon Q の機能開発 (プレビュー版) を発表 | こちら、別途検証しているのでぜひご確認ください。 Amazon CodeCatalyst の Amazon Q 連携を利用して Issue からソースを修正させてみた |
18 | 2023/12/12 | Amazon CodeCatalyst におけるマネージド型パッケージリポジトリのサポートに関するご紹介 | Code Artifact のようなサービスが内蔵されました。 社内独自 Package の配布や外部パッケージの制御に使えそうですね。 |
19 | 2023/12/18 | Amazon CodeCatalyst 開発環境が Virtual Private Cloud のサポートを開始 | 閉域環境に対してもワークフローから操作できるようになり、 データベース等のリソースに対してワークフロー操作できます! |
20 | 2023/12/20 | Amazon CodeCatalyst 開発環境の SSH サポートの発表 | Dev Environments へ SSH 接続が増えました。 |
21 | 2023/02/05 | Amazon CodeCatalyst 内での JetBrains IDE のシングルサインオン (SSO) サポートを発表 | SSO が JetBrains IDE にも対応しました。 |
22 | 2023/02/16 | Amazon CodeCatalyst にプルリクエストの承認ルールを導入 | プルリクエストの承認機能が増えました。 特定権限者の承認を CodeCatalyst だけで実装可能になりました。 |
23 | 2023/03/22 | Amazon CodeCatalyst に Bedrock GenAI チャットボットブループリントを導入 | Bedrock GenAI Chatbot を数クリックで簡単に作れます! |
24 | 2023/03/27 | CodeCatalyst ワークフローのランタイムイメージ選択 | ビルド時に利用するイメージが増えました。 2024/03 とかなり最新のイメージが追加されています。 |
25 | 2023/04/05 | Amazon CodeCatalyst が Issue へのタスクの追加のサポートを開始 | Issueをタスクに分解できるようになりました。 |
26 | 2023/04/18 | Introducing the AWS PDK blueprints in Amazon CodeCatalyst | AWS PDK もブループリントで導入可能になりました。PDKを試すのにちょうど良いですね。 |
1. Amazon CodeCatalyst をリリース (プレビュー)
2022/12/01、Amazon CodeCatalyst がプレビュー版としてリリースされました。
2. Amazon CodeCatalyst 開発環境が GitHub リポジトリをサポートするようになりました
CodeCatalyst 内には Git のリポジトリ機能が備えられていますが、GitHub も使えるようになりました。
Catalog ページより、GitHub repositories をインストールすることでソースリポジトリとして利用できるようになります。
3. Amazon CodeCatalyst (プレビュー) 用の開発環境ダッシュボードを発表
スペースが保有する開発環境(Dev Environments)を一元的に確認・管理できるようになりました。
4. Amazon CodeCatalyst の一般提供を開始
2023/04/20 に正式 GA されました!おめでとうございます!
5. Amazon CodeCatalyst で GitHub プルリクエストによってトリガーされるワークフローがサポート対象に
GitHub のプルリクエストをトリガーにワークフローを実行可能になりました。
以下のイベントをトリガーにワークフローを実行できます。
- プルリクエスト作成時
- プルリクエストに新しいリビジョンが入った時
- プルリクエストが閉じられた時
6. Amazon CodeCatalyst が Elastic Kubernetes Service へのデプロイをサポート
ワークフロー画面に Deploy to Kubernetes cluster が追加され、EKS へのデプロイを簡単に実装できるようになりました。
7. Amazon CodeCatalyst の欧州 (アイルランド) での提供開始を発表
オレゴンリージョンに続いて、アイルランドリージョンでも使えるようになりました。
東京はまだですね。残念。
8. Amazon CodeCatalyst が GitHub Enterprise Cloud の IP アドレスアクセス制限のサポートを開始
GitHub Enterprise Cloud の機能にある IP アドレス制限に対応しました。
CodeCatalyst で GitHub をインストールすると、自動的に CodeCatalyst の IP アドレスが GitHub の制限一覧へ連携されます。
9. Amazon CodeCatalyst がスケジュールされたワークフロートリガーのサポートを開始
Workflow のトリガーに Schedule が追加されました。cron 式でスケジューリングできるようになったため、定期的なワークフロー実行が実現できます。
これまではリポジトリへの Push または Pull request のみでした。
10. Amazon CodeCatalyst の新しいユーザーロールの発表
スペースレベル、プロジェクトレベルでそれぞれ 2 つのユーザーロールが追加され、より柔軟な設定ができるようになりました。
スペースレベルでは、制限付きアクセス、パワーユーザーが追加されました。
- 制限付きアクセス:スペースの一覧表示など、読み取り専用の権限が付与されます。
- パワーユーザー:プロジェクト作成や AWS アカウントの追加が可能な権限です。ユーザー、スペースの削除や支払い関係の変更はできません。
プロジェクトレベルでは、レビュアー、読み取り専用の 2 つが追加されました。
- レビュアー:リポジトリのプルリクの承認やコメントができますが、マージはできません。Issue 周りの操作もできます。
- 読み取り専用:すべてのプロジェクトコンテンツの閲覧ができますが、作成・変更系の操作はできません。
11. Amazon CodeCatalyst、Terraform のサポートを開始
ワークフロー画面に Terraform Community Edition が追加され、Terraform によるデプロイを簡単に実装できるようになりました。
Configuration のタブでは必要なパラメータを定義できます。
12. Amazon CodeCatalyst のチーム機能を発表
Team 機能が追加されました。IAM のグループ機能みたいなものですね。
ユーザーを直接追加もできますし、SSO グループをそのままグループにでき、新規 SSO ユーザーも自動的にプロジェクトに所属させることが可能な模様です。
13. Amazon CodeCatalyst が AWS IAM アイデンティティセンターを使用したシングルサインオンのサポートを開始
CodeCatalyst のマネコン側設定画面で、IAM Identity Center との連携が可能になりました。
特定の IAM Identity Center グループと紐付けることで、ユーザー作成が不要になり、SSO 画面からのログインが可能になります。
このように SSO 画面の Applications タブに CodeCatalyst が出現します!
14. Amazon CodeCatalyst、Virtual Private Cloud のサポートを開始
ワークフローからパブリックルートを持たない VPC へ接続できるようになりました。VPC 内のリソースに対する処理をワークフローから実施可能になります。
接続できるのは CodeCatalyst と同じリージョンの VPC となります。
ただし、すべての AZ のサブネットを VPC に定義する必要があるようです。
Amazon Virtual Private Cloud での Amazon CodeCatalyst の使用
15. Amazon CodeCatalyst エンタープライズ階層のご紹介
Standard tier の上に Enterprise tier が追加されました。月$20/人。
Custom blueprints が利用可能になります。(下記、16.Amazon CodeCatalyst のカスタムブループリントを発表を参照)
Compute minutes や Dev Environment hours 等、減っているように見えますが Enterprise tier 枠内に人数を入力することで、人数に応じて増加しますので Standard より少ないわけではありません。
16. Amazon CodeCatalyst のカスタムブループリントを発表
15.Amazon CodeCatalyst エンタープライズ階層のご紹介にて追加された Enterprise tier 限定の機能です。
アプリケーションコード、ワークフローやインフラストラクチャのベストプラクティスを定義し、プロジェクトの作成や既存プロジェクトに反映させることが可能になります。
Enterprise で様々な要素の共通化が可能になります。
こちらは検証できておりませんので、下記の公式ブログが参考になります。
【参考】Amazon CodeCatalyst introduces custom blueprints and a new enterprise tier
17. Amazon CodeCatalyst、Amazon Q の機能開発 (プレビュー版) を発表
CodeCatalyst と Amazon Q が統合され、Issue を Amazon Q に割り当てることができ、ソースの修正からプルリクエストの作成までを行なってくれるびっくりな機能です。
こちらは別途検証した記事がありますので、よかったらこちら ↓ をご覧ください。
Amazon CodeCatalyst の Amazon Q 連携を利用して Issue からソースを修正させてみた
18. Amazon CodeCatalyst におけるマネージド型パッケージリポジトリのサポートに関するご紹介
npm パッケージを安全に保存、公開、共有できるように。CodeArtifact のような機能が内蔵されました。
独自パッケージの公開や、外部パッケージの取得をコントロールできます。
提供されている手順を行うことで開発環境から本リポジトリに接続できます。
PAT トークンを利用して認証します。
19. Amazon CodeCatalyst 開発環境が Virtual Private Cloud のサポートを開始
ワークフローだけでなく、開発環境から VPC へ接続できるようになりました。
以前はパブリックルートがあれば可能でしたが、プライベート接続で可能に。
VPC を紐づけるには、Dev Environment の新規作成画面最下部で、VPC を選択します。
※14. Amazon CodeCatalyst、Virtual Private Cloud のサポートを開始の手順で、スペースに VPC を設定する必要があります。
- VPC に関連付けると、通信も VPC 経由となります。インターネットアクセスには IGW や Nat Gateway などが必要になります。
- Cloud9 は 172.16.0.0/12 の CIDR を使用します。また、紐づけた VPC のいずれかのサブネットにネットワークインターフェースを作成します。
20. Amazon CodeCatalyst 開発環境の SSH サポートの発表
Dev Environment に Connect via SSH が追加されました。
社内の制約で検証ができませんが、成功すると PowerShell 等から Dev Environment に SSH 接続ができます。
21. Amazon CodeCatalyst 内での JetBrains IDE のシングルサインオン (SSO) サポートを発表
JetBrains 社提供の IntelliJ、GoLand、PyCharm IDE 開発環境を、チームの CodeCatalyst プロジェクトから作成、削除、一時停止、再開できるようになりました。
利用には IAM Identity Center でセットアップした CodeCatalyst が必要です。
※上記開発環境を導入できていないためこちらは検証できておりません。
22. Amazon CodeCatalyst にプルリクエストの承認ルールを導入
ブランチ単位にプルリクエストの承認ルールを導入できます。
現段階では、最低いくつの承認が必要かという要素のみの簡易的なものになります。
23. Amazon CodeCatalyst に Bedrock GenAI チャットボットブループリントを導入
CodeCatalyst のブループリントに Bedrock GenAI Chatbot が導入されました。
下記のように Bedrock を活用したアーキテクチャを数クリックで構築できます。
24. CodeCatalyst ワークフローのランタイムイメージ選択
ビルドやテスト時に利用するランタイムイメージを選択で決まるようになりました。
これまで独自のイメージは選択できましたが、この更新により 2022 年 11 月のイメージと 2024 年 03 月のイメージの 2 種類が追加され、選択できるようになりました。
イメージの詳細はランタイム環境の Docker イメージの操作にて確認できます。
25. Amazon CodeCatalyst が Issue へのタスクの追加のサポートを開始
Issueをタスクに分解できるようになりました。タスク単位でユーザーやAmazon Qに作業を割り当てることも可能です。
1 Issueに対し、最大100個のタスクを追加できます。
26. Introducing the AWS PDK blueprints in Amazon CodeCatalyst
※2024/04/18 現在で日本語版未提供のため英語
AWS Project Development Kit (PDK)のブループリントが追加されました。
AWS PDKを使うと、開発プロジェクトを迅速にスケーラブルに進めるために必要なビルディングブロックが提供されます。
現段階で、以下の 5 つのブループリントが利用できます。
- PDK - Monorepo
- PDK - Type Safe API
- PDK - Cloudscape React Website
- PDK - Infrastructure
- PDK - DevOps
おわりに
今回は CodeCatalyst GA1 周年を記念して、GA 前含めこの 1 年強のアップデートについて実際の環境で検証してみました。
この 1 年でもこれだけたくさんのアップデートがされており、開発者がより効率的、効果的に開発を進められるようなサービスとなっています。
最初はなかなかとっつきにくいサービスだと思いますが、このアップデートを見てもわかるように相当力が入れられているサービスと言えるので、
まずは小さなプロジェクトからでも、利用を開始してみてはいかがでしょうか。
CodeCatalyst の概要を知りたい!という方は、公式のBlackbeltがおすすめです。2023/12 に一気に 8 本も掲載され、各サービス単位でわかりやすく解説されています。まずはBlackbeltを読み、CodeCatalyst にチャレンジしてみましょう。
更新履歴
- 2024/05/14 #25 Amazon CodeCatalyst が Issue へのタスクの追加のサポートを開始が漏れていたので追記しました。