Amazon Bedrock を活用した AI 搭載採用アシスタントの構築方法
AWS は Amazon Bedrock を活用した AI 採用アシスタントの参考アーキテクチャを公開し、人事業務の効率化とバイアス低減の実現方法を提示している。
キーポイント
採用担当者の業務負担実態と課題
調査によると採用担当者は募集ごとに平均 17.7 時間を事務作業に費やしており、フォーマットやキーワードに依存した表面的な選考が横行している。
Amazon Bedrock を活用した解決アーキテクチャ
Amazon Nova Pro モデルと Lambda、API Gateway などを組み合わせたサーバーレス構成により、履歴書解析、候補者スコアリング、面接質問生成を自動化する。
責任ある AI のための Guardrails 機能
Amazon Bedrock Guardrails を統合することで、個人識別情報の匿名化、プロンプト攻撃の検知、バイアス関連コンテンツのフィルタリングを実現している。
バイアス排除と公平性の確保
システムプロンプトにより、候補者の氏名や属性に基づいた推測を禁止し、実証されたスキルと経験のみを評価対象とするよう厳格に指示しています。
構造化された詳細分析の出力
JSON形式で適合度スコア、技術スキルのマッチング状況、経験分析、面接質問案など、採用担当者が即座に判断できる構造化データを生成します。
情報出力の検証と安全性
AI の出力は採用推薦ではなく候補者評価のための情報であり、温度値を0.2に設定して一貫性を保ちます。Guardrailsが介入した場合はエラーハンドリングを実装し、安全なフォールバック応答を返す必要があります。
高度な候補者マッチング機能
単なるキーワード一致ではなく、スキル深度や経験の関連性を分析して適合スコアを算出します。また、転移可能なスキルの特定や根拠付きの証拠提示により、手動審査で見落としがちな点を補完します。
影響分析・編集コメントを表示
影響分析
この記事は、生成 AI が単なる技術デモから実際の業務プロセス(特に人事領域)に統合される具体的な道筋を示しており、企業による AI 実装の加速を促すものです。また、セキュリティと公平性を担保する Guardrails の重要性を強調することで、責任ある AI 導入の標準的なアプローチを提示しています。
編集コメント
AWS の公式ブログとして、単なる機能紹介に留まらず、具体的なアーキテクチャとセキュリティ対策(Guardrails)まで踏み込んだ実装ガイドを提供しており、実務者にとって非常に価値が高い内容です。特に「バイアス低減」や「PII 保護」への言及は、AI 導入における懸念点に対する現実的な回答となっています。
748 人の HR リーダーを対象とした 人材管理に関する調査によると、採用担当者は募集ポジションごとに平均 17.7 時間を事務作業に費やしています。これは採用 1 件あたり 2 営業日以上にもなります。別の 2024 年 SmartRecruiters の調査では、人材獲得リーダーの 45% が、自動化可能なタスクに勤務時間の半分以上を費やしていると回答しています。この事務的な負担は、有資格者を見過ごす表面的な選考を強いる一方で、真の実力との適合性ではなく、書式やキーワード密度に基づいて候補者を優先させる結果をもたらします。
本稿では、Amazon Bedrock を活用して AI 搭載の採用アシスタントを構築する方法を示します。これにより、候補者評価の効率化、パーソナライズされた面接質問の生成、そして人的な採用判断のためのデータ駆動型の洞察が提供されます。本稿で紹介するアーキテクチャは学習目的のための参考例であり、実運用向けのソリューションではありません。Amazon Bedrock およびここで使用される AWS サービスは汎用的なツールであり、顧客はこれらを組み合わせて、採用ワークフローを含む多様なユースケースをサポートすることができます。このアーキテクチャは一つの可能なアプローチを示すものであり、顧客は自社の特定の要件に合わせて適応させる必要があります。
履歴書の解析、候補者のスコアリング、スキル評価、面接質問の生成といった専門的な AI 機能をデプロイする方法を学びます。これらは Amazon Bedrock Guardrails によって、個人識別情報(PII)の匿名化、プロンプト攻撃の検出、バイアス関連コンテンツのフィルタリングを提供し、すべてが調整されたサーバーレスアーキテクチャを通じて連携して動作します。本ソリューションは、Amazon Bedrock Converse API を Amazon Nova Pro とともに使用し、処理には AWS Lambda、ルーティングには Amazon API Gateway、データ保存には Amazon DynamoDB および Amazon Simple Storage Service (Amazon S3) を利用し、責任ある AI 評価には Amazon Bedrock Guardrails を活用します。
ソリューション概要
AI 候補者スクリーニングアシスタントは、Amazon Bedrock で利用可能なファウンデーションモデル(FMs)を活用して、候補者の評価支援、面接準備の効率化、採用判断のためのデータ駆動型インサイトの提供を行います。本ソリューションでは、包括的な分析を通じて履歴書を処理し、多次元の適合度スコアを算出し、職務要件と候補者プロファイルに基づいて個別化された面接質問を生成します。
認証およびフロントエンド層は、Web アプリケーションのホスティングに AWS Amplify を、ユーザー認証には Amazon Cognito を使用しています。Amazon Cognito は、ユーザー登録やサインインを処理し、API Gateway の Cognito 認可者がすべての API リクエスト時に検証する JWT トークンを提供します。
バックエンド層は、リクエストを特定の AWS Lambda 関数にルーティングするために Amazon API Gateway を使用しており、各 Lambda 関数は特定のワークフローを担当しています。これらの Lambda 関数は、Amazon Bedrock の Converse API を呼び出して、深い履歴書の分析を行い、適合スコアを計算し、役割固有の面接質問を生成します。
アーキテクチャ図
以下の図は、AI リクルーティングアシスタントのアーキテクチャを示しています。
このアーキテクチャには、以下の主要なセクションが含まれています:
フロントエンド層: AWS Amplify は、レスポンシブな React ベースの Web アプリケーションをホストしており、採用担当者が求人投稿の管理、AI 生成による候補者評価のレビュー、およびパーソナライズされた面接準備資料へのアクセスを行うための直感的なインターフェースを提供します。
セキュリティレイヤー: Amazon Cognito はユーザー登録と認証を管理し、JWT トークンを発行します。このトークンは、API 要求ごとに Amazon API Gateway の Cognito 認可者によって検証されます。AWS Identity and Access Management (IAM) ロールは、ストレージや AI サービスとの連携を行う AWS Lambda 関数に対して最小権限のアクセスを提供します。これらのセキュリティ制御を適切に設定するのは顧客の責任です。
API レイヤー: Amazon API Gateway は、求人管理、AI による候補者マッチング、履歴書アップロード処理、面接質問生成サービスのための RESTful エンドポイントを通じて、クライアントとサーバー間の通信を調整します。
処理レイヤー: 専門的な AWS Lambda 関数が採用ワークフローを処理し、それぞれに適切なタイムアウトおよびメモリ設定が用意されています。
AI 処理レイヤー: Amazon Bedrock の FMs (Foundation Models) は Converse API を使用して分析を行い、深い履歴書分析の実行、多次元適合スコアの算出、役割固有の面接質問の生成、転移可能スキルの特定を行います。Amazon Bedrock Guardrails は、入力内の PII (個人識別情報) の匿名化、履歴書コンテンツからのプロンプトインジェクション試行のブロック、候補者の人口統計情報を参照する応答の拒否によって、各リクエストをフィルタリングします。
以下のコードスニペットは、ソリューションがどのように Amazon Bedrock Guardrails (モデル処理前に入力内の PII を自動的に匿名化) 、証拠に基づくスコアリングを用いた構造化されたプロンプト、バイアス認識型のシステム指示を使用しているかを示しています:
import jsonあなたは熟練した採用アナリストです。候補者を評価する際は、実証されたスキル、経験、資格のみを根拠としてください。候補者の名前、連絡先情報、人口統計データ、または個人的な特徴に基づいた言及や推測は行わないでください。職務に関連する資格にのみ焦点を当ててください。すべての主張に対して、具体的な履歴書の記述を証拠として引用してください。
以下の候補者の履歴書を職務要件と比較して分析し、構造化された JSON 形式の回答を返してください。
{job_description}
{resume_content}
以下の JSON 形式で分析結果を提供してください:
{
"compatibilityScore": 0-100,
"scoreJustification": "履歴書の引用に基づく根拠のある推論",
"technicalSkills": {
"matched": [{"skill": "X", "evidence": "履歴書の引用"}],
"missing": ["スキル3"],
"transferable": [{"skill": "Y", "evidence": "履歴書の引用"}]
},
"experienceAnalysis": {
"relevantYears": 0,
"industryAlignment": "high|medium|low",
"keyAccomplishments": ["証拠付きの主要な成果"]
},
"strengths": ["具体的な履歴書の証拠を伴う強み"],
"concerns": ["文脈を伴う懸念点"],
"interviewQuestions": [
{
"question": "焦点を絞った質問テキスト",
"purpose": "この質問が評価する内容",
"lookFor": "理想的な回答の指標"
}
],
"overallRecommendation": "strong_match|good_match|partial_match|weak_match"
}
必ず JSON 形式で返してください。translation フィールドのみを使用してください。他のフィールド(technical_terms など)は一切追加しないでください — 余計なフィールドを記述しようとして本文の翻訳がトークン上限で打ち切られる事故を防ぐため:
{"translation": "翻訳全文"}
response = bedrock_client.converse(
modelId=model_id,
system=[{"text": SYSTEM_PROMPT}],
messages=[{
"role": "user",
"content": [{"text": ANALYSIS_PROMPT.format(
job_description=job_description,
resume_content=resume_content
)}]
}],
inferenceConfig={
"maxTokens": 4096,
"temperature": 0.2,
"topP": 0.9
},
guardrailConfig={
"guardrailIdentifier": guardrail_id,
"guardrailVersion": guardrail_version,
"trace": "enabled"
}
)
Validate informational output for recruiter; not a hiring recommendation
try:
analysis = json.loads(
response["output"]["message"]["content"][0]["text"]
)
except json.JSONDecodeError:
analysis = {"error": "Model returned invalid JSON"}
*Note: We use a low temperature (0.2) to produce consistent, reproducible candidate evaluations. When Guardrails intervenes (for example, blocking a prompt injection embedded in a resume), the response includes a GUARDRAIL_INTERVENED action—implement error handling to log these events and return a safe fallback response to the recruiter.*
Data Layer: Amazon DynamoDB stores structured job postings and analysis results. Amazon S3 provides storage for candidate resumes with server-side encryption (AES-256), Block Public Access, and HTTPS-only bucket policies.
The following steps describe the request flow when a recruiter analyzes candidates:
- リクルーターは AWS Amplify でホストされた Web アプリケーションを開き、Amazon Cognito を通じて認証を行います。
- リクルーターは、役職要件、必要なスキル、経験レベルを含む求人票を作成します。
- リクルーターは、その求人票に対して候補者の履歴書(PDF、DOCX、または TXT 形式)をアップロードします。
- フロントエンドが Amazon API Gateway の /matches エンドポイントへ POST リクエストを送信します。
- API Gateway の Cognito オーザライザーが、リクエストヘッダー内の JWT トークンを検証します。
- API Gateway は認証されたリクエストを AI 採用 Lambda 関数にルーティングします。
- Lambda 関数は Amazon DynamoDB から求人票を取得し、Amazon S3 から候補者の履歴書を取得します。その後、この関数は求人要件と履歴書のコンテンツを用いて Amazon Bedrock の Converse API を呼び出します。
- Amazon Bedrock は各候補者を分析し、適合度スコアを計算し、強みと懸念点を特定し、個別化された面接質問を生成します。
- 結果は Amazon DynamoDB に保存され、Web インターフェースを通じてリクルーターに返されます。
Key capabilities
インテリジェントな履歴書分析
本ソリューションは履歴書を処理し、単なるキーワードマッチングに頼るのではなく、スキルの深さと経験の関連性を分析します。履歴書のテキストからの具体的な根拠に基づいて求人要件に対する適合度スコアを計算し、手動スクリーニングでは見落とされやすい転用可能なスキルも特定します。
高度な候補者マッチング**** システムは、自然言語処理(NLP)を用いて候補者のプロフィールと職務記述書を比較し、引用された履歴書の根拠に基づいたパーセンテージベースの適合スコアを提供します。候補者の強みと懸念点を強調しつつ、採用担当者が効率的にレビューできるよう互換性に基づいて候補者をランク付けします。
パーソナライズされた面接準備**** 本ソリューションは、特定の職務役割や候補者の背景に基づき、評価フレームワークと採点基準を生成する個別化された面接質問を作成します。会話のきっかけやフォローアップの提案を含む詳細な面接ガイドを出力します。
ワークフロー自動化**** システムは反復的な事務作業をサポートし、一括処理機能を提供します。既存システムとの統合は RESTful API を通じて行われ、利用状況の分析機能も備えています。
前提条件
開始前に、以下の事項を確認してください:
- Amazon Bedrock、AWS Identity and Access Management (IAM)、AWS CloudFormation、Amazon API Gateway、Amazon Cognito、Amazon DynamoDB、Amazon S3、AWS Lambda、および AWS Amplify に対して適切な権限が付与された AWS アカウント。
- デプロイ先の AWS リージョンにおける Amazon Nova Pro のための Amazon Bedrock モデルアクセス権。ご自身の選択により、他のサポート対象モデルを使用することも可能です。現在のモデル利用状況については、「AWS リージョン別のモデルサポート」をご参照ください。
- 適切な認証情報で設定された AWS Command Line Interface (AWS CLI) v2.0 以降がインストールされていること。
- Python 3.10 以降がインストールされていること。
- ターミナルまたはコマンドプロンプトへのアクセス権限。
コスト見積もり:**100 人の候補者でテストを行う場合、月額総費用は約 1〜2 ドルです。Amazon Bedrock (Nova Pro は入力/出力トークン 100 万あたり $0.80/$3.20) 料金 は、100 件の分析で 1 ドル未満となります。Amazon Bedrock Guardrails は候補者 1 人あたり約 0.01 ドルを追加します。本記事で言及されている他のサービスは、テスト規模であれば AWS の無料利用枠内に収まります。詳細な見積もりについては、AWS プライシング計算機 をご利用ください。
重要:AWS リージョンの一貫性を確認してくださいaws configure で設定したデフォルトのリージョン、Amazon Bedrock モデルアクセスを有効化したリージョン、およびデプロイ中に作成されたすべてのリソースが、すべて同じ AWS リージョンを使用していることを必ず確認してください。
ソリューションのデプロイ
バックエンドインフラストラクチャをデプロイします。このソリューションで使用される AWS リソースに対して課金が発生します。
コンソールは、スタックパラメータにテンプレート URL が事前に入力された状態で AWS CloudFormation へリダイレクトされます。
- スタック名には、デプロイメントの名前を入力してください(デフォルト:AIRecruiterAssistantBlogSetup)。
- BedrockModelId では、使用する Amazon Bedrock モデルを選択してください(デフォルト:Amazon Nova Pro)。
- スタック構成を確認します。
- [Create stack] を選択します。
- デプロイが成功した後、CloudFormation スタックの [Outputs] タブから以下の値をメモしてください:
- ApiGatewayUrl
- CognitoUserPoolId
- CognitoClientId
- AWSRegion
- AmplifyAppUrl
- AmplifyConsoleUrl
フロントエンドアプリケーションのデプロイ
- AIRecruitingAssistantFrontEndAmplifyDeployment.zip ファイルをダウンロードします。
- CloudFormation の出力にある AmplifyConsoleUrl へ移動します。
- ai-recruitment-system-frontend アプリを選択します。
- [Deploy updates] を選択します。
- メソッドには、[Drag and drop](ドラッグ&ドロップ)を選択します。
- アップロードする .zip ファイルを選択します。
- [Save and deploy] を選択します。
ソリューションのテスト
インフラストラクチャがデプロイされ、フロントエンドアプリケーションが稼働している状態で、Web インターフェースを通じて AI リクルーティングアシスタントのコア機能をテストできます。
手順 1:アプリケーション設定の設定
[System Configuration] ページに移動し、CloudFormation スタックの出力から取得した値を入力します。
- API Gateway URL: ApiGatewayUrl を入力してください
- Amazon Cognito User Pool ID: CognitoUserPoolId を入力してください
- Amazon Cognito Client ID: CognitoClientId を入力してください
- AWS Region: AWS リージョンを入力してください
ステップ 2:ユーザー登録とサインイン
- ログインページで「SIGN UP」を選択します。
- お名前、メールアドレス、安全なパスワードを入力します。
- 「Create Account」を選択します。
- メールに送信されたワンタイム認証コードを入力します。
- 「Verify Email」を選択します。
- 検証が成功したら、メールとパスワードを使用してサインインしてください。
ステップ 3:求人票の作成
- AI リクルーティングアシスタントのダッシュボードに移動し、新しい求人票を作成します。
原文を表示
According to a people management survey of 748 HR leaders, recruiters spend an average of 17.7 hours per vacancy on administrative work. That’s more than two working days per hire. A separate 2024 SmartRecruiters survey found that 45% of talent acquisition leaders spend more than half their working hours on tasks that could be automated. This administrative burden forces superficial screening that overlooks qualified candidates while advancing matches based on formatting and keyword density rather than genuine competency alignment.
In this post, we demonstrate how to build an AI-powered recruitment assistant using Amazon Bedrock that brings efficiencies to candidate evaluation, generates personalized interview questions, and provides data-driven insights for human hiring decisions. This post presents a reference architecture for learning purposes — not a production-ready solution. Amazon Bedrock and the AWS services used here are general-purpose tools that customers can combine to support a wide variety of use cases, including recruitment workflows. The architecture demonstrates one possible approach; customers should adapt it to their specific requirements.
You learn to deploy specialized AI capabilities for resume parsing, candidate scoring, skill assessment, and interview question generation—with Amazon Bedrock Guardrails providing PII anonymization, prompt attack detection, and bias-related content filtering—all working together through a coordinated serverless architecture. The solution uses the Amazon Bedrock Converse API with Amazon Nova Pro, AWS Lambda for processing, Amazon API Gateway for routing, Amazon DynamoDB and Amazon Simple Storage Service (Amazon S3) for data storage, and Amazon Bedrock Guardrails for responsible AI evaluation.
Solution overview
The AI candidate screening assistant uses foundation models (FMs) available in Amazon Bedrock to help with candidate evaluation, streamline interview preparation, and provide data-driven insights for hiring decisions. The solution processes resumes with comprehensive analysis, calculates multi-dimensional compatibility scores, and generates personalized interview questions based on job requirements and candidate profiles.
The authentication and frontend layer uses AWS Amplify to host the web application and Amazon Cognito for user authentication. Amazon Cognito handles user registration, sign in, and provides JWT tokens that are validated by the Amazon API Gateway Cognito Authorizer on every API request.
The backend layer uses Amazon API Gateway to route requests to specialized AWS Lambda functions, with each Lambda function handling a specific workflow. The Lambda functions call the Amazon Bedrock Converse API to perform deep resume analysis, calculate compatibility scores, and generate role-specific interview questions.
Architecture diagram
The following diagram illustrates the architecture of the AI Recruiting Assistant.
The architecture contains the following key sections:
Frontend Layer: AWS Amplify hosts a responsive React-based web application that provides recruiters with an intuitive interface for managing job postings, reviewing AI-generated candidate assessments, and accessing personalized interview preparation materials.
Security Layer: Amazon Cognito manages user registration and authentication, providing JWT tokens that are validated by the Amazon API Gateway Cognito authorizer on every API request. AWS Identity and Access Management (IAM) roles provide least-privilege access for AWS Lambda functions to interact with storage and AI services. Customers are responsible for properly configuring these security controls.
API Layer: Amazon API Gateway orchestrates client-server communications through RESTful endpoints for job management, AI-powered candidate matching, resume upload processing, and interview question generation services.
Processing Layer: Specialized AWS Lambda functions handle recruitment workflows, each designed with appropriate timeout and memory configurations.
AI Processing Layer: Amazon Bedrock FMs perform analysis using the Converse API to conduct deep resume analysis, calculate multi-dimensional compatibility scores, generate role-specific interview questions, and identify transferable skills. Amazon Bedrock Guardrails filter each request by anonymizing PII in the input, blocking prompt injection attempts from resume content, and denying responses that reference candidate demographics.
The following code snippet shows how the solution uses Amazon Bedrock Guardrails (which automatically anonymize PII in the input before the model processes it), structured prompting with evidence-based scoring, and bias-aware system instructions:
import json
SYSTEM_PROMPT = """You are an expert recruitment analyst. Evaluate
candidates based exclusively on demonstrated skills, experience,
and qualifications. Do not reference or make assumptions based on
candidate names, contact details, demographics, or personal
characteristics. Focus only on job-relevant qualifications.
For every claim, cite the specific resume text as evidence."""
ANALYSIS_PROMPT = """Analyze the following candidate resume against
the job requirements. Return a structured JSON response.
{job_description}
{resume_content}
Provide your analysis in the following JSON format:
{{
"compatibilityScore": 0-100,
"scoreJustification": "Evidence-based reasoning with resume quotes",
"technicalSkills": {{
"matched": [{{"skill": "X", "evidence": "resume quote"}}],
"missing": ["skill3"],
"transferable": [{{"skill": "Y", "evidence": "resume quote"}}]
}},
"experienceAnalysis": {{
"relevantYears": 0,
"industryAlignment": "high|medium|low",
"keyAccomplishments": ["accomplishment with evidence"]
}},
"strengths": ["strength with specific resume evidence"],
"concerns": ["concern with context"],
"interviewQuestions": [
{{
"question": "Targeted question text",
"purpose": "What this question evaluates",
"lookFor": "Ideal response indicators"
}}
],
"overallRecommendation": "strong_match|good_match|partial_match|weak_match"
}}"""
response = bedrock_client.converse(
modelId=model_id,
system=[{"text": SYSTEM_PROMPT}],
messages=[{
"role": "user",
"content": [{"text": ANALYSIS_PROMPT.format(
job_description=job_description,
resume_content=resume_content
)}]
}],
inferenceConfig={
"maxTokens": 4096,
"temperature": 0.2,
"topP": 0.9
},
guardrailConfig={
"guardrailIdentifier": guardrail_id,
"guardrailVersion": guardrail_version,
"trace": "enabled"
}
)
# Validate informational output for recruiter; not a hiring recommendation
try:
analysis = json.loads(
response["output"]["message"]["content"][0]["text"]
)
except json.JSONDecodeError:
analysis = {"error": "Model returned invalid JSON"}*Note: We use a low temperature (0.2) to produce consistent, reproducible candidate evaluations. When Guardrails intervenes (for example, blocking a prompt injection embedded in a resume), the response includes a GUARDRAIL_INTERVENED action—implement error handling to log these events and return a safe fallback response to the recruiter.*
Data Layer: Amazon DynamoDB stores structured job postings and analysis results. Amazon S3 provides storage for candidate resumes with server-side encryption (AES-256), Block Public Access, and HTTPS-only bucket policies.
The following steps describe the request flow when a recruiter analyzes candidates:
- The recruiter opens the AWS Amplify-hosted web application and authenticates through Amazon Cognito.
- The recruiter creates a job posting with role requirements, required skills, and experience level.
- The recruiter uploads candidate resumes (PDF, DOCX, or TXT format) for the job posting.
- The frontend sends a POST request to the Amazon API Gateway /matches endpoint.
- The API Gateway Cognito authorizer validates the JWT token from the request header.
- API Gateway routes the authenticated request to the AI recruitment Lambda function.
- The Lambda function retrieves the job posting from Amazon DynamoDB and candidate resumes from Amazon S3. The function calls the Amazon Bedrock Converse API with the job requirements and resume content.
- Amazon Bedrock analyzes each candidate, calculating compatibility scores, identifying strengths and concerns, and generating personalized interview questions.
- The results are stored in Amazon DynamoDB and returned to the recruiter in the web interface.
Key capabilities
Intelligent resume analysis** The solution processes resumes, then analyzes them for skill depth and experience relevance rather than relying on keyword matching alone. It calculates compatibility scores against job requirements with specific evidence from the resume text, and identifies transferable skills that manual screening often misses.
Advanced candidate matching**** The system compares candidate profiles against job descriptions using natural language processing (NLP) and provides percentage-based match scores with quoted resume evidence. It highlights candidate strengths and concerns while ranking candidates by compatibility for efficient recruiter review.
Personalized interview preparation**** The solution creates tailored interview questions based on specific job roles and candidate backgrounds, generating assessment frameworks with scoring rubrics. It produces detailed interview guides with conversation starters and follow-up suggestions.
Workflow automation**** The system assists with repetitive administrative tasks and supports bulk actions. It integrates with existing systems through RESTful APIs and provides usage analytics.
Prerequisites
Before you begin, verify that you have:
- An AWS account with appropriate permissions for Amazon Bedrock, AWS Identity and Access Management (IAM), AWS CloudFormation, Amazon API Gateway, Amazon Cognito, Amazon DynamoDB, Amazon S3, AWS Lambda, and AWS Amplify.
- Amazon Bedrock model access for Amazon Nova Pro in your deployment AWS Region. You can use a different supported model of your choice. For current model availability, see Model support by AWS Region.
- The AWS Command Line Interface (AWS CLI) v2.0 or later installed and configured with appropriate credentials.
- Python 3.10 or newer installed.
- Terminal or command prompt access.
Cost estimate:** For testing with 100 candidates, the total cost is approximately $1–2 per month. Amazon Bedrock (Nova Pro at $0.80/$3.20 per million input/output tokens) costs under $1 for 100 analyses. Amazon Bedrock Guardrails adds approximately $0.01 per candidate. Other services mentioned in this post fall within the AWS Free Tier for testing volumes. For detailed estimates, use the AWS Pricing Calculator.
Important: Verify AWS Region consistency** Verify that the following are all configured to use the same AWS Region: your aws configure default Region, the Region where you have enabled Amazon Bedrock model access, and all resources created during deployment.
Deploy the solution
Deploy the backend infrastructure**. You will incur costs for the AWS resources used in this solution.
The console redirects you to AWS CloudFormation with the template URL prepopulated in the stack parameters.
- For Stack name, enter a name for your deployment (default: AIRecruiterAssistantBlogSetup).
- For BedrockModelId, choose the Amazon Bedrock model to use (default: Amazon Nova Pro).
- Review the stack configuration.
- Choose Create stack.
- After successful deployment, note the following values from the CloudFormation stack’s Outputs tab:
- ApiGatewayUrl
- CognitoUserPoolId
- CognitoClientId
- AWSRegion
- AmplifyAppUrl
- AmplifyConsoleUrl
Deploy the frontend application
- Download the AIRecruitingAssistantFrontEndAmplifyDeployment.zip file.
- Navigate to AmplifyConsoleUrl under CloudFormation Outputs.
- Choose the ai-recruitment-system-frontend app.
- Choose Deploy updates.
- For Method, choose Drag and drop.
- Choose the .zip file to upload.
- Choose Save and deploy.
Testing the solution
After the infrastructure is deployed and the frontend application is running, you can test the AI Recruiting Assistant’s core functionality through the web interface.
Step 1: Configure application settings
Navigate to the System Configuration page and enter the values from your CloudFormation stack outputs:
- API Gateway URL: Enter the ApiGatewayUrl
- Amazon Cognito User Pool ID: Enter the CognitoUserPoolId
- Amazon Cognito Client ID: Enter the CognitoClientId
- AWS Region: Enter the AWS Region
Step 2: User registration and sign in
- Choose SIGN UP on the login page.
- Enter your name, email, and a secure password.
- Choose Create Account.
- Enter the one-time verification code sent to your email.
- Choose Verify Email.
- After successful verification, sign in using your email and password.
Step 3: Create a job posting
- Navigate to the AI Recruiting Assistant dashboard and create a new job posting.
<a href="https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2026/04/24/
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み