Buddy and AWS integration
What are Amazon Web Services (AWS)?
AWS is a popular cloud computing platform offering a wide range of services to help businesses and individuals with in software development, management, and hosting. The services cater to the needs of distributed systems, high availability and event-driven architectures.
What is AWS Continuous Delivery
Continuous Delivery on AWS means that the entire software release process between Amazon services is streamlined and automated, allowing for frequent updates of software components in the production environment. Although Amazon offers its own CI/CD tools, such as AWS CodePipeline, introducing Continuous Delivery with Buddy is much easier due to native integrations with its ecosystem, fully visualized pipeline process, and simplified debugging.
On top of running unit tests and building applications, Buddy pipelines let you automate all types of use cases: from deploying source code to S3 buckets, to invoking AWS Lambda functions and provisioning serverless applications with CloudFront.
Example pipeline with Lambda function and deployment
Setting up AWS integration
To get started, navigate to the Integrations tab and click New integration.
Look up and click AWS (it can be found in the IaaS section):
AWS integration selection
- The configuration window will show up:
AWS integration configuration
Here you have to provide:
- Integration name
- Authorization data depending on the authorization type
Types of AWS integration
Application integration between your Buddy and AWS account can be performed in three ways:
- With access & secret keys.
- By assuming a role with permissions to Buddy in the Amazon account.
- By using the OIDC identity provider.
Access & Secret keys
- Log in to your Amazon account and go to IAM → Users.
- Click Add a new user and fill in the details. Make sure to check the 'Programmatic access' type.
- Depending on what service you use, on the permissions page switch to 'Attach existing policies directly' and check proper policies.
- Once the user is created, switch to the Security credentials tab and create an Access Key:
Security credentials tab
- A pop-up will appear. Make sure to copy the Access key and Secret key:
Creating access key
- In the application integration window in Buddy, provide the Access and Secret keys that you copied from the AWS console:
AWS integration configuration with access and secret keys
- When the configuration is finished, you can create a pipeline and add the desired actions from the AWS section:
Adding AWS actions
Role assumption
- Log in to your Amazon account and go to IAM → Roles.
- Click Create role:
Creating role in IAM console
- Select Another AWS account as the type of trusted entity and set the Account ID to:
056014222594
Creating role for AWS account
- Click Next: Permissions to proceed.
- Select the policies that you want to assign to Buddy:
Attaching permissions policies to Buddy
- Click Next: Tags to proceed.
- (Optional) Add IAM tags to your role if your workflow requires it:
Adding IAM tags to role
- Click Next: Review to proceed.
- Check if everything is okay and click Create role to finish configuration. Make sure to copy the Role ARN:
Role review
- In the integration configuration window in Buddy, paste the Role ARN and External ID from the AWS console:
AWS integration configuration
- You can now add the desired AWS actions to your pipeline:
AWS actions in Buddy
OIDC
To integrate with OIDC, jump to our dedicated article on integrating AWS services with Buddy pipelines over OIDC.
Last modified on February 29, 2024