-
Notifications
You must be signed in to change notification settings - Fork 428
How to move to production / change region with copilot? #2331
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Hi @gtamas
That's correct! The steps you outlined will get you there. stages:
- name: test-eu
- name: prod-eu
Very soon! In the mean time if this is urgent, this comment: #1188 (comment) describes how to take manual steps for it.
Services get deployed to environments. With Copilot you can run However, I am not sure how CodeDeploy is used with your application and I wonder if having your CodeDeploy resources in Hope this helps! |
@efekarakus So if I want to customise the URL generated by copilot, should I follow: or I mean, these are different instructions regarding the URL. Our domain is not managed by Amazon (Route 53), we use Godaddy. Regarding regions: "An alternative might be to create your application in me-south-1, and then your environments in eu-west-1" In this case all the services would be deployed in eu-west-1, right? CodeDeploy is available there, so that would work, but our users are in me-south-1, so network operations wouldn't be very efficient, I guess. In general, network ops would be slower (for the users)., correct? Anyway, so as long as all the services and CodeDeploy resources are in the same region, it's guaranteed to work, but keeping CodeDeploy (and other) resources in one region and services / environments in another wouldn't work. So basically, we should put all our envs and services to eu-west-1 as well, right?. If we do this, then what's the benefit of creating the app in a different region? Sorry about the confusion :) These things are still not totally clear to me. |
@efekarakus But I'm not sure about CodeDeploy. I mean, are you sure placing only the CodeDeploy resources to eu-west-1 and keeping everything else in Bahrain wouldn't work? We also use CodeArtifact. This is also not available in Bahrain. So we created the resource in eu-west-1 and it works like a charm, even though all our services are still in Bahrain (we use it as private NPM registry). So maybe CodeDeploy could work too? If we have to move our services where CodeDeploy is then we would probably not use this service. Automated deployments would be nice, but the network latency would be bad for our users. Thanks in advance! |
@efekarakus
However copilot prints this: no hosted zone found for mydomain.com Does this mean that we have to move the domain from Godaddy to Amazon? So only domains registered in Route 53 are supported, right? I assume then the suggestion about deploy URL customisation (#1188 (comment)) also only works with Amazon Route 53, right? Lastly, CodeDeploy: If I set this up in eu-west-1, then it's not guaranteed to work as long as our environments are in me-south-1. If I move the environments then it'll work fine, but then the services will run in eu-west-1. Correct? Please get back to me regarding this. I would like to clarify everything asap, since we need to know what to do exactly in order to move the app to prod. Thanks in advance! |
Correct, the domain has to be registered with Route53. Otherwise, Copilot cannot modify the records for the subdomains.
Correct!
Correct!
Yes, I believe so until CodeDeploy is available in Bahrain :( It might be worthwhile prototyping to validate that this is indeed true as I'm not well familiar with CodeDeploy. |
OK thank you again for the clarification. We will move the domain then and won'r use CodeDeploy for now. |
Thanks! Feel free to create new issues if you run into any problems during the migration! |
@efekarakus I mean, I assume copilot wants to update the DNS records when I use the --domain flag, right? That part is already transferred. Fully transferring our domain name will take some more time, but I wonder, do we really have to wait for that? Thanks in advance! |
Hi @gtamas ! I'd recommend just giving it a try first with a dummy application |
@efekarakus Does this mean the feature is now available? Should I update copilot? We are using 1.3 currently |
Yay!! It's not released yet :) you can use the feature if you like by building the binary from mainline running |
@efekarakus
This worked, the service also works fine. Now in order to change the domain I did this:
Problems:
"In that same listener add one more rule “send all requests from your.route53.managed.domain to the same target group” This is not possible, because all action types inactive, except for the "Authenticate" action, which is not what I need.
Please help me with these instructions. What should I change? |
@efekarakus How can I point subdomain.coretail.com to the deployed ECS service? Maybe the instructions regarding customising the domain are not fully up-to-date, I'm not sure. |
@efekarakus |
Hi @gtamas !
Instead of the public IP addresses of the ECS service tasks, is it possible to point it to the load balancer itself? https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-elb-load-balancer.html Quick create an Alias record and choose the Application Load Balancer.
Ah apologies, I believe this is due to some UI confusion. Do not click on "Edit" for the listener, instead click on "View/edit rule": That should allow you to add a new rule! Hopefully this unblocks you 😄 |
@efekarakus In the "environments" section I should be able to override any setting, right? It seems to me, however, the "image.*" cannot be overridden. Or should this work fine?
I can't override anything under image. Tried "args" too, same result. However I need to copy certain resources into the docket container conditionally, depending on the environment. How do I solve this? |
Uh oh!
There was an error while loading. Please reload this page.
@efekarakus
Our app is soon to be deployed to production. It's an ECS app which consists of 7 Backend services and 3 Load Balanced Web Services.
Currently the app exists in the Bahrain region, but many AWS services (most importantly CodeDeploy) are not available here. So we have decided to move the app to a different region. Question is, how should we do this? My understanding is that we have to do the following:
Is this correct?
I'm not sure how to handle the prod deployment with copilot.
We want to use the following URLs in production:
https://admin.domain.com (web service, admin frontend)
https://api.domain.com (another web service, reverse proxy)
http(s)://www.domain.com and http(s)://domain.com (web service, main app frontend)
How can I achieve this? Should I follow the steps you described here?
#2071
Is this available or not yet?
Please help us with these questions.
Thanks advance!
The text was updated successfully, but these errors were encountered: