Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

Support deploying Airbyte on ECS #4847

Closed
sherifnada opened this issue Jul 20, 2021 · 16 comments
Closed

Support deploying Airbyte on ECS #4847

sherifnada opened this issue Jul 20, 2021 · 16 comments
Labels

Comments

@sherifnada
Copy link
Contributor

sherifnada commented Jul 20, 2021

Tell us about the problem you're trying to solve

i would like to deploy Airbyte on ECS. This is known to be a difficult problem because Airbyte requires the ability to dynamically launch new docker containers (connectors are packaged in containers) but ECS does not offer this capability easily. See here for more information.

Nonetheless many companies solely use ECS as their deployment medium and find it to be a deal breaker if Airbyte does not support it.

Describe the solution you’d like

The ability to deploy on ECS

@sherifnada sherifnada added type/enhancement New feature or request blocked labels Jul 20, 2021
This was referenced Aug 16, 2021
@stadskle
Copy link

Hi,

We are one of the companies that would prefer to deploy to ECS and Fargate. Could someone please explain "but ECS does not offer this capability easily" for me?

I do not know the inner workings of Airbyte, so there might be some requirements here I am not getting. However, if the need is to spin up new containers to execute jobs, that should be very possible. ECS support running adhoc tasks, and as long as the container has the appropriate IAM rights, I do not see why this cannot be done from an ECS service?

https://docs.aws.amazon.com/cli/latest/reference/ecs/run-task.html

When starting an adhoc task you can pass custom commands and env variables.

@Sousaplex
Copy link

Just wanted to share that we would also like to deploy to ECS.

@rorymalcolm
Copy link

Hi,

We are one of the companies that would prefer to deploy to ECS and Fargate. Could someone please explain "but ECS does not offer this capability easily" for me?

I do not know the inner workings of Airbyte, so there might be some requirements here I am not getting. However, if the need is to spin up new containers to execute jobs, that should be very possible. ECS support running adhoc tasks, and as long as the container has the appropriate IAM rights, I do not see why this cannot be done from an ECS service?

https://docs.aws.amazon.com/cli/latest/reference/ecs/run-task.html

When starting an adhoc task you can pass custom commands and env variables.

The problem relates to the fact that ECS Fargate does not provide permissions for "Docker in Docker", you can build Docker containers inside of Fargate using Kaniko, but you can't run a Docker container inside of a Fargate container: aws/containers-roadmap#1356

@ndavies-om1
Copy link

Hi,
We are one of the companies that would prefer to deploy to ECS and Fargate. Could someone please explain "but ECS does not offer this capability easily" for me?
I do not know the inner workings of Airbyte, so there might be some requirements here I am not getting. However, if the need is to spin up new containers to execute jobs, that should be very possible. ECS support running adhoc tasks, and as long as the container has the appropriate IAM rights, I do not see why this cannot be done from an ECS service?
https://docs.aws.amazon.com/cli/latest/reference/ecs/run-task.html
When starting an adhoc task you can pass custom commands and env variables.

The problem relates to the fact that ECS Fargate does not provide permissions for "Docker in Docker", you can build Docker containers inside of Fargate using Kaniko, but you can't run a Docker container inside of a Fargate container: aws/containers-roadmap#1356

You would not run a container inside another container, you would have airbyte use the ECS API to run tasks

@stadskle
Copy link

Hi,
We are one of the companies that would prefer to deploy to ECS and Fargate. Could someone please explain "but ECS does not offer this capability easily" for me?
I do not know the inner workings of Airbyte, so there might be some requirements here I am not getting. However, if the need is to spin up new containers to execute jobs, that should be very possible. ECS support running adhoc tasks, and as long as the container has the appropriate IAM rights, I do not see why this cannot be done from an ECS service?
https://docs.aws.amazon.com/cli/latest/reference/ecs/run-task.html
When starting an adhoc task you can pass custom commands and env variables.

The problem relates to the fact that ECS Fargate does not provide permissions for "Docker in Docker", you can build Docker containers inside of Fargate using Kaniko, but you can't run a Docker container inside of a Fargate container: aws/containers-roadmap#1356

You would not run a container inside another container, you would have airbyte use the ECS API to run tasks

yes, exactly my point

@parth114
Copy link

I am also considering deploying airbyte on ECS. Any release plans for this ?

@gilbahat
Copy link

gilbahat commented Aug 30, 2022

+1 on ECS deployments. I would wager the easiest way to do this would be to designate SQS queues that trigger the respective jobs. This way, no code to fire up tasks would need to be written. other common alternatives are rabbitmq or redis.

@alexandrecaze
Copy link

+1 here, is this issue in the roadmap or is it too complicated ?

@robert-put
Copy link

robert-put commented Oct 5, 2022

@sherifnada Is there any way to contribute to resolving this issue?

@sherifnada
Copy link
Contributor Author

will defer to @supertopher since his team now manages infra related concerns such as this one

@espoirMur
Copy link

I am thinking about starting some work on this, I will keep on sharing the solution.

@dacreify
Copy link

dacreify commented May 3, 2023

In principal I think Airbyte can run on ECS today, just not ECS Fargate. AFAIK you can volume mount the docker socket when using EC2 instances in your ECS cluster.

@mstapfner
Copy link

Are there any updates yet on this topic? Would be interested as well, additionally in running this via GCP CloudRun.

@corrjo
Copy link

corrjo commented Jan 9, 2024

In principal I think Airbyte can run on ECS today, just not ECS Fargate. AFAIK you can volume mount the docker socket when using EC2 instances in your ECS cluster.

Has anyone tried this?

@geronimo-iia
Copy link

I ever done this kind of docker mount with ECS on EC2. It work as soon you use the same container version.
The limitation is that you couldn't scale out the cluster because local container aren't launched and registered into ECS service. It more or less the same as if you using an ec2.

A better approach, could be using aws ecs api to launch dedicated task. This implies to register task definition, cluster, and service before starting airbyte.

@selfscrum
Copy link

Hello I would like to have this option too. For us it was a dealbreaker, we are now with AWS Glue and only semi-happy.
Dagster seems to have a good concept how the support of different docker spawns can be built. I envision somethin similar here.
The website is saying "coming soon" for quite a while now. Any new on this?

@airbytehq airbytehq locked and limited conversation to collaborators Jul 9, 2024
@marcosmarxm marcosmarxm converted this issue into discussion #41084 Jul 9, 2024

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
Projects
None yet
Development

No branches or pull requests