GS2-Deploy
사용자나 크리덴셜(인증 정보)의 추가는 GS2-Identifier의 관리 화면에서 수행할 수 있지만, GS2-Deploy를 이용하면 더 간단합니다.
GS2-Deploy는 지속적 딜리버리 실현을 목적으로 한 서비스입니다. YAML 형식으로 작성된 코드를 사용하여 리소스의 자동 구축을 수행할 수 있습니다.
예를 들어, 사용자를 신규로 추가하는 템플릿을 사용하여 스택을 생성하면, 자동으로 신규 사용자를 GS2-Identifier에 추가할 수 있습니다.
스택에 대해서 GS2-Deploy는 템플릿(GS2 내 리소스를 어떻게 조작하고 구축할지에 대한 절차가 작성된 것)을 바탕으로, 실제로 각 서비스의 리소스를 조작합니다. 이 템플릿으로 구축한 리소스를 집약한 것을 스택이라고 합니다.

스택에 대해 내용을 변경한 템플릿을 다시 적용하면, 갱신 처리가 실행됩니다. 변경의 차이를 검출하여, 새로 생성이 필요해진 리소스는 신규 생성, 갱신이 필요한 리소스는 갱신, 삭제가 필요한 리소스는 자동으로 삭제를, 각 리소스에 대해 수행합니다. 이 구조 덕분에 개발자는 필요 없어진 리소스를 삭제하는 등의 작업을 할 필요가 없어지고, 원하는 리소스의 상태를 템플릿에 작성하는 것만으로 자동으로 구축할 수 있게 됩니다.
그럼 실제로 템플릿을 사용하여 스택을 생성해 봅시다.
GS2TemplateFormatVersion: "2019-05-01"
Description: GS2 SDK identifier template Version 2019-07-10
Globals:
Alias:
ApplicationUserName: application
Resources:
IdentifierApplicationUser:
Type: GS2::Identifier::User
Properties:
Name: ${ApplicationUserName}
IdentifierApplicationUserAttachPolicy:
Type: GS2::Identifier::AttachSecurityPolicy
Properties:
UserName: ${ApplicationUserName}
SecurityPolicyId: grn:gs2::system:identifier:securityPolicy:ApplicationAccess
DependsOn:
- IdentifierApplicationUser
IdentifierApplicationIdentifier:
Type: GS2::Identifier::Identifier
Properties:
UserName: ${ApplicationUserName}
DependsOn:
- IdentifierApplicationUser
Outputs:
ApplicationClientId: !GetAttr IdentifierApplicationIdentifier.Item.ClientId
ApplicationClientSecret: !GetAttr IdentifierApplicationIdentifier.ClientSecret예시로 제시한 것은 ApplicationAccess 권한을 설정한 사용자를 생성하는 템플릿의 샘플입니다. ApplicationUserName: application 부분을 변경하면, GS2-Identifier에 생성되는 사용자 이름을 변경할 수 있습니다.
이 템플릿 파일을 저장합니다. 이어서 매니지먼트 콘솔의 사이드 메뉴에서 Deploy > Stacks를 선택합니다.

스택 신규 생성에서 템플릿 데이터를 지정하여 스택을 생성합니다.


생성한 스택에 등록된 설정의 반영 상태는 스택의 실행 상태 항목에서 확인할 수 있습니다.

몇 초 후 CREATE_COMPLETE가 되고, 크리덴셜 설정이 완료됩니다.

반영 완료 후 아웃풋 탭을 선택하면, 크리덴셜의 클라이언트ID와 클라이언트 시크릿이 표시됩니다. 이 값은 나중에 게임 앱 측에 설정합니다.
