Skip to content

AWS Benchmarking

Theodor Amariucai edited this page Mar 6, 2021 · 18 revisions

For basic benchmarking, all steps below are required:

  1. Create an AWS account.
  2. Permissions for the Lambda functions: IAM console -> Roles -> Create Role -> Lambda -> Enter name LambdaProducerConsumer and select both AWSLambdaBasicExectionRole (for logging), AWSLambdaRole (for triggering other lambdas in a chain, producer-consumer scenario) and AmazonS3FullAccess (for data transfer using S3). Take note of this role ARN (e.g., arn:aws:iam::12-DIGIT-NUMBER:role/LambdaProducerConsumer). Replace the value of constant lambdaExecutionRole in src/setup/deployment/connection/amazon/deploy.go with this role ARN. Replace constant UserARNNumber in src/setup/deployment/container.go with the 12-DIGIT-NUMBER.
  3. Permissions for the client: IAM console -> Users -> Create User. Attach AWSLambda_FullAccess and AmazonS3FullAccess to this user, and then create and attach another policy, e.g. named APIGatewayFull, which has API Gateway Full access All resources.
  4. Local client authentication: IAM console -> Users -> Summary -> Security credentials -> Create access key. Make sure to keep creating keys until there are no forward slashes in them. Take note of your Access key ID (e.g., AKIAU4EZSQEM3S42BXY5) and Secret access key (e.g., vAbqZTA3MpxctAi4zvS5QW4Qvvhpkg53lALgDUDV). Configure your local AWS CLI by running aws configure, use your Access key ID and Secret access key. The default region name used in the client is us-west-1.

To enable deployment via container images:

  1. Create a private Amazon ECR repository with name vhive-bench.
  2. IAM console -> Users. Select your user created in step 2 and attach the AmazonEC2ContainerRegistryFullAccess permission policy to it.
Clone this wiki locally