AWS CodeStar プロジェクトテンプレート - AWS CodeStar

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

AWS CodeStar プロジェクトテンプレート

AWS CodeStar プロジェクトテンプレートを使用すると、サンプルアプリケーションから開始し、開発プロジェクトをサポートするために作成された AWS リソースを使用してアプリケーションをデプロイすることができます。AWS CodeStar プロジェクトテンプレート を選択すると、アプリケーションタイプ、プログラミング言語、コンピューティングプラットフォームがプロビジョンされます。ウェブアプリケーション、ウェブサービス、Alexa スキル、および静的ウェブページを使用してプロジェクトを作成したら、サンプルアプリケーションを独自のものに置き換えることができます。

AWS CodeStar でプロジェクトを作成したら、アプリケーションの配信をサポートする AWS リソースを変更できます。AWS CodeStar は AWS CloudFormation と提携して、コードを使用し、クラウド上のサポートサービスおよびサーバー/サーバーレスプラットフォームを作成できます。AWS CloudFormation では、テキストファイルでインフラストラクチャ全体をモデリングすることができます。

AWS CodeStar プロジェクトファイルとリソース

AWS CodeStar プロジェクトは、コードをデプロイするために作成されたソースコードとリソースの組み合わせです。コードのビルド、リリース、デプロイに役立つリソースのコレクションは、ツールチェーンリソースと呼ばれます。プロジェクト作成時、AWS CloudFormation テンプレートを使用して、継続的な統合/継続的デプロイメント (CI/CD) パイプラインのツールチェーンリソースをプロビジョンします。

プロジェクトは、AWS CodeStar を使用して、AWS のリソース作成の経験に応じて、2 種類の方法で作成することができます。

  • コンソールを使用してプロジェクトを作成すると、AWS CodeStar はリポジトリを含むツールチェーンリソースを作成し、サンプルアプリケーションコードやプロジェクトファイルをリポジトリに取り込みます。コンソールを使用して、事前設定済みのプロジェクトオプションのセットに基づき、サンプルプロジェクトをすばやくセットアップできます。

  • CLI を使用してプロジェクトを作成する場合は、ツールチェーンリソースを作成する AWS CloudFormation テンプレートとアプリケーションソースコードを指定します。CLI を使用して、AWS CodeStar がテンプレートからプロジェクトを作成し、サンプルコードでリポジトリを作成できるようにします。

AWS CodeStar プロジェクトは一元管理できます。コンソールで [プロジェクトの作成] ウィザードを使用して、サンプルプロジェクトをセットアップします。チームのアクセス許可とリソースを管理するコラボレーションプラットフォームとして使用できます。詳細については、AWS CodeStar とは を参照してください。コンソールを使用してプロジェクトを作成すると、ソースコードがサンプルコードとして提供され、CI/CD ツールチェーンリソースが作成されます。

コンソールでプロジェクトを作成すると、AWS CodeStar によって以下のリソースがプロビジョニングされます。

  • GitHubまたは でのコードリポジトリCodeCommit。

  • ファイルとディレクトリの詳細を提供する README.md ファイル (プロジェクトリポジトリ内)。

  • アプリケーションのランタイムスタックの定義を保存する template.yml ファイル (プロジェクトリポジトリ内)。このファイルを使用して、ツールチェーンリソースではないプロジェクトリソース (通知、データベースサポート、モニタリング、およびトレースに使用される AWS リソースなど) を追加または変更します。

  • パイプラインに関連して作成された AWS のサービスおよびリソース (例: Amazon S3 アーティファクトバケット、Amazon CloudWatch Events、および関連するサービスロール)。

  • 完全なソースコードとパブリック HTTP エンドポイントを含む実動するサンプルアプリケーション。

  • AWS CodeStar プロジェクトテンプレートタイプに基づく AWS コンピューティングリソース:

    • Lambda 関数。

    • Amazon EC2 インスタンス。

    • AWS Elastic Beanstalk 環境。

  • 2018 年 12 月 6 日 (PDT) 以降:

    • アクセス権限の境界 (プロジェクトリソースへのアクセスを制御するための特殊な IAM ポリシー)。アクセス許可の境界は、デフォルトでサンプルプロジェクトのロールにアタッチされています。詳細については、「ワーカーロールの IAM アクセス権限の境界」を参照してください。

    • AWS CloudFormation を使用してプロジェクトリソースを作成するための AWS CloudFormation IAM ロール (IAM ロールなど、AWS CloudFormation でサポートされているすべてのリソースのアクセス権限を含む)。

    • ツールチェーンの IAM ロール。

    • アプリケーションスタックで定義された Lambda の実行ロール (変更可能)。

  • 2018 年 12 月 6 日 (PDT) 以前:

    • 限定された一部の AWS CloudFormation リソースをサポートする、プロジェクトリソースを作成するための AWS CloudFormation IAM ロール。

    • CodePipeline リソースを作成するための IAM ロール。

    • CodeBuild リソースを作成するための IAM ロール。

    • プロジェクトタイプで該当する場合、CodeDeploy リソースを作成するための IAM ロール。

    • プロジェクトタイプで該当する場合、Amazon EC2 ウェブアプリを作成するための IAM ロール。

    • CloudWatch イベント リソースを作成するための IAM ロール。

    • 動的に変更され、リソースの一部を含めるための Lambda の実行ロール。

