Following start guide - how to view created resources in AWS console?
andrew89898 opened this issue · 15 comments
Apologies for the newbie question - I am learning about Agones, GameLift FleetIQ and plan to use AWS FlexMatch to create a game service for CSGO (source engine) - I plan to use a webhook autoscaler with AWS and write a wrapper for the game server.
I followed the guide to create a workspace and set up all the aws resources - all good managed to get to the end of the guide and proceed with the scaling up and replicas seeing the nodes - however it didn't ever scale up to 100 nodes stopping at 54 with 1 group and 60 with 2 groups. I'd like to understand more of this adapter and agones but I can't see any of these resources in my AWS account except for the GameLift groups. The EKS cluster does show up but doesn't display any nodes.
This isn't really an issue with the repo - I'd just like to learn more but I can't see any forum or slack channel/similar for this. I'd like to be able to work on the components of the solution architecture and visualise where I need to work on, if you guys can give any recommendations.
Thanks.
@andrew89898 you may not have permission to view the nodes in your EKS cluster from the EKS console. Can you run kubectl get nodes
and add the output from that command to this issue? If you've installed the Kubernetes cluster autoscaler, please include the logs from that pod too, e.g. kubectl logs <podname> -n <namespace>
. I'd also like to know how many instances in the ASG (if any) are in a standby state.
Sure can do:
NAME STATUS ROLES AGE VERSION
ip-192-168-2-176.eu-west-2.compute.internal Ready <none> 3d22h v1.18.9-eks-d1db3c
ip-192-168-23-13.eu-west-2.compute.internal Ready <none> 3d20h v1.18.9-eks-d1db3c
ip-192-168-41-125.eu-west-2.compute.internal Ready <none> 6h20m v1.18.9-eks-d1db3c
ip-192-168-60-223.eu-west-2.compute.internal Ready <none> 3d22h v1.18.9-eks-d1db3c
ec2-user:~/environment $
Logs (lots of lines, got first page):
(command is: kubectl logs cluster-autoscaler-57bdc587bf-v66tp -n kube-system
E0511 17:45:00.878519 1 static_autoscaler.go:268] Failed to get node infos for groups: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
I0511 17:45:04.979515 1 reflector.go:496] k8s.io/autoscaler/cluster-autoscaler/utils/kubernetes/listers.go:246: Watch close - *v1.Node total 7 items received
I0511 17:45:10.878649 1 static_autoscaler.go:226] Starting main loop
E0511 17:45:10.878891 1 utils.go:119] Unable to build proper template node for gamelift-gameservergroup-: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
E0511 17:45:10.878903 1 static_autoscaler.go:268] Failed to get node infos for groups: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
I0511 17:45:20.879035 1 static_autoscaler.go:226] Starting main loop
E0511 17:45:20.879272 1 utils.go:119] Unable to build proper template node for gamelift-gameservergroup-: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
E0511 17:45:20.879284 1 static_autoscaler.go:268] Failed to get node infos for groups: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
I0511 17:45:26.996389 1 node_instances_cache.go:156] Start refreshing cloud provider node instances cache
E0511 17:45:26.996420 1 node_instances_cache.go:164] Failed to get cloud provider node instance for node group gamelift-gameservergroup-, error error while looking for instances of ASG: {gamelift-gameservergroup-}
I0511 17:45:26.996428 1 node_instances_cache.go:168] Refresh cloud provider node instances cache finished, refresh took 18.977µs
I0511 17:45:30.879414 1 static_autoscaler.go:226] Starting main loop
E0511 17:45:30.879661 1 utils.go:119] Unable to build proper template node for gamelift-gameservergroup-: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
E0511 17:45:30.879674 1 static_autoscaler.go:268] Failed to get node infos for groups: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
I0511 17:45:37.179538 1 reflector.go:496] k8s.io/autoscaler/cluster-autoscaler/utils/kubernetes/listers.go:309: Watch close - *v1beta1.PodDisruptionBudget total 0 items received
I0511 17:45:40.879802 1 static_autoscaler.go:226] Starting main loop
E0511 17:45:40.880032 1 utils.go:119] Unable to build proper template node for gamelift-gameservergroup-: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
E0511 17:45:40.880043 1 static_autoscaler.go:268] Failed to get node infos for groups: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
I0511 17:45:50.880186 1 static_autoscaler.go:226] Starting main loop
E0511 17:45:50.880445 1 utils.go:119] Unable to build proper template node for gamelift-gameservergroup-: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
E0511 17:45:50.880458 1 static_autoscaler.go:268] Failed to get node infos for groups: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
I0511 17:46:00.880606 1 static_autoscaler.go:226] Starting main loop
I0511 17:46:00.880659 1 auto_scaling_groups.go:351] Regenerating instance to ASG map for ASGs: [gamelift-gameservergroup- gamelift-gameservergroup-agones-game-server-group-02]
I0511 17:46:00.942462 1 auto_scaling.go:199] 1 launch configurations already in cache
I0511 17:46:00.942486 1 auto_scaling_groups.go:114] Updating ASG gamelift-gameservergroup-agones-game-server-group-02
I0511 17:46:00.942495 1 aws_manager.go:269] Refreshed ASG list, next refresh after 2021-05-11 17:47:00.942492397 +0000 UTC m=+17643.158739587
E0511 17:46:00.942694 1 utils.go:119] Unable to build proper template node for gamelift-gameservergroup-: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
E0511 17:46:00.942705 1 static_autoscaler.go:268] Failed to get node infos for groups: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
I0511 17:46:10.942867 1 static_autoscaler.go:226] Starting main loop
E0511 17:46:10.943115 1 utils.go:119] Unable to build proper template node for gamelift-gameservergroup-: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
E0511 17:46:10.943126 1 static_autoscaler.go:268] Failed to get node infos for groups: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
I0511 17:46:13.683475 1 reflector.go:496] k8s.io/autoscaler/cluster-autoscaler/utils/kubernetes/listers.go:212: Watch close - *v1.Pod total 4 items received
I0511 17:46:20.943283 1 static_autoscaler.go:226] Starting main loop
E0511 17:46:20.943537 1 utils.go:119] Unable to build proper template node for gamelift-gameservergroup-: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
E0511 17:46:20.943548 1 static_autoscaler.go:268] Failed to get node infos for groups: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
I0511 17:46:30.943707 1 static_autoscaler.go:226] Starting main loop
E0511 17:46:30.943952 1 utils.go:119] Unable to build proper template node for gamelift-gameservergroup-: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
E0511 17:46:30.943964 1 static_autoscaler.go:268] Failed to get node infos for groups: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
I0511 17:46:40.944109 1 static_autoscaler.go:226] Starting main loop
E0511 17:46:40.944343 1 utils.go:119] Unable to build proper template node for gamelift-gameservergroup-: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
E0511 17:46:40.944354 1 static_autoscaler.go:268] Failed to get node infos for groups: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
I0511 17:46:44.389064 1 reflector.go:496] k8s.io/autoscaler/cluster-autoscaler/utils/kubernetes/listers.go:320: Watch close - *v1.DaemonSet total 3 items received
I0511 17:46:50.944493 1 static_autoscaler.go:226] Starting main loop
E0511 17:46:50.944732 1 utils.go:119] Unable to build proper template node for gamelift-gameservergroup-: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
E0511 17:46:50.944744 1 static_autoscaler.go:268] Failed to get node infos for groups: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
I0511 17:47:00.944886 1 static_autoscaler.go:226] Starting main loop
I0511 17:47:00.944932 1 auto_scaling_groups.go:351] Regenerating instance to ASG map for ASGs: [gamelift-gameservergroup-agones-game-server-group-02 gamelift-gameservergroup-]
I0511 17:47:01.039568 1 auto_scaling.go:199] 1 launch configurations already in cache
I0511 17:47:01.039592 1 auto_scaling_groups.go:114] Updating ASG gamelift-gameservergroup-agones-game-server-group-02
I0511 17:47:01.039600 1 aws_manager.go:269] Refreshed ASG list, next refresh after 2021-05-11 17:48:01.039597629 +0000 UTC m=+17703.255844816
E0511 17:47:01.039844 1 utils.go:119] Unable to build proper template node for gamelift-gameservergroup-: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
E0511 17:47:01.039856 1 static_autoscaler.go:268] Failed to get node infos for groups: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
I0511 17:47:04.380433 1 reflector.go:496] k8s.io/client-go/informers/factory.go:135: Watch close - *v1.PersistentVolume total 0 items received
I0511 17:47:11.040029 1 static_autoscaler.go:226] Starting main loop
E0511 17:47:11.040299 1 utils.go:119] Unable to build proper template node for gamelift-gameservergroup-: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
E0511 17:47:11.040312 1 static_autoscaler.go:268] Failed to get node infos for groups: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
I0511 17:47:21.040466 1 static_autoscaler.go:226] Starting main loop
E0511 17:47:21.040714 1 utils.go:119] Unable to build proper template node for gamelift-gameservergroup-: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
E0511 17:47:21.040726 1 static_autoscaler.go:268] Failed to get node infos for groups: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
I0511 17:47:26.996557 1 node_instances_cache.go:156] Start refreshing cloud provider node instances cache
E0511 17:47:26.996589 1 node_instances_cache.go:164] Failed to get cloud provider node instance for node group gamelift-gameservergroup-, error error while looking for instances of ASG: {gamelift-gameservergroup-}
I0511 17:47:26.996598 1 node_instances_cache.go:168] Refresh cloud provider node instances cache finished, refresh took 22.646µs
I0511 17:47:31.040886 1 static_autoscaler.go:226] Starting main loop
E0511 17:47:31.041132 1 utils.go:119] Unable to build proper template node for gamelift-gameservergroup-: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
E0511 17:47:31.041144 1 static_autoscaler.go:268] Failed to get node infos for groups: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
I0511 17:47:41.041290 1 static_autoscaler.go:226] Starting main loop
E0511 17:47:41.041529 1 utils.go:119] Unable to build proper template node for gamelift-gameservergroup-: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
E0511 17:47:41.041541 1 static_autoscaler.go:268] Failed to get node infos for groups: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
I0511 17:47:51.041679 1 static_autoscaler.go:226] Starting main loop
E0511 17:47:51.041925 1 utils.go:119] Unable to build proper template node for gamelift-gameservergroup-: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
E0511 17:47:51.041936 1 static_autoscaler.go:268] Failed to get node infos for groups: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
I0511 17:48:01.042324 1 static_autoscaler.go:226] Starting main loop
I0511 17:48:01.042393 1 auto_scaling_groups.go:351] Regenerating instance to ASG map for ASGs: [gamelift-gameservergroup-agones-game-server-group-02 gamelift-gameservergroup-]
I0511 17:48:01.199847 1 auto_scaling.go:199] 1 launch configurations already in cache
I0511 17:48:01.199873 1 auto_scaling_groups.go:114] Updating ASG gamelift-gameservergroup-agones-game-server-group-02
I0511 17:48:01.199883 1 aws_manager.go:269] Refreshed ASG list, next refresh after 2021-05-11 17:49:01.199880066 +0000 UTC m=+17763.416127279
E0511 17:48:01.200090 1 utils.go:119] Unable to build proper template node for gamelift-gameservergroup-: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
E0511 17:48:01.200103 1 static_autoscaler.go:268] Failed to get node infos for groups: unable to get first AvailabilityZone for ASG "gamelift-gameservergroup-"
ec2-user:~/environment $
There may be an issue with how you've configured cluster-autoscaler. Can you run kubectl get pod cluster-autoscaler-57bdc587bf-v66tp -n kube-system
and paste the output here.
You have 2 ASG/Game Server Groups? One is called gamelift-gameservergroup-agones-game-server-group-2
and the other is called gamelift-gameservergroup-
? There are a multitude of things you need to do if you want to use the adapter with multiple game server groups. If you don't do it properly, it may not work.
Yeah I just followed the full guide from the repo - right to the end including creating the second group. Not sure if I even need 2 groups. Those look like the right names not sure how the first group got trimmed to end on a -.
Probably need to fix that somewhere.
ec2-user:~/environment $ kubectl get pod cluster-autoscaler-57bdc587bf-v66tp -n kube-system
NAME READY STATUS RESTARTS AGE
cluster-autoscaler-57bdc587bf-v66tp 1/1 Running 0 5h56m
ec2-user:~/environment $
can you add -o yaml
to the end of that command? I need to see the details. Thanks!
Yeah got it seems to be decent amount of yaml:
ec2-user:~/environment $ kubectl get pod cluster-autoscaler-57bdc587bf-v66tp -n kube-system -o yaml
apiVersion: v1
kind: Pod
metadata:
annotations:
kubernetes.io/psp: eks.privileged
prometheus.io/port: "8085"
prometheus.io/scrape: "true"
creationTimestamp: "2021-05-11T12:52:55Z"
generateName: cluster-autoscaler-57bdc587bf-
labels:
app: cluster-autoscaler
pod-template-hash: 57bdc587bf
managedFields:
- apiVersion: v1
fieldsType: FieldsV1
fieldsV1:
f:metadata:
f:annotations:
.: {}
f:prometheus.io/port: {}
f:prometheus.io/scrape: {}
f:generateName: {}
f:labels:
.: {}
f:app: {}
f:pod-template-hash: {}
f:ownerReferences:
.: {}
k:{"uid":"11ce4443-49b2-482a-a50a-acd33b0c0048"}:
.: {}
f:apiVersion: {}
f:blockOwnerDeletion: {}
f:controller: {}
f:kind: {}
f:name: {}
f:uid: {}
f:spec:
f:containers:
k:{"name":"cluster-autoscaler"}:
.: {}
f:command: {}
f:env:
.: {}
k:{"name":"AWS_REGION"}:
.: {}
f:name: {}
f:value: {}
f:image: {}
f:imagePullPolicy: {}
f:name: {}
f:resources:
.: {}
f:limits:
.: {}
f:cpu: {}
f:memory: {}
f:requests:
.: {}
f:cpu: {}
f:memory: {}
f:terminationMessagePath: {}
f:terminationMessagePolicy: {}
f:volumeMounts:
.: {}
k:{"mountPath":"/etc/ssl/certs/ca-certificates.crt"}:
.: {}
f:mountPath: {}
f:name: {}
f:readOnly: {}
f:dnsPolicy: {}
f:enableServiceLinks: {}
f:restartPolicy: {}
f:schedulerName: {}
f:securityContext: {}
f:serviceAccount: {}
f:serviceAccountName: {}
f:terminationGracePeriodSeconds: {}
f:volumes:
.: {}
k:{"name":"ssl-certs"}:
.: {}
f:hostPath:
.: {}
f:path: {}
f:type: {}
f:name: {}
manager: kube-controller-manager
operation: Update
time: "2021-05-11T12:52:55Z"
- apiVersion: v1
fieldsType: FieldsV1
fieldsV1:
f:status:
f:conditions:
k:{"type":"ContainersReady"}:
.: {}
f:lastProbeTime: {}
f:lastTransitionTime: {}
f:status: {}
f:type: {}
k:{"type":"Initialized"}:
.: {}
f:lastProbeTime: {}
f:lastTransitionTime: {}
f:status: {}
f:type: {}
k:{"type":"Ready"}:
.: {}
f:lastProbeTime: {}
f:lastTransitionTime: {}
f:status: {}
f:type: {}
f:containerStatuses: {}
f:hostIP: {}
f:phase: {}
f:podIP: {}
f:podIPs:
.: {}
k:{"ip":"192.168.35.195"}:
.: {}
f:ip: {}
f:startTime: {}
manager: kubelet
operation: Update
time: "2021-05-11T12:52:58Z"
name: cluster-autoscaler-57bdc587bf-v66tp
namespace: kube-system
ownerReferences:
- apiVersion: apps/v1
blockOwnerDeletion: true
controller: true
kind: ReplicaSet
name: cluster-autoscaler-57bdc587bf
uid: 11ce4443-49b2-482a-a50a-acd33b0c0048
resourceVersion: "1185778"
selfLink: /api/v1/namespaces/kube-system/pods/cluster-autoscaler-57bdc587bf-v66tp
uid: b99d5bfb-e46d-49eb-a986-eb2dfbdb8b65
spec:
containers:
- command:
- ./cluster-autoscaler
- --v=4
- --stderrthreshold=info
- --cloud-provider=aws
- --skip-nodes-with-local-storage=false
- --expander=priority
- --nodes=0:10:gamelift-gameservergroup-
- --nodes=0:10:gamelift-gameservergroup-agones-game-server-group-02
- --balance-similar-node-groups
- --skip-nodes-with-system-pods=false
env:
- name: AWS_REGION
value: eu-west-2
- name: AWS_ROLE_ARN
value: arn:aws:iam::974472462311:role/eksctl-agones-addon-iamserviceaccount-kube-s-Role1-1BU4LZK3QVXRZ
- name: AWS_WEB_IDENTITY_TOKEN_FILE
value: /var/run/secrets/eks.amazonaws.com/serviceaccount/token
image: k8s.gcr.io/autoscaling/cluster-autoscaler:v1.18.3
imagePullPolicy: Always
name: cluster-autoscaler
resources:
limits:
cpu: 100m
memory: 300Mi
requests:
cpu: 100m
memory: 300Mi
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /etc/ssl/certs/ca-certificates.crt
name: ssl-certs
readOnly: true
- mountPath: /var/run/secrets/kubernetes.io/serviceaccount
name: cluster-autoscaler-token-2dvnx
readOnly: true
- mountPath: /var/run/secrets/eks.amazonaws.com/serviceaccount
name: aws-iam-token
readOnly: true
dnsPolicy: ClusterFirst
enableServiceLinks: true
nodeName: ip-192-168-41-125.eu-west-2.compute.internal
priority: 0
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
serviceAccount: cluster-autoscaler
serviceAccountName: cluster-autoscaler
terminationGracePeriodSeconds: 30
tolerations:
- effect: NoExecute
key: node.kubernetes.io/not-ready
operator: Exists
tolerationSeconds: 300
- effect: NoExecute
key: node.kubernetes.io/unreachable
operator: Exists
tolerationSeconds: 300
volumes:
- name: aws-iam-token
projected:
defaultMode: 420
sources:
- serviceAccountToken:
audience: sts.amazonaws.com
expirationSeconds: 86400
path: token
- hostPath:
path: /etc/ssl/certs/ca-bundle.crt
type: ""
name: ssl-certs
- name: cluster-autoscaler-token-2dvnx
secret:
defaultMode: 420
secretName: cluster-autoscaler-token-2dvnx
status:
conditions:
- lastProbeTime: null
lastTransitionTime: "2021-05-11T12:52:55Z"
status: "True"
type: Initialized
- lastProbeTime: null
lastTransitionTime: "2021-05-11T12:52:58Z"
status: "True"
type: Ready
- lastProbeTime: null
lastTransitionTime: "2021-05-11T12:52:58Z"
status: "True"
type: ContainersReady
- lastProbeTime: null
lastTransitionTime: "2021-05-11T12:52:55Z"
status: "True"
type: PodScheduled
containerStatuses:
- containerID: docker://90cced865cbcc75209cd0c61c565a24d28e059ab2a83acebd882508fadc25c06
image: k8s.gcr.io/autoscaling/cluster-autoscaler:v1.18.3
imageID: docker-pullable://k8s.gcr.io/autoscaling/cluster-autoscaler@sha256:ad77e9587aff8cdaa90fb371cfff4458205ef63a4783734b5dd667872d1e91e1
lastState: {}
name: cluster-autoscaler
ready: true
restartCount: 0
started: true
state:
running:
startedAt: "2021-05-11T12:52:57Z"
hostIP: 192.168.41.125
phase: Running
podIP: 192.168.35.195
podIPs:
- ip: 192.168.35.195
qosClass: Guaranteed
startTime: "2021-05-11T12:52:55Z"
ec2-user:~/environment $
So it looks like you have 2 ASGs/game server groups:
--nodes=0:10:gamelift-gameservergroup-
--nodes=0:10:gamelift-gameservergroup-agones-game-server-group-02
It also looks like you're using the priority expander. I suggest deleting 1 of the 2 ASGs and using the least waste expander with auto discovery. Not sure why the guide has you create multiple game server groups. You should be able to get the capacity you need from a single ASG with diverse instance types that spans multiple AZs.
Thanks @jicowan I will look into deleting the groups. At this stage I am just testing agones and need to develop a wrapper and autoscaler - Ideally I'd like to run this for cheap or locally to avoid charges - following the guide with no mention of costs, I have accrued $200+ in charges! I just wanted to learn about the system.
Any advice?
How do I revert any chargeable infrastructure? I can't terminate the spot instances.
How long has the environment been running? The EKS control plane costs 10 cents an hour which comes to about $70/mo. You also pay for the provisioned compute. A majority of that should be Spot which costs 40% less (on average) than the on demand cost. FleetIQ doesn't offer as steep a discount as Spot. If you're primarily interested in testing Agones, you can try using Kubernetes in Docker (kind) assuming you have a machine powerful enough to run your game + Kubernetes. Definitely appreciate you trying the solution. Happy to continue working with you to get it working in your environment.
You need to delete the game server group to delete the ASGs. You can't delete the ASGs directly because they are managed by FleetIQ.
Think its been running since May 7th, I'm in the GameLift game server group area on the console and have no options to delete, might be permissions. Are the some commands I could run in the Cloud9 dev environment?
aws gamelift delete-game-server-group --game-server-group-name <your gsg name>
I think that'll do it.
Yeah that should do it, but I don't know how to force or shutdown the gameservers first?
ec2-user:~/environment $ aws gamelift delete-game-server-group --game-server-group-name agones-game-server-group-01
An error occurred (InvalidRequestException) when calling the DeleteGameServerGroup operation: Failed to SAFE_DELETE as there exists at least one UTILIZED game server
ec2-user:~/environment $ aws gamelift delete-game-server-group --game-server-group-name agones-game-server-group-02
An error occurred (InvalidRequestException) when calling the DeleteGameServerGroup operation: Failed to SAFE_DELETE as there exists at least one UTILIZED game server
ec2-user:~/environment $
No problem. Go to the ASG and set the min and desired count to 0 first.
Thanks - managed to set the ASG programatically with aws autoscale, but then I found the groups in the console anyway and have terminated the instances. Also found some ELBs. My services say I am still billed for EKS and some GameLift things but in those respective areas of the console I can't view anything to delete, even as the root user.
I've got a support case going on so they might be able to help me further.
I think I could try using agones locally for dev/test. But I was interested in using the AWS FlexMatch service too - I think that's cloud only?