Amplify-cli: Amplify can not even be used as a real product...

Created on 9 Feb 2019  路  11Comments  路  Source: aws-amplify/amplify-cli

  1. You have zero information about how to host things on a custom domain - just a cloudfront domain and nothing else. No documentation what-so-ever and it doesnt work by just pointing to it. Wow. All information has to do with AWS Amplify Console which has nothing included at all so I can't use that anyway.
403 ERROR
The request could not be satisfied.
Bad request. 
Generated by cloudfront (CloudFront)
Request ID: qIq6obslqWpGJhKlNnXffSE73D6bUJ94oVCkrGv-ik-PcUSQDi7Y_A==

image

Clearly it needs cnames configuration but since its all CloudFormation if i modify all that manually it will break and the whole app will never work again at all...

  1. Your upload time are ridiculous - I can deploy my app 5 times using a standard shell script by the time it gets finished with "Uploading Files"

  2. Your AWS Amplify console doesn't even work in the first place... it shows like 10 out of 50+ branches and I can't search to find it or select it so its literally useless

image

image


Literally make it IMPOSSIBLE to use your products ALL THE TIME... this is almost as bad as the cognito js sdk you had which had 6 interfaces for doing async callbacks and didnt even provide enough information to properly reset tokens.

amplify-console

Most helpful comment

It appears you don't know how to use various elements of the AWS platform or the internet at large, which might be a part of why you're running into issues. If your domain name is in a Route 53 hosted zone, you can setup an Alias (AWS construct specific to AWS services like load balancers and cloudfront) pointing to your cloudfront distribution, add the relevant CNAMEs to CloudFront, and be good to go with your custom domain.

I have to say though, this post is so rude and unconstructive that I don't know what you can possibly expect to achieve with it.

Clearly it needs cnames configuration but since its all CloudFormation if i modify all that manually it will break and the whole app will never work again at all...

This is not true. In my experience, setting the CNAMEs in CloudFront is a set-and-forget operation, even when that distribution is part of an Amplify CF template. And the Alias record in Route 53 is not part of the template whatsoever.

All 11 comments

It appears you don't know how to use various elements of the AWS platform or the internet at large, which might be a part of why you're running into issues. If your domain name is in a Route 53 hosted zone, you can setup an Alias (AWS construct specific to AWS services like load balancers and cloudfront) pointing to your cloudfront distribution, add the relevant CNAMEs to CloudFront, and be good to go with your custom domain.

I have to say though, this post is so rude and unconstructive that I don't know what you can possibly expect to achieve with it.

Clearly it needs cnames configuration but since its all CloudFormation if i modify all that manually it will break and the whole app will never work again at all...

This is not true. In my experience, setting the CNAMEs in CloudFront is a set-and-forget operation, even when that distribution is part of an Amplify CF template. And the Alias record in Route 53 is not part of the template whatsoever.

Hello @bradennapier. Sorry you're having difficulties. We want to help make you successful, however we do want all community members to communicate with each other and ask for help in a respectful manner. Please do be aware we have a Code of Conduct that should be followed: https://github.com/aws-amplify/amplify-js/blob/bfa477662591bbd7a92bbb8486778924589e4adb/.github/CODE_OF_CONDUCT.md

Turning back to the issues at hand, they appear to be related to the Amplify Console (https://aws.amazon.com/amplify/console/) which is separate from the Amplify Framework, an Open Source project which this CLI is a part of. The place to ask questions for the Amplify Console is on the AWS forum (https://forums.aws.amazon.com/forum.jspa?forumID=314&start=0) as there are support engineers monitoring it who represent the service. However, I've also reached out to the Product Manager @swaminator who is happy to chat with you 1-1 and assist.

@undefobj thank you for your reply, i will redirect the amplify console issues there.

@jkeys-ecg-nmsu no we do not use route53 for handling our DNS, and we have many CNAMEs already setup and working - the issue is that it doesn't work and doesn't have any way to setup the CNAME properly in the cli itself.

In my experience making any modification to a CF built resource is basically a fatal mistake which can be difficult to come back from. If this is a random edge case that doesn't break if modified than it should be noted somewhere / anywhere that if you want to use custom domains you have to manually adjust that value.


The upload time to upload the distribution is also an issue - taking around 10-15 minutes on every publish when I can do it many times in the same timeframe by just using the s3 api directly via bash. It's not a small bundle, mind you, but the fact using the aws tools themselves to accomplish this have no issue with speed is my concern here.

@bradennapier: Sorry to hear that you cannot connect your repository to the Amplify Console. I have added a ticket in our engineers queue to look into why your branch isn't connecting. As a short-term remedy, can you try connecting one of your branches without a '/'? Also if you want to email me at [email protected], I'd be happy to help you out.

@swaminator thank you for your reply, the issue is you only support the first like 10 branches - i cant even connect master -- i had to rename it to A-${branchName} so it would be the first just to select it.

Now it wont let me select domains and just sits there loading forever with tons of errors. I will email you with more details on them and screenshots of web console.

@bradennapier are you calling amplify publish -c? If so the latency is because CloudFront is invalidating, and Amplify won't return successful until the invalidation succeeds. If not then that sounds like a valid issue. (Actually @undefobj does Amplify wait for some signal from CF that propogation to edges has succeeded before succeeding? That would explain it in the non -c case.)

I can tell you that we have Amplify websites in production that use custom domains that were manually configured once, and only once. I don't know if that makes you feel better about just adding the CNAMEs manually, but I can tell you that in my experience, it works.

In fact, the reason that adding CNAMEs isn't a part of the CLI configure is probably because it can't know your defaults, so every re-run of amplify hosting configure that didn't include the CNAMEs would break working URLs.

@bradennapier can you share the console log errors you're seeing? I just checked and was able to connect a repo with 15 branches. What Git provider are you using?

@swaminator I know this isn't your team, but I'd like to note that the behavior that @bradennapier describes afflicts some other consoles, like the IAM Group console. I've had to prefix "AWS_" to Roles in the past in order to get them to appear because the IAM Group console only presented the first n options (in chrome at least).

Not too hard to get around that, and the custom domains that way make it so you can not use anything but amplify for your entire domain - all internal needs are completely lost and can't be done, at least what it seems to indicate on the forums (I havent confirmed that but we also cant dedicate every main subdomain to only amplify).

So I was hoping to try a fourth-level subdomain and point web.domain.com to Route53 and support *.web.domain.com -- although even the most basic features are not working without any of that atm.

I can easily edit the CloudFront with the CNAME's that i desire but that does take branch deploys off the table which leaves me with what i have today anyway.

@swaminator i sent you a far more detailed account of every failure along the way of trying to set this up and all the problems with the console (i am not joking not a single step worked even just default along the way).

We use github. You show 30 branches and then no more - you could argue having more is crazy (i argue it every single day) but we have a large team and a large repo. Either way it shouldn't just fail to support it and AWS shouldn't make the decision about what the maximum possible options should be for everyone in the world.

Showing the first 30 by default, sure - but when you search then maybe allow searching all branches not just those 30.

Did you try multiple browsers?

On that note, I truly don't mean to be so "rude" but when a product is provided as release-level (console) I don't expect it to essentially not work and waste my entire day and/or teams day reading the documentation, learning if it fits our needs, and then getting to a proof of concept and it failing at every step.

Also note there are further issues I emailed that aren't in this thread since it wasn't about the cli. I do understand 30+ branches being an edge case that may not have been considered even in a production release.

@jkeys-ecg-nmsu yes as soon as you said that above I tried Firefox with the same effect.

Was this page helpful?
0 / 5 - 0 ratings