プロジェクトには、ステータスが表示され、チーム管理へのリンク、 IDEs または リポジトリの設定手順へのリンク、リポジトリ内のソースコード変更のコミット履歴を含む詳細ページが含まれています。また、Jira などの外部の問題追跡ツールに接続するためのツールを選択することもできます。

開始方法: プロジェクトテンプレートの選択

コンソールで AWS CodeStar プロジェクトを選択すると、事前に設定されたオプションのセットからサンプルコードとリソースを選択して、すぐに始めることができます。これらのオプションは、プロジェクトテンプレートと呼ばれます。各AWS CodeStarプロジェクトテンプレートは、プログラミング言語、アプリケーションタイプ、およびコンピューティングプラットフォームで構成されています。プロジェクトテンプレートは、選択した組み合わせによって決まります。

テンプレートコンピューティングプラットフォームを選択する

テンプレートごとに、次のコンピューティングプラットフォームタイプのいずれかを設定します。

  • AWS Elastic Beanstalk プロジェクトを選択すると、クラウド内の Amazon Elastic Compute Cloud インスタンスの AWS Elastic Beanstalk 環境にデプロイします。

  • Amazon EC2 プロジェクトを選択すると、AWS CodeStar によって、クラウド上のアプリケーションをホストするための Linux EC2 インスタンスが作成されます。プロジェクトチームメンバーはインスタンスにアクセスでき、チームは Amazon EC2 インスタンスへの SSH 接続に指定するキーペアを使用します。AWS CodeStar には、チームメンバーのアクセス許可を使用してキーペア接続を管理するマネージド SSH もあります。

  • AWS Lambda を選択すると、AWS CodeStar は、インスタンスやサーバーを管理せずに、Amazon API Gateway 経由でアクセスするサーバーレス環境を作成します。

テンプレートアプリケーションタイプを選択する

テンプレートごとに、次のアプリケーションタイプのいずれかを設定します。

  • ウェブサービス

    ウェブサービスは、 の呼び出しなど、バックグラウンドで実行されるタスクに使用されますAPIs。 AWS CodeStarがサンプルウェブサービスプロジェクトを作成したら、エンドポイント URL を選択して Hello World 出力を表示できますが、このアプリケーションタイプの主な用途はユーザーインターフェイス (UI) ではありません。このカテゴリの AWS CodeStar プロジェクトテンプレートは、Ruby、Java、ASP.NET、PHP、Node.js などの開発をサポートしています。

  • ウェブアプリケーション

    ウェブアプリケーションには、UI が搭載されています。AWS CodeStar がサンプルウェブアプリケーションプロジェクトを作成したら、エンドポイント URL を選択してインタラクティブウェブアプリケーションを表示できます。このカテゴリの AWS CodeStar プロジェクトテンプレートは、Ruby、Java、ASP.NET、PHP、Node.js などの開発をサポートしています。

  • 静的ウェブページ

    HTML ウェブサイトのプロジェクトが必要な場合はこのテンプレートを選択します。このカテゴリの AWS CodeStar プロジェクトテンプレートは、HTML5 の開発をサポートします。

  • Alexa スキル

    このテンプレートを選択するのは、Alexa スキルのプロジェクトで AWS Lambda 関数を使用する場合のみです。スキルプロジェクトを作成すると、AWS CodeStar によってサービスエンドポイントとして使用できる Amazon リソースネーム (ARN) が返されます。詳細については、「カスタムスキルを AWS Lambda 関数としてホスティングする」を参照してください。

    注記

    Alexa スキルの Lambda 関数は、米国東部 (バージニア北部)、米国西部 (オレゴン)、欧州 (アイルランド)、およびアジアパシフィック (東京) の各リージョンでのみサポートされています。

  • Config ルール

    アカウントの AWS リソース全体でルールを自動化する AWS Config ルールのプロジェクトが必要な場合は、このテンプレートを選択します。この関数は、ルールのサービスエンドポイントとして使用できる ARN を返します。

