Provisioning through Service Catalog is in Beta as of 2020-05-28.
The following provides instructions on how to log on to the AWS scipoolprod
account using your synapse credentials, and how to use the products provided in the AWS Service Catalog to setup or modify EC2 instances and S3 buckets.
...
Install the AWS CLI version 2 (SSM access will not work with ver 1.x)
Install SSM session manager plugin
Create a synapse credentials script.
Linux/Mac:synapse_creds.sh
with content below. Add the execute permission to thesynapse_creds.sh
file (i.e.chmod +x synapse_creds.sh
)Code Block #!/usr/bin/env bash # Inputs SC_ENDPOINT=$1 # i.e. https://sc.sageit.org SYNAPSE_PAT=$2 # The Synapse Personal Access Token # Endpoints STS_TOKEN_ENDPOINT="${SC_ENDPOINT}/ststoken" # Get Credentials AWS_STS_CREDS=$(curl --location-trusted --silent -H "Authorization:Bearer ${SYNAPSE_PAT}" ${STS_TOKEN_ENDPOINT}) echo ${AWS_STS_CREDS}
Windows:synapse_creds.bat
with content below.Code Block @ECHO OFF REM Inputs REM %~1 The SC endpoint i.e. https://sc.sageit.org REM %~2 The Synapse Personal Access Token REM Use inputs to get credentials for /f %%i in ('curl --location-trusted --silent -H "Authorization:Bearer %~2" "%~1/ststoken"') do set AWS_STS_CREDS=%%i ECHO %AWS_STS_CREDS%
Open the file containing the Synapse PAT and copy the long character string (i.e. eyJ0eXAiOiJ...Z8t9Eg).Test that you can get
Add the following to your
~/.aws/config
file, replacing<PERSONAL_ACCESS_TOKEN>
with the PAT you saved and/absolute/path/to/synapse_creds.sh
to the location of thesynapse_creds.sh
orsynapse_creds.bat
file.Code Block [profile service-catalog] region=us-east-1 credential_process = "/absolute/path/to/synapse_creds.sh" "https://sc.sageit.org" "<PERSONAL_ACCESS_TOKEN>"
Goto the service catalog provisioned product page → click on your provisioned instance → get instance ID.
Run the SSM start-session command to access the instance. Note: Windows users should do this in command prompt. In the following example the ID from the previous step is
i-0fd5c9ff0ef675ceb
.Code Block ➜ aws ssm start-session --profile service-catalog \ --target i-0fd5c9ff0ef675ceb Starting session with SessionId: 3377358-0cab70190f97fcf78 sh-4.2$
...
Run an application on the EC2 (i.e. docker run -p 80:80 httpd)
To provide access to that app an SC user can use the port forwarding feature to gain access to the app by running the AWS SSM CLI command
...
Using the update action allows you to change parameters or update to a new version of the product. WARNING: changes to configuration parameters usually result in a recreation (“replacement”) of the instance, any data saved on the instance will be lost, and the nature of the update by Amazon is difficult to predict. We recommend that you save any important data to S3, provision a new instance and terminate the original.
Terminate
The terminate action deletes the instance permanently.
...