コンテンツにスキップ
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スキル開発の手順

  1. Amazon Developer Consoleでスキルを作成
  • ホスティングサービスで「独自のプロビジョニング」を選択(AWSのLambdaをエンドポイントとして使用するため)
  • 通常のAWSアカウントとは別にAmazon Developerアカウントが必要
  1. インテント・スロット・ダイアログの設計
  • SERVER_NAME と OPERATION_NAME の2スロットを定義
  • ServerOperationIntent でこれらのスロットを利用
  • オートデリゲート機能により、ユーザーがサーバー名を省略した場合もAlexaが自動的に補完対話を実施
  • 各スロットに類語・サンプル発話を設定し発話理解精度を向上
  1. Lambda関数の実装(Serverless Framework)
  • LaunchRequestHandler: スキル起動時の応答
  • ErrorHandler: エラー処理
  • helpIntentHandler: ヘルプ対話
  • stopIntentHandler: スキル終了
  • ServerOperationHandler: EC2操作のメインハンドラ(サーバー名と操作種別をマップで定義)
  1. デプロイとテスト
  • Serverless Framework でデプロイ後、エンドポイントURLをAlexaスキルに設定
  • Developer ConsoleのテストページまたはEchoデバイスから動作確認

運用実績

  • 「ポケモン」「サバイバル」の2サーバーを家族で運用中