ヤマムギ

growing hard days.

*

AWS Protonの管理者ガイドとユーザーガイドのチュートリアル

   

AWS Proton管理者ガイドのAWS Management Console の開始方法を見ながら試してみました。
途中からAWS ProtonユーザーガイドのAWS Management Console の開始方法も参照する必要がありました。

ちなみに私は、初めて触るサービスはマネジメントコンソールで触ると概要を理解しやすい派です。

環境テンプレートを作成する

Protonのテンプレートメニューには、環境テンプレートとサービステンプレートがあります。

まず、環境テンプレートを作成します。

デフォルトのサンプルテンプレートバンドルソースで、Fargateを選択しました。
VPC、ECSクラスターなども含むようです。
Lambdaを選択したらDynamoDBテーブル、S3バケットが含まれるようです。

テンプレート名、表示名、タグで任意の設定をして、[環境テンプレートを作成]ボタンを押下しました。

作成されたテンプレートのバージョン1.0を選択して、[公開]ボタンを押下しました。

ステータスがPublishedになりました。

サービステンプレートを作成する

次にサービステンプレートを選択して、[サービステンプレートを作成]ボタンを押下しました。

デフォルトのサンプルテンプレートバンドルで、Fargateを選択しました。

テンプレート名、表示名、タグに任意の名前を設定して、互換性のある環境テンプレートに先に作成しておいた、My Fargate Environmentを選択しました。

パイプラインオプションにはチェックが入っている状態でした。
[サービステンプレートを作成]ボタンを押下しました。

作成されたテンプレートのバージョン1.0を選択して、[公開]ボタンを押下しました。

ステータスがPublishedになりました。

ここまでの手順で環境テンプレートとサービステンプレートが作成されて、発行された状態になりました。

環境を作成する

環境メニューで、[環境を作成する]ボタンを押下しました。

作成して発行した環境テンプレートを選択して、[設定]ボタンを押下しました。

AWSマネージド型プロビジョニング、このAWSアカウントを選択して、環境名を任意に入力しました。

環境ロールは、新しいサービスロールを作成しました。

カスタム設定では、VPCとサブネットのCIDRが入力できます。
デフォルトのままにしました。

以上の設定で環境を作成しました。

環境のデプロイがIn progressになっています。
CloudFormationを見に行くと、VPCとECSを含むスタックが作成中になっていました。

少しすると、スタックが作成完了し、環境のステータスはSucceededになりました。

リポジトリ接続を作成する

Githubリポジトリのaws-samples/aws-proton-sample-fargate-serviceをフォークしました。

デベロッパー用ツール(Codeサービスのコンソール)の[設定]-[接続]で[接続を作成]ボタンを押下しました。

Githubを選択して[Githubに接続する]ボタンを押下しました。

GithubにリダイレクトされるのでGithubにサインインして接続を作成しました。

Githubアプリは[新しいアプリをインストールする]ボタンを押下してインストールしました。
最後に[接続]ボタンを押下しました。

Protonアカウント設定

アカウント設定で、CI/CDパイプラインリポジトリにリポジトリ接続で作成した接続で、
任意のリポジトリを指定しました。

CI/CDパイプラインロールは新たに作成しました。

このアカウント設定のCI/CDパイプラインの設定をしておかないと、サービス作成時に、
「Validation exception
Operation cannot be run until pipeline roles have been configured.」
というエラーとなります。

サービスを作成してアプリケーションをデプロイする

このあたりからはドキュメントもユーザーガイドに変わりますので、開発者が操作する想定で進めてみます。

メニューから[サービス]を選択して、[サービスを選択]ボタンを押下しました。

先に作成済み、発行済みのサービステンプレートを選択して[設定]ボタンを押下しました。

任意のサービス名を入力して、サービスリポジトリのCodeStar接続で、先ほど作成したGithubへの接続を選択して、フォークしておいたサンプルリポジトリ、ブランチはmainを選択しました。
[次へ]を押下しました。

カスタム設定では、サービスインスタンスの名前とenvironmentに作成済みの環境を指定しました。
他はパイプライン入力セクションもすべてデフォルトのままにしました。

サービスが作成されてデプロイ中になりました。

ProtonからCloudFormationスタックが作成されて、必要なCodeサービスのリソースが順次作成されていました。

CodePipelineが実行されて、指定したGithubリポジトリをソースにして、CodeBuildが実行されてCodeDeployによってデプロイされていました。

デプロイが完了すると、サービスインスタンスの出力にServiceEndpoint URLが表示されてブラウザからアクセスするとProtonのアイコンが表示されました。

index.htmlを更新する

Githubでフォークしたmainブランチのindex.htmlを変更して保存してみました。

Protonのサービスのパイプラインの実行ステータスがIn progressになりました。
CodePipelineが再実行されています。

テキストを追加しただけなのでわかり辛いですが、デプロイされて反映されていました。

開発者はAWSのネットワーク環境やECSなどのリソース構成を気にすることなく、管理者によって予め用意された環境とサービステンプレートを使用して、コンテナサービスやサーバーレスアーキテクチャのサービスをCI/CDパイプラインでデプロイすることができるサービスがProtonなんですね。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS ,

  関連記事

Windows EC2インスタンスでEBSとインスタンスストアを使用する

Amazon EBS基本のデモ(「AWS認定試験テキスト AWS認定 クラウドプ …

S3バケットポリシーでクロスアカウントのPrincipalについて確認

確認したこと ドキュメントではこちらで確認しました。 AWS JSON ポリシー …

Amazon EC2のスクリーンショットとは

ドキュメント見てたらAmazon EC2でスクリーンショットって機能があったので …

Amazon Location Service入門ワークショップ-ジオコーディング

ジオコーディングにより住所を緯度経度に変換したり、逆に緯度経度から住所を求めたり …

AWS Organizationsのルートユーザー管理(Root user management)でメンバーアカウントのルートユーザー認証を無効にしました

2024年11月発表のAWS Organizations を使用するお客様のため …

S3オブジェクトロックを試しました

S3オブジェクトロックが必要になる要件に今のところ、出会ってないのでまだ設定した …

AWS Toolkit for Eclipseで「Error Message: Unable to find a region via the region provider chain. Must provide an explicit region in the builder or setup environment to supply a region.」

AWS Toolkit for Eclipseをセットアップ(2021年版)の環 …

php-fpm で Out of memoryが発生した際にメール通知する(AWS CloudWatch , Amazon SNS)

AWS CloudWatch LogsエージェントでAmazon EC2上のNg …

TuneCoreの売上データCSVをS3に格納してAthenaのクエリをRe:dashのデータソースにして可視化する

先日参加しましたAWS Summit Tokyo 2017で、 [JapanTa …

CUSTOMINEを使ってkintoneからAWS Lambdaを実行する(Cognito認証付き)

先日の記事「kintoneのカスタマイズ開発を超速にするCUSTOMINE」で書 …