First off this lab is entirely optional and also not for the faint hearted. Gitlab CI is currently introducing components to replace the current templates and openTofu will be updated to that as soon as they are supported in self managed runners. If you're not comfortable experimenting and cleaning things up in AWS manually **don't do this lab**. For this I recommend using the terraform template.
First things first lets get some things setup. Make sure you have a free account on [https://gitlab.com](https://gitlab.com)
Hit next and continue. On the next screen click attach policy and choose Administrator Access 9this is because you sometimes need to use terraform/tofu to create IAM policies)
![Generate an AWS user](./img/aws-2.png)
Now click next until the user is created. You can now click that user in the IAM console and click on the security tab. Here you'll need to click on ```create access key```
![Generate an AWS user](./img/aws-3.png)
Now you can select the top option ```Command Line Interface``` and check the accept box at the bottom of the page then hit next.
![Generate an AWS user](./img/aws-4.png)
Enter gitlab access for the optional field.
![Generate an AWS user](./img/aws-5.png)
Now click ```Download CSV``` and save this file for getting your access keys from later, you'll need to input these into Gitlab.