見出し画像

【AWS】 AI搭載IDE Kiroチュートリアルやってみた - 環境構築編 - |1日1ハンズオン Day 19

こんにちは、ぽめら です。
本記事は1日1ハンズオン企画、第19回です!
今回から複数回に分けてKiroのチュートリアルをおこなっていく予定です。

Kiroかわいい!(Kiro公式サイトより引用)


1.はじめに

引き続き、AI搭載IDEのKiroに触れていきます!
前回まではなんとなく触ってみたわけですが、今回から複数回に分けてKiro公式で用意されているチュートリアルにチャレンジしてみようと思います。

題材はKiro公式ドキュメント。
"Spirit of Kiro(お化けのKiro?)"というゲームのバグ修正を通じてKiroの使い方を学ぶハンズオンのようです。すごい楽しそう!👻

Cognito設定やDocker経由での環境構築からスタートし、あらかじめ用意されたバグを直す…というストーリー。内容が盛り沢山なので、今日はまず環境構築までにしようと思います(Cognito知ってるけど触れるのは初😆)。

まあ、ドキュメントがしっかりしてるので多分大丈夫!
というわけで、レッツハンズオン!

2.Kiroチュートリアル - 環境構築編 -

2-1.GitHubからクローンする

じゃあまずお手本通りにクローンして…

git clone git@github.com:kirodotdev/spirit-of-kiro.git

と、何も考えずに進めようとして早速つまづきました😇

※ エラー内容

Cloning into 'spirit-of-kiro'... git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.

SSH接続ができない…?ああ、鍵がないからか。

今回はローカルで動かすこと(大元の情報を読み込むこと)だけが目的なので、HTTPS経由でクローンしました。

※HTTPS経由でのクローン

git clone https://github.com/kirodotdev/spirit-of-kiro.git

そしてディレクトリ移動してchallengeブランチへの移動。

cd spirit-of-kiro/
git checkout challenge

無事クローン & challengeブランチへの移動も完了!

下記にも目を通しておくこと。


2-2.事前準備

環境構築にあたって、事前に下記の用意が必要です。

  • AWSアカウント

  • AWS CLI(ローカル)※認証情報の登録が必要

  • Docker Desktop or Podman  (ローカル)

  • 下記いずれかのAWS Bedrock modelへのアクセス権
    Amazon Nova Pro
    Anthropic Claude Sonnet 3.7
    Anthropic Claude Sonnet 4

※ AWS CLI のインストール手順は下記参照

※ AWS CLIで認証情報を登録する方法
大まかには、「認証情報の発行」→「CLIへの認証情報の登録」が必要です。
認証情報の登録にあたっては、推奨はIAM アイデンティティセンターを活用すること。ですが、手っ取り早くチュートリアルを進めたかったので、私は参照先のうちIAM ユーザーで認証情報をAWS CLIに登録する方法を参照して作業しました。

👉 認証情報 アクセスキー/シークレットキー の発行方法 [AWSコンソール]
① IAM → ユーザー → 登録したいユーザー
② [概要 or セキュリティ認証情報 タブ 内] 「アクセスキーを作成」クリック
③ 用途「コマンドラインインターフェース(CLI)」を選択
④ 各種入力し作成
⑤ Access key ID / Secret access key を控える or CSV ダウンロード
(スクリーンショットに残しにくい部分なので文字にて失礼🙏)

👉 チュートリアルの Configure authentication to AWS 参照先

👉 IAM ユーザーで認証情報を登録する方法(私がやった方法)
多分やり方は他にもあると思いますが コマンドラインの設定が楽でした。
① 'aws configure' をコマンドラインで入力する
② 下記が順番に入力を求められるのでそれぞれ入力する。

AWS Access Key ID: (控えたAccess Key ID)
AWS Secret Access Key: (控えたSecret key)
Default region name: (設定したいregion)  #(Bedrock対応リージョンに注意)
Default output format: json

※ Dockerインストール手順は下記参照

👉ちなみに私はDockerが最新ではなかったので下記で最新版をDL/Update

※ チュートリアル通り進めたい場合、リージョンus-west-2で下記Bedrockモデルへのアクセス権も申請しておきましょう!Kiroの機能検証だけなら不要ですが、私と同じ道を辿らないようにメモ…✍️(25/9/22追記)

  • Titan Text Embeddings V2

  • Nova Canvas


2-3.依存関係の確認

用意ができたらチェック用のスクリプトを実行して確認。

こんな感じでOKであればチェックマークがつく

私はDockerはすでにインストール済みだったため、CLIのローカルインストールと、Kiro検証用のIAM ユーザーを別途切り出して上記クリアしました!


2-4.Cognito User Pool にデプロイ

Cognitoは、認証・ユーザー管理のためのサービスです。ここまで用意した内容でCognitoを作成することで、"Spirit of Kiro"へのアクセスを可能にする流れとなっています。(これ単体もハンズオンやってみないとだな…!)

./scripts/deploy-cognito.sh game-auth


2-5.イメージをビルド

"Spirit of Kiro"のイメージをビルドします。docker compose build!
(Podmanについて不勉強なためわからないのですが、多分同じようなサービスなんだよね?これもまた別途調べたい)

docker compose build &&
docker compose up \
  --watch \
  --remove-orphans \
  --timeout 0 \
  --force-recreate
立ち上がったことを無事確認!(Docker)
まだ多分動かないけどローカル画面も確認!
久しく触れてないから、数年前にDockerで初めて環境立ち上げた時の感動を思い出しました…😭


2-6.ローカルDynamoDBの準備

必要なDynamoDBのテーブル構造はすでにスクリプトとして用意されているので、ローカルにそれを反映している様子。

※ 私はdockerでやったのでpodmanをdockerに読み替えてます。

docker exec server mkdir -p /app/server/iac &&
docker cp scripts/bootstrap-local-dynamodb.js server:/app/ &&
docker cp server/iac/dynamodb.yml server:/app/server/iac/ &&
docker exec server bun run /app/bootstrap-local-dynamodb.js
できた!


2-7.動作確認

ローカルでの動作確認をして、問題なさそうならば環境構築終了です!

・サーバーの応答確認

curl localhost:8080

👉OK!

・ブラウザの確認

ログイン画面、サインアップできた
ゲーム画面が表示された

👉登録&表示できた!OK!

3.まとめ

今回は Kiro のチュートリアルに着手しました。はじめの一歩として、今回は環境構築。環境構築は難所(スタート地点ですし😂)でしたが、基本はドキュメントの通りに進めれば問題なかったので無事終えられて良かったです!

明日はゲームに触ってみてから、Kiroに触れていきたいと思います👻


⭐️スペシャルサンクス チャッピーさん(ChatGPT5)!!!
Dockerでバージョン起因のエラーが吐かれた時に、あなたがいなければ多分解消できませんでした…😭(まあ、いつも頼ってるんですが)


というわけで、今日はここまで!

ではまた明日👋


4.参考リンク

・AWS Kiro紹介ページ

・Kiro公式サイト

・Kiro公式はじめの一歩的なドキュメント

・チュートリアル環境構築方法ドキュメント


いいなと思ったら応援しよう!