テンプレートのプログラミング言語の選択

プロジェクトテンプレートを選択する際、Ruby、Java、ASP.NET、PHP、Node.js などのプログラミング言語を選択します。

AWS CodeStar プロジェクトを変更する方法

プロジェクトを更新するには、以下を更新します。

  • アプリケーションのサンプルコードおよびプログラミング言語リソース。

  • アプリケーションが保存およびデプロイされるインフラストラクチャを構成するリソース (オペレーティングシステム、サポートアプリケーションとサービス、デプロイパラメータ、クラウドコンピューティングプラットフォーム)。アプリケーションリソースは、template.yml ファイルで変更します。これは、アプリケーションのランタイム環境をモデリングする AWS CloudFormation ファイルです。

注記

Alexa Skills AWS CodeStar プロジェクトを使用している場合は、AWS CodeStarソースリポジトリ ( CodeCommit または ) の外部でスキルに変更を加えることはできませんGitHub。Alexa 開発者ポータルでスキルを編集すると、その変更がソースリポジトリに表示されない場合があり、2 つのバージョンは同期しません。

アプリケーションソースコードの変更と変更のプッシュ

サンプルソースコード、スクリプト、および他のアプリケーションソースファイルを変更するには、ソースリポジトリのファイルを次のように編集します。

  • CodeCommitまたは で編集モードGitHubを使用します。

  • IDE のプロジェクト (AWS Cloud9 など) を開く。

  • リポジトリのクローンをローカルに作成後、変更をコミットおよびプッシュします。詳細については、「ステップ 5: 変更のコミット」 を参照してください。

Template.yml ファイルを含むアプリケーションリソースを変更する

インフラストラクチャリソースを手動で変更するのではなく、AWS CloudFormation を使用して、アプリケーションのランタイムリソースをモデリングおよびデプロイします。

ランタイムスタックのアプリケーションリソース (例: Lambda 関数) を変更または追加するには、プロジェクトリポジトリの template.yml ファイルを編集します。AWS CloudFormation リソースとして利用可能なリソースを追加することができます。

AWS Lambda 関数のコードまたは設定を変更するには、「リソースをプロジェクトに追加する」を参照してください。

アプリケーションリソースである AWS CloudFormation リソースのタイプを追加するには、プロジェクトのリポジトリの template.yml ファイルを変更します。アプリケーションリソースを template.yml ファイルの Resources セクションに追加すると、AWS CloudFormation および AWS CodeStar によってリソースが作成されます。AWS CloudFormation リソースとその必要なプロパティのリストについては、「AWS リソースプロパティタイプのリファレンス」を参照してください。詳細については、「ステップ 1: IAM で CloudFormation ワーカーロールを編集する」のこの例を参照してください。

AWS CodeStar では、アプリケーションのランタイム環境を構成およびモデリングすることによって、ベストプラクティスを実装できます。

アプリケーションリソースを変更するアクセス許可を管理する方法

AWS CloudFormation を使用してランタイムアプリケーションリソース (例: Lambda 関数) を追加すると、すでに付与されているアクセス許可を AWS CloudFormation ワーカーロールで使用できます。一部のランタイムアプリケーションリソースでは、template.yml ファイルを編集する前に、AWS CloudFormation ワーカーロールのアクセス許可を手動で調整する必要があります。

AWS CloudFormation ワーカーロールのアクセス許可の変更例については、「ステップ 5: インラインポリシーでリソースに対するアクセス許可を追加する」を参照してください。