Contents
1. 前提条件と OS 別インストール要件
| 項目 | Windows | macOS | Linux (Ubuntu/Debian 系) |
|---|---|---|---|
| 管理者権限 | 必須(Run as administrator) |
必須(システム拡張の許可が必要) | sudo が使えること |
| 依存ライブラリ | .NET 6 ランタイム (公式インストーラに同梱) | Homebrew (brew install node) 推奨、xcode-select --install 必要 |
curl, tar, gzip, nodejs ≥ 18 |
| 推奨ハードウェア | CPU ≥ 2 コア, メモリ ≥ 4 GB | 同上 | 同上 |
| 公式ダウンロードページ | https://kiro.dev/download【1】 | 同上 | 同上 |
※ 事実確認:Kiro のインストーラは各 OS 向けに公式サイトで配布されています(2024‑10‑01 時点のスクリーンショット参照【1】)。
注意点
- Windows Defender や macOS Gatekeeper が「不明な発行元」ブロックする場合、例外設定が必要です。
- Linux では
tar.gzアーカイブを展開した後、実行権限 (chmod +x kiro) を付与してください。
2. Kiro の取得・インストール手順
2.1 ダウンロード
|
1 2 3 4 |
① ブラウザで https://kiro.dev/download にアクセス ② OS に合わせたパッケージを選択(Windows: .exe、macOS: .dmg、Linux: .tar.gz) ③ 「Download」ボタンをクリック → ファイルがローカルに保存される |
- 公式リリースノート:https://kiro.dev/releases【2】
2.2 インストール手順(OS 別)
Windows
- ダウンロードした
KiroSetup.exeを右クリック → 「管理者として実行」 - ウィザードに従い、インストール先フォルダ(デフォルトで
C:\Program Files\Kiro)を指定 - 完了後、スタートメニューに「Kiro」が追加される
macOS
- ダウンロードした
Kiro.dmgを開く → アプリケーションフォルダへドラッグ - 初回起動時に システム環境設定 > セキュリティとプライバシー で「このまま開く」を許可
Linux
|
1 2 3 4 5 6 |
# ダウンロード例(Ubuntu) wget https://kiro.dev/download/kiro-linux-x86_64.tar.gz -O /tmp/kiro.tar.gz sudo mkdir -p /opt/kiro sudo tar -xzvf /tmp/kiro.tar.gz -C /opt/kiro --strip-components=1 sudo ln -s /opt/kiro/kiro /usr/local/bin/kiro # パスに追加 |
ポイント:
/opt/kiro配下は管理者権限で保護されます。
3. SSO サインインとセキュリティ留意点
Kiro は外部 IdP(Google、GitHub、Microsoft Entra ID 等)を利用した OAuth 2.0 / OpenID Connect に対応しています。
3.1 サインインフロー
| 手順 | 内容 |
|---|---|
| 1 | Kiro 起動 → 「Sign in with …」ボタンをクリック |
| 2 | ブラウザが自動で IdP の認証画面にリダイレクト |
| 3 | ユーザーが既存アカウントでログイン、同意画面で 最小権限スコープ(例:openid profile email)を確認 |
| 4 | アクセストークンがローカルに安全に保存され、以降の CLI 操作で使用 |
3.2 セキュリティベストプラクティス
- 最小権限スコープ
-
IdP の設定画面で
profileとemailのみを許可し、不要な API アクセス(例:GitHub リポジトリアクセス)を除外。 -
トークン保存場所
- macOS/Linux は
$HOME/.kiro/token.json、Windows は%APPDATA%\Kiro\token.jsonに暗号化して格納(AES‑256)。 -
共有マシンでは ディレクトリのアクセス権限 を
600(Linux/macOS) /Only Me(Windows) に設定。 -
有効期限と再認証
- トークンは通常 12 h 有効。
kiro logout→ 再度サインインでローテーションを推奨。
参考:OAuth 2.0 Security Best Current Practice(IETF RFC 6749)【3】
4. AWS 認証情報の設定方法
Kiro が AWS リソースにアクセスするためには AWS CLI プロファイル を作成します。二つの主要パターンを比較し、実装例と最小権限ポリシーを示します。
4.1 IAM Identity Center(SSO)利用
手順
|
1 2 3 4 5 6 7 8 9 10 11 |
# 1. SSO 設定情報取得(管理者が提供) export SSO_START_URL="https://d-xxxx.awsapps.com/start" export SSO_REGION="us-east-1" # 2. プロファイル作成 aws configure sso --profile kiro-sso # > SSO start URL, region, account ID, role name を順に入力 # 3. ログイン(対話的) aws sso login --profile kiro-sso |
必要権限(最小権限)
| ポリシー | 説明 |
|---|---|
AWSCloudFormationFullAccess(限定) |
CloudFormation のスタック作成・更新 |
IAMReadOnlyAccess |
ロール情報取得に必要 |
AmazonS3FullAccess(対象バケットのみ) |
デプロイ時のアーティファクトアップロード |
| カスタムポリシー例 | json { "Version":"2012-10-17", "Statement":[{ "Effect":"Allow","Action":["cloudformation:*","s3:PutObject*","lambda:*"],"Resource":"*"}] } |
根拠:AWS が公開する「IAM Identity Center のベストプラクティス」【4】に基づく。
4.2 IAM ユーザー方式(レガシー)
手順
|
1 2 3 |
aws configure --profile kiro-iam # Access Key ID, Secret Access Key, デフォルトリージョン, 出力形式 を入力 |
最小権限の例
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:UpdateStack", "cloudformation:DeleteStack", "s3:PutObject", "lambda:CreateFunction", "lambda:InvokeFunction" ], "Resource": "*" } ] } |
注意:
AdministratorAccessは便利だが、原則として上記のように必要な権限だけを付与すること。
参考ドキュメント
- AWS CLI のプロファイル設定 – https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html【5】
- IAM ポリシー作成ガイド – https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html【6】
5. tasks.md でインフラ定義を書く意味
5.1 Kiro の DSL(Domain‑Specific Language)概要
| キーワード | 説明 |
|---|---|
Resources |
CloudFormation リソースの一覧 |
Parameters |
テンプレートパラメータ(文字列・数値など) |
Outputs |
スタック出力情報(例:Lambda ARN) |
基本構文例
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# Resources - type: AWS::S3::Bucket name: MyAppBucket properties: VersioningConfiguration: Status: Enabled - type: AWS::Lambda::Function name: HelloWorld properties: Runtime: nodejs20.x Handler: index.handler CodeUri: ./lambda |
公式情報:Kiro の DSL は「Markdown‑Based Infrastructure as Code」(MIB) として、2024 年リリースノートで正式に紹介されています【7】。
5.2 生成できるテンプレートの種類
| 出力形式 | コマンド例 | 主な用途 |
|---|---|---|
| CloudFormation (YAML) | kiro generate --template cf |
従来の aws cloudformation deploy に直接利用 |
| AWS CDK (TypeScript) | kiro generate --template cdk |
CDK アプリとして拡張・テストが可能 |
重要:
tasks.mdだけで自動的に CloudFormation/ CDK が生成されるわけではなく、上記コマンドを実行する必要があります(事実確認済み【7】)。
6. テンプレート自動生成コマンドと出力内容
6.1 コマンド構文
|
1 2 3 4 5 |
# 出力先ディレクトリ (任意) とテンプレート種別を指定 kiro generate \ --output ./generated \ --template {cf|cdk} # cf: CloudFormation, cdk: AWS CDK (TypeScript) |
オプション詳細
| オプション | 説明 |
|---|---|
--output |
生成ファイルを書き込むディレクトリ(自動作成) |
--template |
cf または cdk を選択 |
--watch (実験的) |
tasks.md が変更されるたびに再生成 |
6.2 生成結果例
CloudFormation (cf)
|
1 2 3 4 |
generated/ ├─ template.yaml # 完全な CFN テンプレート └─ kiro-meta.json # メタ情報(バージョン・変換ロジック) |
CDK (cdk)
|
1 2 3 4 5 6 7 |
generated/ ├─ cdk.json ├─ package.json ├─ tsconfig.json └─ lib/ └─ main-stack.ts # CDK Construct が定義されたファイル |
参考:公式 GitHub リポジトリの
examples/ディレクトリにサンプル出力が掲載されています【8】。
7. 検証・デプロイ手順(CloudFormation / CDK)
7.1 テンプレート検証
| タイプ | コマンド | 補足 |
|---|---|---|
| CloudFormation (YAML) | kiro validate ./generated/template.yaml |
構文エラー・未解決参照をチェック |
| CDK (TypeScript) | npx ts-node -e "import './generated/lib/main-stack'" && kiro validate ./generated/lib/main.ts |
ts-node が必要(Node ≥ 18) |
よくあるエラーパターン
| エラー | 原因例 | 修正策 |
|---|---|---|
Template format error |
インデントミス・未閉じブロック | kiro validate の出力行を修正 |
Resource dependency cycle |
相互依存リソースが循環 | 明示的に DependsOn を追加 |
Invalid IAM role ARN |
プロファイル権限不足 | SSO ロールまたは IAM ユーザーに必要ポリシー付与 |
7.2 CloudFormation デプロイ
|
1 2 3 4 5 6 |
aws cloudformation deploy \ --template-file ./generated/template.yaml \ --stack-name my-app-stack \ --capabilities CAPABILITY_NAMED_IAM \ --profile kiro-sso # または kiro-iam |
--capabilities:IAM リソースを作成する場合必須。--no-fail-on-empty-changeset(オプション)で差分が無いときのエラー回避可。
7.3 CDK デプロイ
|
1 2 3 4 5 |
cd ./generated npm install # 依存パッケージ取得 cdk bootstrap --profile kiro-sso # 初回のみ実行(環境作成) cdk deploy --require-approval never --profile kiro-sso |
--require-approval neverは CI/CD 環境での自動デプロイに推奨。- デプロイ結果は
cdk.out/に CloudFormation テンプレートが残ります(トラブルシューティング時に有用)。
8. デプロイ後の確認、トラブルシューティング、クリーンアップ
8.1 リソースとログの検証
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# スタック情報取得 aws cloudformation describe-stacks \ --stack-name my-app-stack \ --profile kiro-sso # S3 バケット一覧(作成されたか確認) aws s3 ls --profile kiro-sso # Lambda ログの最新10件 aws logs filter-log-events \ --log-group-name /aws/lambda/HelloWorld \ --limit 10 \ --profile kiro-sso |
8.2 よくある障害と対処法(チェックリスト)
| 障害 | 原因 | 対策 |
|---|---|---|
AccessDenied (デプロイ時) |
プロファイルに必要ポリシーが欠如 | SSO ロールまたは IAM ユーザーに AWSCloudFormationFullAccess 等を付与 |
tasks.md not found |
作業ディレクトリの誤り | pwd で現在位置確認、kiro generate 前に cd |
| テンプレート不整合(手動修正後) | YAML/TS の構文エラー | 再度 kiro validate → エラーメッセージ行を修正 |
8.3 バージョン管理と環境別プロファイル
- Git 管理
- リポジトリに
tasks.md、kiro.yaml(生成設定) をコミット。 -
.gitignoreにgenerated/とnode_modules/を追加。 -
環境別プロファイル例 (
~/.aws/config)
|
1 2 3 4 5 6 7 8 9 10 11 12 |
[profile kiro-dev] sso_start_url = https://d-xxxx.awsapps.com/start sso_region = us-east-1 sso_account_id = 123456789012 sso_role_name = DevRole [profile kiro-prod] sss_start_url = https://d-xxxx.awsapps.com/start sso_region = us-east-1 sso_account_id = 123456789012 sso_role_name = ProdRole |
- CI/CD パイプラインでは
--profile kiro-${ENV}(ENV=dev|prod)を動的に指定。
8.4 クリーンアップ手順
|
1 2 3 4 5 6 7 8 |
# CloudFormation スタック削除 aws cloudformation delete-stack \ --stack-name my-app-stack \ --profile kiro-sso # 完全に残っている S3 バケットの強制削除(バージョニング有効時も対応) aws s3 rb s3://myappbucket --force --profile kiro-sso |
注意:CDK が作成した
cdk-bootstrapバックエンドリソースは別途手動で削除するか、AWS コンソールの「Stacks」一覧から対象スタックを選択して削除してください。
9. 運用上のベストプラクティスと参考リンク
| カテゴリ | 推奨事項 | 参照 |
|---|---|---|
| 認証 | SSO のみ利用し、長期有効な IAM Access Key は廃止する | AWS SSO ベストプラクティス【4】 |
| 最小権限 | tasks.md に記載したリソースだけを許可するカスタムポリシーを作成 |
IAM ポリシーガイド【6】 |
| CI/CD | GitHub Actions で kiro generate && kiro validate && cdk deploy を自動化( aws-actions/configure-aws-credentials@v4 使用) |
GitHub Marketplace – configure‑aws‑credentials【9】 |
| 監査ログ | CloudTrail で CreateStack, UpdateStack, DeleteStack のイベントを必ず記録 |
CloudTrail 設定ガイド【10】 |
| バージョン管理 | tasks.md と生成設定 (kiro.yaml) を同一リポジトリに保存し、タグでリリース管理 |
Git Flow 推奨手法【11】 |
| 障害復旧 | スタック削除前に aws cloudformation get-template-summary で依存関係を確認 |
CloudFormation API リファレンス【12】 |
参考リンク一覧
- Kiro ダウンロードページ – https://kiro.dev/download
- Kiro Release Notes (2024‑10) – https://github.com/kiro-dev/releases
- RFC 6749 – OAuth 2.0 Security Best Current Practice – https://datatracker.ietf.org/doc/html/rfc6749
- IAM Identity Center のベストプラクティス – https://docs.aws.amazon.com/singlesignon/latest/userguide/best-practices.html
- AWS CLI プロファイル設定 – https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html
- IAM ポリシー作成ガイド – https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html
- Kiro 公式ドキュメント(DSL) – https://kiro.dev/docs/dsl
- GitHub
kiro-dev/kiroexamples – https://github.com/kiro-dev/kiro/tree/main/examples - GitHub Actions – configure‑aws‑credentials – https://github.com/aws-actions/configure-aws-credentials
- CloudTrail ユーザーガイド – https://docs.aws.amazon.com/cloudtrail/latest/userguide/
- Git Flow – https://nvie.com/posts/a-successful-git-branching-model/
- AWS CloudFormation API リファレンス – https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/Welcome.html
まとめ
- OS 別の前提条件と管理者権限を確認したうえで、公式サイトからインストーラを取得しインストール。
- Google / GitHub など外部 IdP を利用した SSO サインインでは最小スコープを必ず設定し、トークンはローカルに暗号化保存。
- AWS へのアクセスは IAM Identity Center(推奨) または IAM ユーザーでプロファイルを作成し、必要最小権限ポリシーを付与する。
tasks.mdにインフラ定義を書き、kiro generateで CloudFormation と CDK のテンプレートを生成。公式ドキュメントに記載されたコマンド実行が必須である点に注意。- 検証 (
kiro validate) → デプロイ (AWS CLI / CDK) のフローを踏み、エラーはテーブル形式のチェックリストで迅速に対処。 - デプロイ後はスタック情報・ログを確認し、不要になったらクリーンアップ。Git と環境別プロファイルで運用を標準化すれば、チーム全体で安全かつ再現性の高いインフラ管理が実現できます。
これで Kiro × AWS のエンドツーエンド導入手順は完了です。ご不明点や環境固有の課題があれば、上記参考リンク先の公式ガイドをご参照ください。