반응형
AWS Gamelift - build upload script (powershell)
배포할 때 windows 환경에서 build upload를 위한 powershell 스크립트입니다.
foreach($rg in $REGION) {
replace_config ${CFG} ${rg}
echo " - Gamelift Build upload Region : ${rg}"
aws gamelift upload-build --name "${DEPLOY_ENV}_${SERVER_NM}" --build-version "${ENVCD}_${global:VERSION}" --build-root "${SRC}" --region "${rg}"
$BuildId = (aws gamelift list-builds --region "${rg}" --query "Builds[?Version == '${ENVCD}_${global:VERSION}']" | jq -r ".[].BuildId")
echo " - Gamelift create fleet to BuildId : ${BuildId}"
$runconf="ServerProcesses=[{LaunchPath=C:\game\${global:VERSION}\game.exe, ConcurrentExecutions=10, Parameters=-batchmode -nographics}]"
$fleet=$(aws gamelift create-fleet --name "${DEPLOY_ENV}_${SERVER_NM}_${global:VERSION}" --description "Zone Server" --metric-groups "${ENVCD}" --build-id "$BuildId" --ec2-instance-type "$ec2_type" --fleet-type "$fl_type" --certificate-configuration "$cert_type" --ec2-inbound-permissions "$inbound" --new-game-session-protection-policy "FullProtection" --runtime-configuration "$runconf" --region "${rg}")
echo $fleet
$fleetid=$($fleet | jq -r '."FleetAttributes"."FleetId"')
aws gamelift update-fleet-capacity --fleet-id $fleetid --desired-instances 1 --min-size 1 --max-size 25 --region $rg
aws gamelift put-scaling-policy --fleet-id $fleetid --name "Scale in when AGS>80" --policy-type RuleBased --metric-name PercentAvailableGameSessions --comparison-operator GreaterThanThreshold --threshold 80 --evaluation-periods 5 --scaling-adjustment-type ChangeInCapacity --scaling-adjustment -1 --region $rg
aws gamelift put-scaling-policy --fleet-id $fleetid --name "Scale out when AGS<50" --policy-type RuleBased --metric-name PercentAvailableGameSessions --comparison-operator LessThanThreshold --threshold 50 --evaluation-periods 1 --scaling-adjustment-type ChangeInCapacity --scaling-adjustment 2 --region $rg
#$alias_id=$ALIAS[$count]
$alias_id=$(aws gamelift list-aliases --region "${rg}" --query "Aliases[?Description == 'real zone alias']"| jq -r ".[].AliasId")
echo " - Gamelift Alias update ${alias_id}"
$route_role="Type=SIMPLE,FleetId=${fleetid}"
aws gamelift update-alias --alias-id "$alias_id" --routing-strategy "$route_role" --region "${rg}"
$count+=1
}
by mkdir-chandler
728x90
반응형
'Ops > AWS' 카테고리의 다른 글
AWS Gamelift - instance ssh 접속 방법 (0) | 2023.08.05 |
---|---|
AWS Gamelift - build upload script (bash) (0) | 2023.08.04 |
AWS Gamelift - autoscaling script code (bash) (0) | 2023.07.29 |
AWS Gamelift - 자원 사용량 체크 (ansible + jenkins) (0) | 2023.07.28 |
AWS Gamelift - api 모니터링 (feat cloudtrail) (0) | 2023.07.27 |