Task Definition is a fundamental building block of AWS. It is a text file that describes one or more Docker containers which make up an application. It defines the resources and configuration parameters for running the container, such as memory limits, CPU shares, networking modes, and so on. Task Definitions also define port mappings to link containers to each other and the host machine, environment variables for configuring applications within containers and data volumes for persisting data generated by applications. By using Task Definitions, users can easily deploy their applications across multiple EC2 instances with minimal effort.