AWSツールを使用したスキルの作成と管理
AWS CodeStar、AWS CodePipeline、AWS CloudFormationといった、Amazon Web Services(AWS)のクラウドベースのツールを使って、Alexaスキルの作成、ビルド、管理ができます。
- CI/CDツールチェーン全体にAWS CodeStarを使う
- 継続的デリバリー(Continuous Delivery)のためにAWS CodePipelineを使う
- Infrastructure as Codeのモデル化にAWS CloudFormationを使う
CI/CDツールチェーン全体にAWS CodeStarを使う
AWS CodeStarを使って、AWS内部でAlexaスキルの作成とビルドを行うことができます。AWS CodeStarは、AWSでアプリケーションの開発、ビルド、デプロイを行えるツールを提供するクラウドベースの開発用サービスです。AWS CodeStarを使えば、継続的インテグレーション(Continuous Integration)と継続的デリバリー(Continuous Delivery)つまりCI/CDのツールチェーンをわずか数分でセットアップできるため、開発者はスキルのコードに集中でき、より短期間でコードのリリースを開始できます。
AWS CodeStarには、AWSアカウント内でシンプルな「hello world」のAlexaスキルをわずか数クリックで作成できるテンプレートが用意されています。テンプレートを使うと、AWS CodePipelineを使って基本的なデプロイメントパイプラインを作成できます。このパイプラインにより、スキル開発の継続的デリバリーワークフローを開始できます。また、AWS CodeCommitやGitHubを利用して、プロジェクトのすべてのソースコードが格納されたリポジトリも利用できます。このリポジトリは、AWS Cloud9 IDE、Eclipse、Visual Studioで利用できるよう設定したり、コマンドラインツールを使ってその他お好みのIDEと統合したりすることもできます。
すでにAWSについての知識がある場合は、AWS CodeStarを使えば、使い慣れた設定でAlexaスキルの開発を開始できます。Amazon開発者アカウントをAWS CodeStarプロジェクトに紐づけて、AWSからAlexaスキルの開発中ステージに直接デプロイできます。
AWS CodeStarを使ってAlexaスキル開発を始める手順については、AWS CodeStarのドキュメントでチュートリアル: AWS CodeStarでAlexaスキルプロジェクトを作成するを参照してください。
継続的デリバリー(Continuous Delivery)のためにAWS CodePipelineを使う
既存のAlexaスキルとAWS CodeCommitリポジトリがある場合は、AWS CodePipelineを使って、ソースコードリポジトリからAlexaスキルを継続的にデプロイするワークフローを作成できます。Amazon開発者アカウントをAWS CodePipelineに紐づけて、AWSからAlexaスキルの開発中ステージに直接デプロイできます。
Alexa Skills Kitをデプロイアクションプロバイダーとして使うパイプラインの使用手順については、AWS CodePipelineのドキュメントでチュートリアル: Amazon Alexaスキルをデプロイするパイプラインを作成するを参照してください。
Infrastructure as Codeのモデル化にAWS CloudFormationを使う
AWS CloudFormationを使って、テキストファイルに記載されたすべてのAWSリソースをモデル化できます。このテキストファイルは、インフラストラクチャで信頼できる唯一の情報源として使用できます。AWS CloudFormationを使えば、手動のアクションやカスタムスクリプトなしで、インフラストラクチャのビルドと再ビルドが可能になります。このため、安全かつ再現可能な方法でAWSリソースをプロビジョニングできます。
AWS CloudFormationは、スキルパッケージの形式を使ってAlexaスキルに特化したリソースタイプを提供します。このリソースタイプを使ってテンプレートを作成し、複数のAlexaスキルや関連するAWSリソースの作成に再利用できます。AWS CloudFormationを使うと、AWSインフラストラクチャとAlexaスキルコードを1つのスタックとして管理できます。
AWS CloudFormationで提供されるAlexaスキルのリソースタイプについて詳しくは、AWS CloudFormationテンプレートリファレンスのAlexa::ASK::Skillを参照してください。
最終更新日: 2022 年 01 月 19 日