Zenn Dev Lapras Inc Articles E9502a8f8d2cc3
子供が自分でEC2のマイクラサーバーを起動できるように家庭用Alexaスキルを作ってみた
- URL: https://zenn.dev/lapras_inc/articles/e9502a8f8d2cc3
- 日付: 2026-06-26
- Tier: Tier 3
- 要旨: 子供が声でEC2上のマイクラサーバーを操作できるよう、Alexaカスタムスキルを作成した事例。Amazon Developer ConsoleでスキルとインテントおよびスロットをDSLで定義し、エンドポイントにServerless Framework製のLambda関数を設定する構成。ServerNameとOperationNameの2スロットを持つServerOperationIntentを作成し、Alexaのオートデリゲート機能でスロット未入力時に自動で補完対話を行う。子供の不在時や自分の不在時にも声だけでサーバー起動・停止・状態確認が可能になり、父親の技術を子に見せる機会にもなった。
詳細
Alexaスキル開発の手順
- Amazon Developer Consoleでスキルを作成
- ホスティングサービスで「独自のプロビジョニング」を選択(AWSのLambdaをエンドポイントとして使用するため)
- 通常のAWSアカウントとは別にAmazon Developerアカウントが必要
- インテント・スロット・ダイアログの設計
- SERVER_NAME と OPERATION_NAME の2スロットを定義
- ServerOperationIntent でこれらのスロットを利用
- オートデリゲート機能により、ユーザーがサーバー名を省略した場合もAlexaが自動的に補完対話を実施
- 各スロットに類語・サンプル発話を設定し発話理解精度を向上
- Lambda関数の実装(Serverless Framework)
- LaunchRequestHandler: スキル起動時の応答
- ErrorHandler: エラー処理
- helpIntentHandler: ヘルプ対話
- stopIntentHandler: スキル終了
- ServerOperationHandler: EC2操作のメインハンドラ(サーバー名と操作種別をマップで定義)
- デプロイとテスト
- Serverless Framework でデプロイ後、エンドポイントURLをAlexaスキルに設定
- Developer ConsoleのテストページまたはEchoデバイスから動作確認
運用実績
- 「ポケモン」「サバイバル」の2サーバーを家族で運用中