Prerequisites
Before connecting your AWS account, ensure you have:- Administrative access to your AWS account (or permissions to create IAM roles and CloudFormation stacks)
- Cost Explorer enabled in your AWS account
- Access to the AWS Console
Security First: Yasu uses a cross-account IAM role with read-only permissions. We cannot modify or delete any of your AWS resources.
Quick Setup via CloudFormation
The fastest way to connect your AWS account is through our pre-configured CloudFormation template.Navigate to Integrations
- Log in to your Yasu dashboard at app.yasu.cloud
- Go to Settings → Integrations
- Click Connect AWS
Deploy the CloudFormation Stack
You’ll be redirected to AWS CloudFormation with our template pre-loaded.
- Review the stack name — A unique name is generated for you (e.g.,
YasuIntegration-abc123) - Review the parameters — These are automatically filled in:
YasuCustomerId— Your unique Yasu customer IDYasuExternalId— A secure token for cross-account accessBucketName— S3 bucket for Cost and Usage ReportsReportName— Name for your AWS CUR report
- Scroll to the bottom and check the acknowledgment box:
☑️ I acknowledge that AWS CloudFormation might create IAM resources.
- Click Create stack
Wait for Stack Creation
The CloudFormation stack typically completes in 2-3 minutes. You can monitor the progress in the AWS Console:
- CREATE_IN_PROGRESS — Stack is being created
- CREATE_COMPLETE — Stack created successfully
What the CloudFormation Template Creates
Our template creates the following resources in your AWS account:1. Cross-Account IAM Role
A read-only IAM role that allows Yasu to access your cost and resource data:2. IAM Policy with Read-Only Permissions
The role includes permissions to read:| Service | Permissions | Purpose |
|---|---|---|
| Cost Explorer | ce:Get*, ce:List* | Cost and usage data |
| EC2 | ec2:Describe* | Instance, volume, and snapshot info |
| RDS | rds:Describe* | Database instance details |
| S3 | s3:List*, s3:GetBucket* | Storage bucket information |
| Lambda | lambda:List*, lambda:Get* | Function configurations |
| CloudWatch | cloudwatch:GetMetricStatistics | Utilization metrics |
| Organizations | organizations:Describe*, organizations:List* | Account structure |
| Trusted Advisor | support:DescribeTrustedAdvisor* | AWS recommendations |
3. Cost and Usage Report (CUR)
An S3 bucket and CUR configuration for detailed billing data:- Bucket:
yasu-cur-{unique-id} - Report granularity: Daily
- Format: Parquet (optimized for analysis)
Required IAM Permissions
View Full IAM Policy
View Full IAM Policy
What Yasu Will Scan
Once connected, Yasu analyzes your AWS environment for optimization opportunities:Cost Optimization Insights
- Idle EC2 Instances — Running instances with low CPU/network utilization
- Oversized Instances — Instances that can be downsized based on usage patterns
- Unattached EBS Volumes — Volumes not connected to any instance
- Old EBS Snapshots — Snapshots older than retention policies
- Unused Elastic IPs — Static IPs not associated with running resources
- Idle RDS Instances — Databases with minimal connections or queries
- Underutilized Lambda — Functions with excess memory allocation
- S3 Storage Classes — Buckets that could benefit from lifecycle policies
Savings Opportunities
- Reserved Instance Coverage — Recommendations for RI purchases
- Savings Plans — Compute and EC2 Savings Plan opportunities
- Spot Instance Candidates — Workloads suitable for Spot pricing
Data Sync Schedule
| Data Type | Initial Sync | Ongoing Sync |
|---|---|---|
| Cost data | Last 12 months | Daily |
| Resource inventory | Current state | Every 6 hours |
| Utilization metrics | Last 14 days | Daily |
| Recommendations | Within 24 hours | Weekly |
Troubleshooting
Stack creation failed
Stack creation failed
Common causes:
- Insufficient permissions — Ensure you have
cloudformation:*,iam:*, ands3:*permissions - S3 bucket name conflict — The bucket name must be globally unique; try again to generate a new name
- Service limits — Check if you’ve hit IAM role limits
Connection shows as pending
Connection shows as pending
What to check:
- Verify the CloudFormation stack status is
CREATE_COMPLETE - Check that the stack wasn’t rolled back
- Ensure the callback URL is accessible (no VPN/firewall blocking)
Missing cost data
Missing cost data
What to check:
- Cost Explorer is enabled — Go to AWS Billing → Cost Explorer → Enable
- Sufficient history — Cost Explorer needs ~24 hours to populate after first enable
- IAM permissions — Verify the role has
ce:*permissions
Incomplete resource scan
Incomplete resource scan
What to check:
- Regional coverage — Some resources may be in regions not yet scanned
- API rate limits — Large accounts may take longer to fully scan
- Missing permissions — Verify all Describe permissions are in place
Connecting Multiple AWS Accounts
If you have multiple AWS accounts (e.g., production, staging, development), you can connect each one:- Go to Settings → Integrations
- Click Connect AWS for each additional account
- Deploy the CloudFormation stack in each account
Security & Compliance
Read-Only Access
Yasu cannot modify, create, or delete any AWS resources.
Secure Cross-Account
Uses AWS-recommended external ID pattern for secure role assumption.
Data Encryption
All data encrypted in transit (TLS 1.2+) and at rest (AES-256).
Audit Trail
All API calls logged in your AWS CloudTrail.
Revoking Access
To disconnect Yasu from your AWS account:- Go to AWS CloudFormation
- Find and delete the
YasuIntegration-*stack - The IAM role and associated resources will be automatically removed