Question: I want to create a backup of one of my Git repositories and save it to AWS CodeCommit. I don't want to include the use of my local machine. Can anyone tell me how can I do it directly or through AWS Lambda?

Answer: 
I just started searching for the answer to this very question. Before I post some of my preliminary data have you found a solution to this?

**Here is what I have found so far:**

* BitBucket 

<https://github.com/ef-labs/stash-hook-mirror>
* GitHub

<https://github.com/gitbucket/gitbucket/issues/833>

<https://help.github.com/articles/about-webhooks/>
* JGit

<https://fancybeans.com/2012/08/24/how-to-use-s3-as-a-private-git-repository/>
* Gitlab

[How to create a Gitlab webhook to update a mirror repo on Github?](https://stackoverflow.com/questions/21962872/how-to-create-a-gitlab-webhook-to-update-a-mirror-repo-on-github)
especially the part [here](https://stackoverflow.com/a/38302815/3155343)

I successfully used the mirror feature to automatically pull a GitHub Repository into GitLab using the mirror feature offered by GitLab.com.

I also found <https://github.com/lambci/lambci> which is serverless CI and looks promising.

I believe the answer lies in a combination of AWS SNS Topic monitoring of Webhooks (GitLab and others) and pass the response to Lambda which spins up an instance which has either git or `jgit` to run the command, look through the LambCI Repository for details.

The only problem with this solution is that the AWS Lambda instance will clone the mirrored repository to its local storage and then push to AWS Code Commit and this will be repeated each time an instance gets started so for LARGE repositories or VERY ACTIVE repositories this may not be a good idea and you would be better off spinning up a nano EC2 instance with a CRON job to mirror the repository to AWS Code Commit.
AWS Quickstart provide a [solution](https://github.com/aws-quickstart/quickstart-git2s3) that copies your repo to s3 using lambda and webhooks. 

This solution could quite easily be modified to copy to CodeCommit rather than s3.

[![enter image description here](https://i.stack.imgur.com/Tqmbz.png)](https://i.stack.imgur.com/Tqmbz.png)