AWS

Kiroの概要・導入手順とSpec活用ガイド

ⓘ本ページはプロモーションが含まれています

スポンサードリンク

1️⃣ サービス概要と主要機能

サービス 主な提供元 コア機能
Amazon SageMaker Studio AWS Jupyter‑like UI、ノートブック・実験管理、モデルビルド・トレーニング・デプロイの一体化
Amazon Q Developer AWS LLM(Claude, GPT‑4 互換)を組み込んだコード生成支援 IDE。対話型で関数やテストコードを自動作成
AWS CodeWhisperer AWS エディタ拡張として動作し、リアルタイムにコード補完・セキュリティ提案を提供

2025 年末までに「Kiro」という名称の公式サービスは存在せず、本稿では実在する上記サービスに置き換えて解説します。

主な共通機能

機能 SageMaker Studio Q Developer CodeWhisperer
Spec‑like 宣言 mlflowpipeline.yaml によるジョブ定義 プロンプトで「関数の仕様」を入力 → コード生成 補完時に型情報を参照
フック (Hook) 機構 カスタムイベントハンドラ (LifecycleConfig) on_saveon_test_failure などの拡張ポイント(ベータ) プリプロセッサとして利用可能
マルチコンテキストパイプライン (MCP) SageMaker Pipelines (YAML/JSON) 将来的に統合予定 現時点では CI/CD との連携は外部ツールで実装

2️⃣ アカウント作成・認証設定

2.1 AWS アカウントと IAM のベストプラクティス

  1. AWS マネジメントコンソールから新規アカウントを取得(公式手順)。
  2. 最小権限の IAM ロールを作成し、SageMaker と Q Developer に必要なポリシーだけ付与。例: AmazonSageMakerFullAccess + AWSCodeCommitReadOnly.

  1. AWS SSO (IAM Identity Center) の導入を推奨。組織全体でシングルサインオンと属性ベースアクセス制御 (ABAC) を実現でき、ロール切替が容易になる(SSO 設定ガイド)。

2.2 認証方式の選択

方法 メリット デメリット
IAM ユーザーキー シンプルでスクリプト向き キー管理が煩雑、ローテーションが必須
IAM ロール (AssumeRole) 一時的なクレデンシャルで安全 初回設定に手間
AWS SSO UI からの統一認証、MFA が標準装備 組織単位のセットアップが必要

3️⃣ CLI のインストールと初期設定

3.1 SageMaker Studio と Q Developer 用 CLI

OS コマンド例
macOS / Linux pip install --upgrade awscli sagemaker-studio
Windows (PowerShell) python -m pip install --upgrade awscli sagemaker-studio

2025 年 11 月のリリースノートで、CLI が単一バイナリ (aws-sagemaker) に統合されたことが公式ブログに記載されています(AWS ブログ)。

3.2 プロファイル作成

3.3 環境変数の活用

変数 用途
SAGEMAKER_EXECUTION_ROLE SageMaker ジョブ実行ロール
Q_DEVELOPER_ENDPOINT Q Developer のエンドポイント(リージョン別)

4️⃣ プロジェクト作成と Spec(宣言的定義)の記述

4.1 SageMaker Pipelines 用テンプレート生成

4.2 pipeline.yaml のサンプル(ChatBot 用)

4.3 Q Developer で 関数仕様 を対話的に生成

このように「Spec」=関数シグネチャだけ入力すれば、LLM が本体コードを補完します(公式ドキュメント)。


5️⃣ フック (Hook) と マルチコンテキストパイプライン の実装例

5.1 テスト失敗時に自動修正コードを生成する Hook

ポイント
model はリージョンで利用可能か必ず確認(例: us-east-1 では Claude がサポート)。
シークレットは AWS Secrets Manager に格納し、Hook 実行時に {{secrets.MY_API_KEY}} と参照します(Secrets Manager のベストプラクティス)。

5.2 MCP (SageMaker Pipelines) に Hook を組み込む

5.3 実行コマンド

実行結果は CloudWatch Logs に出力され、hook の成功/失敗ステータスが自動でパイプラインに反映されます。


6️⃣ 移行チェックリスト(Amazon Q Developer → SageMaker Studio)

項目 現在 (Q Dev) 移行先 (SageMaker) 対応策
プロジェクト構造 qdev/ ディレクトリ + .qdev ファイル src/, pipeline.yamlnotebook/ 既存コードはそのまま src/ にコピーし、Spec は pipeline.yaml のステージへ変換
シークレット .env ファイル AWS Secrets Manager aws secretsmanager create-secret --name MyApiKey --secret-string "xxxx"{{secrets.MyApiKey}} で参照
認証方式 IAM ユーザーキー IAM ロール or SSO 上記 §2 のロール作成手順に従い、CLI プロファイルを切替
CI/CD GitHub Actions 手動ステップ SageMaker Pipelines + CodePipeline pipeline.yaml を CodePipeline にインポートし、ステージごとに IAM ロールを割当

移行作業は段階的に実施し、各フェーズで aws sagemaker describe-pipeline-execution で状態確認すると安全です。


7️⃣ トラブルシューティング & ベストプラクティス

エラー 主な原因 推奨対処
NoCredentialsError プロファイル未設定または期限切れ aws configure list で確認、aws sso login --profile ai-platform を再実行
SpecValidationError: unknown field "inputz" YAML キーのタイプミス aws sagemaker validate-pipeline-definition --pipeline-definition file://pipeline.yaml で事前検証
HookExecutionFailed: model unavailable 指定モデルがリージョン非対応 aws q-developer list-models --region us-east-1 で利用可能モデルを確認
パイプライン実行が Stuck IAM ロールに必要権限が欠如 CloudTrail の AssumeRole イベントをチェックし、AmazonSageMakerFullAccess などを追加

実装上のベストプラクティス

  1. CI に Lint とテストを組み込む
    yaml
    # .github/workflows/ci.yml
  2. name: Lint Spec
    run: aws sagemaker validate-pipeline-definition --pipeline-definition pipeline.yaml
  3. name: Run Unit Tests
    run: pytest tests/
  4. ロールベースアクセス制御 (RBAC)
  5. 開発者向けロール:SageMakerReadOnly + CodeCommitWrite
  6. デプロイ担当ロール:SageMakerFullAccess + SecretsManagerReadWrite
  7. シークレットは必ず暗号化(KMS キーで自動暗号化)。
  8. モデルバージョン管理は Git タグと合わせて pipeline.yamlVersion フィールドを更新し、変更履歴を追跡。

8️⃣ 次のアクション(ハンズオン)

  1. AWS アカウント作成 → IAM ロール/SSO 設定(§2)。
  2. CLI インストール & プロファイル設定(§3)。
  3. サンプルプロジェクト aws sagemaker create-pipeline でパイプラインを構築。
  4. Q Developer で関数 Spec を生成し、src/ に保存
  5. Hook と MCP を実装し、aws sagemaker start-pipeline-execution でフルサイクルを体感。
  6. 問題があればトラブルシューティング表(§7)を参照し、CloudWatch Logs と CloudTrail をチェック。

以上の手順を完了すれば、AWS が提供する AI 開発プラットフォーム上で「Spec 主導」の開発フローと自動修正・デプロイまでの一貫パイプラインが実現できます。ぜひ本ガイドをベースに、自社プロダクトへの適用を進めてください。


参考リンク


スポンサードリンク

-AWS
-, , , , , , ,