여러 AWS 계정에 배포하기

이제 여러분은 몇 개의 AWS 계정을 생성했고 리소스를 파라미터화했습니다. 이제 이를 배포하는 방법을 살펴보겠습니다. 이번 장에서는 다음을 배포할 것입니다:

  1. 리소스 저장소devprod 단계로 나누어 배포됩니다. 이 두 단계는 각각 DevelopmentProduction AWS 계정에 구성되어 있습니다.

  2. 그런 다음 API 저장소도 동일한 방식으로 배포할 것입니다.

AWS 프로필 설정하기

IAM 사용자 설정 챕터를 따라 Development AWS 계정에 IAM 사용자를 생성하세요. 그리고 해당 사용자의 액세스 키 ID시크릿 액세스 키를 메모해 두세요.

다음으로, AWS CLI를 사용해 로컬 머신에 이 자격 증명을 설정하세요:

$ aws configure --profile default

이 명령어는 기본 IAM 자격 증명을 Development 계정의 것으로 설정합니다. 즉, serverless deploy를 실행하면 서비스가 Development 계정에 배포됩니다.

이제 Production 계정에서도 IAM 사용자를 생성하고 자격 증명을 메모해 두세요. 하지만 Production 계정의 IAM 자격 증명은 로컬 머신에 추가하지 않을 것입니다. 이는 로컬 머신에서 절대 Production 환경에 코드를 배포할 수 없도록 하기 위함입니다.

Production 배포는 항상 CI/CD 파이프라인을 통해 이루어져야 합니다.

다음으로, 두 개의 리포지토리를 환경에 배포할 것입니다. 여러분이 따라오면서 워크플로우를 잘 이해할 수 있도록 하기 위함입니다.

그럼 GitHub의 데모 리포지토리 템플릿을 사용해 시작해 보겠습니다.

데모 리포지토리 생성

먼저 리소스 리포지토리를 생성해 보겠습니다. Use this template을 클릭하세요.

데모 리소스 리포지토리 템플릿 사용

리포지토리 이름으로 serverless-stack-demo-ext-resources를 입력하고 Create repository from template을 클릭하세요.

GitHub에서 데모 리소스 리포지토리 생성

그리고 API 서비스 리포지토리도 동일한 방식으로 생성하세요.

데모 API 서비스 리포지토리 템플릿 사용

리포지토리 이름으로 serverless-stack-demo-ext-api를 입력하고 Create repository from template을 클릭하세요.

GitHub에서 데모 API 서비스 리포지토리 생성

이제 이 리포지토리들을 포크했으니, 환경에 배포해 보겠습니다. Seed를 사용할 예정이지만, 나중에 선호하는 CI/CD 도구로 설정할 수도 있습니다.