이 문서는 Fate 애플리케이션의 초기 설정 및 AWS 인프라 구성을 설명합니다.
- AWS 계정이 있어야 합니다
- AWS CLI가 설치되어 있어야 합니다
- IAM 사용자가 생성되어 있어야 합니다
# AWS CLI 설치 확인
aws --version
# AWS 자격 증명 설정
aws configure
# 입력 항목:
# - AWS Access Key ID: IAM 사용자의 Access Key ID
# - AWS Secret Access Key: IAM 사용자의 Secret Access Key
# - Default region name: ap-northeast-1
# - Default output format: json# macOS (Homebrew)
brew install aws-sam-cli
# 또는 pip 사용
pip install aws-sam-cli
# 설치 확인
sam --versionNode.js 18 이상이 필요합니다:
# 버전 확인
node --version
# npm 확인
npm --version- AWS 콘솔 > IAM > 사용자
- 사용자 만들기 클릭
- 사용자 이름 입력 (예:
fate-deploy-user) - 다음 클릭
옵션 1: PowerUserAccess (권장, 테스트용)
- 기존 정책 직접 연결 선택
PowerUserAccess검색 및 선택- 다음 클릭
옵션 2: 최소 권한 (프로덕션용)
다음 권한을 가진 정책 생성:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cloudformation:*",
"s3:*",
"lambda:*",
"apigateway:*",
"iam:CreateRole",
"iam:DeleteRole",
"iam:AttachRolePolicy",
"iam:DetachRolePolicy",
"iam:PutRolePolicy",
"iam:GetRole",
"iam:PassRole",
"cloudfront:*",
"logs:*",
"dynamodb:*",
"cognito-idp:*"
],
"Resource": "*"
}
]
}- 생성한 IAM 사용자 선택
- 보안 자격 증명 탭 클릭
- 액세스 키 만들기 클릭
- Command Line Interface (CLI) 선택
- 다음 클릭
- Access Key ID와 Secret Access Key를 즉시 복사 (다시 볼 수 없음)
aws configure생성한 Access Key ID와 Secret Access Key를 입력하세요.
AWS 콘솔 > SES > 이메일 주소
- 이메일 주소 생성 클릭
- 이메일 주소 입력 (예:
doyoung@minami-hd.co.jp) - 이메일 주소 생성 클릭
- 등록한 이메일 주소로 인증 이메일 확인
- 이메일의 인증 링크 클릭
참고: Sandbox 모드에서는 인증된 이메일 주소로만 이메일을 보낼 수 있습니다.
프로덕션 환경에서 모든 이메일 주소로 보내려면:
- SES 콘솔 > 계정 대시보드
- 프로덕션 액세스 요청 클릭
- 사용 사례 작성 후 제출
https://platform.openai.com/api-keys
- Create new secret key 클릭
- 키 이름 입력 (선택사항)
- 생성된 API 키 복사 (한 번만 표시되므로 즉시 복사)
중요: API 키는 안전하게 보관하세요. GitHub Secrets에 OPENAI_API_KEY로 저장하거나 환경 변수로 관리하세요.
SAM 배포 시 Lambda 함수 코드를 업로드할 S3 버킷이 필요합니다:
aws s3 mb s3://sam-deploy-bucket-tokyo --region ap-northeast-1참고: 버킷 이름은 전역적으로 고유해야 합니다. 원하는 이름으로 변경 가능합니다.
프로젝트 루트에 .env 파일 생성:
# AWS Cognito 설정 (배포 후 설정)
VITE_COGNITO_USER_POOL_ID=ap-northeast-1_xxxxxxxxx
VITE_COGNITO_USER_POOL_CLIENT_ID=xxxxxxxxxxxxxxxxxxxxxxxxxx
VITE_AWS_REGION=ap-northeast-1
# API Gateway URL (배포 후 설정)
VITE_API_URL=https://your-api-id.execute-api.ap-northeast-1.amazonaws.com/dev중요: .env 파일은 .gitignore에 포함되어 있어 Git에 커밋되지 않습니다.
GitHub 저장소의 Settings > Secrets and variables > Actions에서 설정:
필수 Secrets:
AWS_ACCESS_KEY_ID- IAM 사용자의 Access Key IDAWS_SECRET_ACCESS_KEY- IAM 사용자의 Secret Access KeyOPENAI_API_KEY- OpenAI API 키FROM_EMAIL_ADDRESS- SES 인증된 이메일 주소
배포 후 추가할 Secrets:
VITE_COGNITO_USER_POOL_ID- Backend 배포 후 CloudFormation Outputs에서 확인VITE_COGNITO_USER_POOL_CLIENT_ID- Backend 배포 후 CloudFormation Outputs에서 확인
aws sts get-caller-identity성공적으로 실행되면 현재 AWS 계정 정보가 표시됩니다.
sam --versionnode --version
npm --versionnpm install모든 설정이 완료되면 첫 배포를 진행하세요:
cd aws/cloudformation
sam build
sam deploy --parameter-overrides \
Environment=dev \
FromEmailAddress=your-email@example.com \
OpenAIApiKey=your-openai-api-key \
--region ap-northeast-1배포 완료 후 CloudFormation Outputs에서 필요한 정보를 확인하고 .env 파일을 업데이트하세요.
자세한 배포 방법은 DEPLOYMENT.md를 참조하세요.
# 자격 증명 파일 확인
cat ~/.aws/credentials
# 설정 파일 확인
cat ~/.aws/config
# 자격 증명 재설정
aws configure- 이메일의 스팸 폴더 확인
- SES 콘솔에서 이메일 주소 상태 확인
- 인증 링크 만료 확인 (24시간 내)
# 버킷 존재 확인
aws s3 ls | grep sam-deploy
# 버킷 생성
aws s3 mb s3://sam-deploy-bucket-tokyo --region ap-northeast-1
# 버킷 버전 관리 활성화 (선택사항)
aws s3api put-bucket-versioning \
--bucket sam-deploy-bucket-tokyo \
--versioning-configuration Status=Enabled