Overview: AWS resources

Deploy and connect to AWS resources in your application

Radius Applications are able to connect to and leverage AWS resource with Bicep. Simply model your AWS resources in Bicep and connect to them from Radius resources.

Radius uses the AWS Cloud Control API to interact with AWS resources. This means that you can model your AWS resources in Bicep and Radius will be able to deploy and manage them.

Configure an AWS Provider

The AWS provider allows you to deploy and connect to AWS resources from a Radius Environment on an EKS cluster. To configure an AWS provider, you can follow the documentation here.

Example


In the following example, a Container is connecting to an S3 bucket.

extension aws

extension radius

param environment string

param bucket string = 'mybucket'

@secure()
param aws_access_key_id string

@secure()
param aws_secret_access_key string

param aws_region string

resource s3 'AWS.S3/Bucket@default' = {
  alias: 's3'
  properties: {
    BucketName: bucket
    AccessControl: 'PublicRead'
  }
}

// get a radius container which uses the s3 bucket
resource app 'Applications.Core/applications@2023-10-01-preview' = {
  name: 's3app'
  properties: {
    environment: environment
  }
}

resource frontend 'Applications.Core/containers@2023-10-01-preview' = {
  name: 's3container'
  properties: {
    application: app.id
    container: {
      env: {
        BUCKET_NAME: {
          value: s3.properties.BucketName
        }
        AWS_ACCESS_KEY_ID: {
          value: aws_access_key_id
        }
        AWS_SECRET_ACCESS_KEY: {
          value: aws_secret_access_key
        }
        AWS_DEFAULT_REGION: {
          value: aws_region
        }
      }
      image: 'ghcr.io/radius-project/samples/aws:latest'
    }
  }
}

Resource library

AWS resource library