Initial setup of the EBS limits forecast environment can be quite time-intensive. For this reason, many of the resources and components of the workflow have been provisioned ahead of this lab through Cloudformation .
Some resources will be discussed in detail throughout this lab while others will only be mentioned briefly. The latter include:
- Input S3 bucket - The bucket used for storing the daily EBS volume count in a file named historical_data.csv. This bucket is created with a random name by Cloudformation
- Output S3 bucket - The bucket used to store the Amazon Forecast weekly exports. The bucket name is generated randomly by Cloudformation.
- SNS topic (named WeeklyEbsLimitIncreaseReport) - The topic that weekly limit increase reports will be published to. Reports are in human-readable format and sent to email subscriber(s)
- IAM role for AWS Step Functions - This role is used by step functions to invoke the TrainPredictorLambda and WeeklyForecastHandlerLambda which are lambda functions later discussed in this lab.
- IAM role for AWS Lambda - This role will be shared and used by all the lambda functions in this solution.
- IAM role for Amazon Forecast - The role is used by Forecast to interact with S3, import historical data (ie. s3:GetObject) and export forecast results (ie. s3:PutObject)
- Step Functions for TrainerPredictorLambda - A state machine used by this lambda during the long-running, multi-stepped process of training of a new Predictor and other Forecast components.
- Step Functions for WeeklyForecastHandlerLambda - A state machine used by this lambda during the long-running, multi-stepped process of generating weekly forecasts.