파이썬 Zappa를 사용하여 AWS Cognito를 통한 사용자 인증 서비스 구축하기
AWS Cognito 설정하기
- AWS Management Console로 이동하여 Cognito 서비스로 들어갑니다.
- 새로운 사용자 풀을 만들기 위해 “사용자 풀”을 클릭합니다.
- “사용자 풀 만들기”를 선택하고 필요한 정보를 입력한 후 “만들기”를 클릭합니다.
- 사용자 풀이 성공적으로 생성되었다면 “앱 클라이언트” 설정으로 이동합니다.
- “앱 클라이언트 추가하기”를 선택하고 필요한 정보를 입력한 후 “추가하기”를 클릭합니다.
- 생성된 앱 클라이언트의 “앱 클라이언트 ID”와 “클라이언트 시크릿” 정보를 따로 메모해 둡니다.
Zappa 프로젝트 설정하기
- 가상 환경을 만들고 필요한 패키지를 설치합니다.
python -m venv zappa-env source zappa-env/bin/activate pip install zappa boto3 awscli
- Zappa 프로젝트 폴더를 생성하고 가상 환경에 진입합니다.
mkdir zappa-project cd zappa-project
- 초기 Zappa 설정을 위해 zappa.json 파일을 생성하고 아래의 내용을 입력합니다.
{ "dev": { "aws_region": "ap-northeast-1", "django_settings": "your_django_project.settings", "profile_name": "your_aws_profile", "project_name": "your_project_name", "runtime": "python3.8", "s3_bucket": "your_s3_bucket_name", "timeout_seconds": 300, "environment_variables": { "AWS_REGION": "ap-northeast-1", "AWS_ACCESS_KEY_ID": "your_aws_access_key_id", "AWS_SECRET_ACCESS_KEY": "your_aws_secret_access_key", "COGNITO_USER_POOL_ID": "your_cognito_user_pool_id", "COGNITO_APP_CLIENT_ID": "your_cognito_app_client_id", "COGNITO_APP_CLIENT_SECRET": "your_cognito_app_client_secret" } } }
- zappa_settings.py 파일을 생성하고 아래의 내용을 입력합니다. ```python from your_django_project.settings import SECRET_KEY
SECRET_KEY = SECRET_KEY # your Django SECRET_KEY
AWS 설정
AWS_ACCESS_KEY_ID = “your_aws_access_key_id” AWS_SECRET_ACCESS_KEY = “your_aws_secret_access_key” AWS_STORAGE_BUCKET_NAME = “your_s3_bucket_name”
Cognito 설정
COGNITO_USER_POOL_ID = “your_cognito_user_pool_id” COGNITO_APP_CLIENT_ID = “your_cognito_app_client_id” COGNITO_APP_CLIENT_SECRET = “your_cognito_app_client_secret”
5. Zappa를 사용하여 프로젝트를 배포합니다.
```python
zappa deploy dev
이제 Zappa를 사용하여 AWS Cognito를 통한 사용자 인증 서비스를 구축할 준비가 되었습니다. 위의 단계를 따라 진행하면 서버리스 애플리케이션을 빠르고 쉽게 배포할 수 있습니다. 해시태그: #파이썬 #AWS #Zappa #Cognito #사용자인증