Assignment 3:AWS Cloudshell Unable to create the environment

Assignment 3: Building End-to-End Batch and Streaming Data Pipelines Based on Stakeholder Requirements. Unable to access the AWS console cloud shell to finish the assignment.

My first lab session expired. On my second attempt. I rebooted the lab and tried to access aws using the aws url command. However the cloudshell of the aws console keeps giving me this error:

Unable to create the environment. This may be due to insufficient permissions to create environments, or because the environment no longer exists. To use CloudShell terminal, choose Open us-east-1 or Create VPC environment. If the issue persists, contact your IAM administrator

System error

User: arn:aws:sts::975050121947:assumed-role/voclabs/user5285304=scnuinzjskbj is not authorized to perform: cloudshell:CreateEnvironment on resource: * because no identity-based policy allows the cloudshell:CreateEnvironment action

This type of error usually occurs when the lab instructions are not being followed exactly as provided. It is possible that you are trying to access an AWS service or resource that the Vocareum lab environment does not provide access to.

Could you please double-check that you are following all the instructions correctly and running the script exactly as described in the lab? Also, make sure you are using the AWS environment and resources provided by Vocareum, rather than trying to access any additional services or resources outside the lab instructions.

terminal-c1-w4.txt (23.2 KB)
I attached the VSCode terminal output that i typed in all the way until the redacted URL. All the instructions and scripts where followed until cat ../.aws/…,
-Terraform variables have been set
upload: terraform/assets/glue_job/de-c1w4-etl-job.py to s3://de-c1w4-975050121947-us-east-1-scripts/de-c1w4-etl-job.py
-Glue script has been set in the bucket, Setup completed successfully. All environment variables and Terraform backend configurations have been set.

  • Module ETL and output “data_lake_bucket_id” {
    value = module.etl.data_lake_bucket_id
    }
    output “scripts_bucket_id” {
    value = module.etl.scripts_bucket_id
    }

where the only ones to be uncommented and the plan and apply has worked

I thought i might not need the AWS console but point 1.13 requires cloudshell access and I am still stuck with the same issue. Not sure which command am i missing since the only thing i can think of is a possible incorrect terraform main. but the instruction strictly states
1.8. Open the terraform script terraform/main.tf. For the part of the batch pipeline, you only have to work on module "etl". Uncomment the corresponding section of the file (lines 1 to 15), keeping the rest of the file commented (comments in Terraform start with #). To do this you can click on the beginning of the first line you want to uncomment, then Shift+Alt+Click at the beginning of the last line you want to comment. Then hit delete twice, this should remove the first two characters (# ) from all the selected lines. Save changes to the file.

Note: Remember to save your changes by pressing Ctrl+S or Cmd+S.

1.9. Open the script terraform/outputs.tf and uncomment the lines corresponding to the ETL section (lines 2 to 8).
1.13. In the AWS console, search for AWS Glue, and enter the ETL jobs link on the left panel. You should see a job created with the name de-c1w4-etl-job. To start the AWS Glue job, run the following command:

aws glue start-job-run --job-name de-c1w4-etl-job | jq -r '.JobRunId' 

detailed logs

Hi @Essa_Haddad this command should be run from your terminal (VScode), not directly in the CloudShell. Can you try that and let me know if that works?