Amazon Web Services ブログ

AWS Proton の一般提供開始を発表

この記事は Announcing the general availability of AWS Proton を翻訳したものです。

re:Invent 2020 で AWS Proton を紹介してから半年が経ちましたが、本日、AWS Proton の一般提供が開始され、皆様の本番利用が可能になったことをお知らせします。

AWS Proton をご存じない方のために、まず AWS Proton とは何かをおさらいしましょう。続いて、この半年の間に追加された機能をご紹介します。

AWS Proton – レビュー

AWS Proton は、コンテナとサーバーレスアプリケーションのための、フルマネージドなアプリケーションデリバリーサービスです。プラットフォームエンジニアリングチームは、このサービスを利用して複雑なアーキテクチャを構築し、それをシンプルで利用可能な単位で開発者に提供することができます。AWS Proton を使用すれば、プラットフォームチームがインフラストラクチャを管理および維持しながら、開発者はクラウドの専門家でなくてもコードを自由にデリバリーできるようになります。これにより、インフラストラクチャプラットフォームは、プラットフォームチームが継続的に提供するプロダクトとなります。

AWS Proton を使用してプラットフォームを構築する場合、環境とサービスという 2 つの主要なコンポーネントがあります。これらの各コンポーネントは、AWS CloudFormation テンプレートと、開発者に必要なパラメータを記述したスキーマで構成されています。これらのパラメータは、一般的な Jinja テンプレートを使用して CloudFormation テンプレートとマージされ、プラットフォームエンジニアが選択したベストプラクティスや組織のスタンダードを使用して環境やサービスが作成されます。

プロセスはシンプルです。

  • プラットフォームエンジニアは、CloudFormation テンプレート (環境とサービス) を登録してデプロイします
  • プラットフォームエンジニアは、新しく登録された環境テンプレートを使って環境をデプロイします
  • 開発者は、新しく登録されたサービステンプレートを使って、新しい環境にサービスをデプロイします

時間の経過とともに、プラットフォームチームは、AWS Proton のテンプレートを繰り返し改良し、新しいリビジョンを発行することができます。それとは別に、開発者は自分のコードを繰り返し改良し、自分のサービスにデプロイすることができます。

コード付きの簡単なデモを見るには、GitHub 上の aws-proton-sample-templates リポジトリをチェックしてください。

プレビュー版のリリース以来、AWS Proton チームは、お客様からご要望のあった機能の追加に努めてきました。最新の機能の一部をご紹介します。

  • マルチアカウント環境

    多くの AWS のお客様は、AWS Control Tower と AWS Organizations の機能を活用して、マルチアカウント構造の中央管理を行っています。AWS Proton を使用して、コンテナやサーバーレスアプリケーションを複数の AWS アカウントにデプロイできるようになりました。

  • カスタマー管理の環境

    既存の共有リソースをカスタマー管理の環境としてインポートできるようになりました。これにより、お客様は共有リソースを再作成することなく、既存のインフラストラクチャに AWS Proton を導入することができます。

  • AWS Proton による集中化されたタグ付け

    タグ付けにより、AWS リソースにメタデータを付与し、目的、所有者、環境またはその他の基準でリソースを分類することができます。タグ付けのベストプラクティスの詳細については、こちらをご覧ください。

  • 既存のサービスへのインスタンスの追加と削除

    本番環境の追加や廃止など、デプロイメントインフラストラクチャに変更に加える場合、開発者はサービスへインスタンスを追加または削除する必要があります。AWS Proton CLI またはコンソールを使用して、新しいインスタンスを定義し、既存のインスタンスを削除することができます。AWS Proton は、削除されたインスタンスをデプロビジョニングし、新しいサービス構成に合わせてサービスパイプラインを更新します。

  • トラブルシューティングのためのデプロイメントのキャンセル

    開発者チームは、サービスやインフラストラクチャを作成、管理、デプロイするための単一のインターフェイスとして AWS Proton を使用しています。AWS Proton の新しい Cancel Deployment API により、開発者はデプロイメントをリアルタイムに管理することができます。開発者は、時間がかかりすぎたり、エラーが発生したりしたサービスのデプロイメントをキャンセルし、後で再試行できます。これにより、日常のワークフローの一部として、セルフサービスで調整や再試行を行うことが可能になります。

  • 使用中のテンプレートの削除保護

    新しい削除検証の導入により、AWS Proton は、リソースによって使用されているマイナーバージョンが誤って削除されることを防ぐことができるようになりました。AWS Proton は、環境、サービス、またはパイプラインのテンプレートの現在のマイナーバージョンを使用して、デプロイメントと変更を管理します。この削除検証は、メジャーバージョンがある場合のテンプレートの削除や、マイナーバージョンがあるテンプレートのメジャーバージョンの削除を防ぐ既存の AWS Proton の検証に加えて機能します。

  • カーディナリティ強化のための Jinja テンプレートへのサービスインスタンス名の追加

    テンプレートの作成者や開発者は、リソースに名前を付ける際に複数のユニークな識別子を作成するという課題に直面していました。この機能により、テンプレート内で service_name と service_instance_name を参照すると、AWS Proton が自動的に対応する値を注入します。これにより、一貫した命名基準が容易になり、必要なパラメータの数がさらに削減されます。

これらの機能はすべて、お客様からいただいたフィードバックに基づいています。フィードバックは AWS Proton のロードマップの形成に役立っています。ロードマップは GitHub で公開されていますので、問題提起や将来的に実現したい改善の提案をお願いします。

翻訳はプロフェッショナルサービスの杉田が担当しました。