AWS Proton
プラットフォームチームがインフラテンプレートを提供し、開発者がセルフサービスでデプロイするサービス
何ができるか
AWS Proton は、プラットフォームエンジニアリングチームがインフラストラクチャのテンプレート (環境テンプレート、サービステンプレート) を作成・管理し、開発者がセルフサービスでアプリケーションをデプロイできるようにするサービスです。CloudFormation または Terraform をバックエンドとして使用します。
どのような場面で使うか
組織のインフラ標準化、開発者へのセルフサービスデプロイ環境の提供、マイクロサービスのインフラテンプレート管理、テンプレートのバージョン管理と一括更新に利用されます。 この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。
身近な例え
社内の申請システムに例えられます。管理部門 (プラットフォームチーム) が申請フォーム (テンプレート) を用意し、社員 (開発者) はフォームに必要事項を記入するだけで、備品 (インフラ) が自動的に手配されます。
Proton とは
AWS Proton は、プラットフォームエンジニアリングのためのサービスです。プラットフォームチームが承認済みのインフラテンプレートを作成し、開発者はテンプレートを選択してパラメータを入力するだけでインフラをデプロイできます。テンプレートのバージョン管理により、セキュリティパッチやベストプラクティスの更新を全サービスに一括適用できます。
環境テンプレートとサービステンプレート
環境テンプレートは VPC、サブネット、セキュリティグループなどの共有インフラを定義します。サービステンプレートは ECS タスク、Lambda 関数、API Gateway などのアプリケーションインフラを定義します。開発者は環境を選択し、サービステンプレートからサービスを作成します。テンプレートの新バージョンが公開されると、既存サービスへの更新を推奨または自動適用できます。
はじめかた
Proton コンソールで環境テンプレートを作成し、CloudFormation または Terraform のテンプレートファイルをアップロードします。環境をデプロイし、サービステンプレートを作成します。開発者は Proton コンソールからサービスを作成し、コードリポジトリを接続してデプロイパイプラインを構築します。
注意点
- Proton 自体は無料。デプロイされるインフラリソース (ECS、Lambda など) の料金が発生
- 小規模チームでは CloudFormation や CDK を直接使う方がシンプル。Proton は開発者とプラットフォームチームの分業が明確な組織に適する
さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。