Managing AWS with Ansible

Brought by: A Cloud Guru

Overview

Ansible is a powerful tool for automating deployments. With a simple SSH connection, it is possible to automate many systems administration and deployment tasks. But, when we leverage the Ansible AWS modules, we can take our automation to the next level.Managing AWS with Ansible is a course that shows how we can use the AWS Ansible modules to dynamically provision cloud infrastructure, all from our Ansible control node. We’ll discuss many key modules and also look at how we can bring them together to deploy full environments in the AWS cloud!

Syllabus

  • Getting Started
  • Ansible Configuration
  • Accessing the AWS Console with Ansible
  • EC2 Modules
  • Working with VPCs
  • S3 Modules
  • IAM Modules
  • Use Case: A Web Server Image Creation Process
  • Final Steps

Taught by

Stosh Oldham

Managing AWS with Ansible
Go to course

Managing AWS with Ansible

Brought by: A Cloud Guru

  • A Cloud Guru
  • Paid
  • English
  • Certificate Available
  • Available at any time
  • All
  • N/A
8.1.2PHP Version452msRequest Duration2MBMemory UsageGET en/courses/{slug}Route
    • Booting (194ms)
    • Application (257ms)
    • 1 x Application (56.83%)
      256.64ms
      1 x Booting (43%)
      194.21ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET en/courses/{slug}
      middleware
      web, localize:en
      controller
      App\Http\Controllers\CourseController@show
      as
      en.courses.show
      namespace
      prefix
      /en
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      6 statements were executed152ms
      • select * from `courses` where `slug_en` = 'managing-aws-with-ansible' limit 1
        6.39ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. managing-aws-with-ansible
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-05-31 04:29:59' where `id` = 2177
        145ms/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-05-31 04:29:59
        • 1. 2177
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (68)
        250μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        140μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (45) and `providers`.`deleted_at` is null
        170μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 2168 limit 1
        200μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 2168
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        dWBPtbd5Fl4xeFP9LRXx1SP5aHxgSxxTS1ZMNtrb
        locale
        en
        _previous
        array:1 [ "url" => "https://www.corspedia.com/en/courses/managing-aws-with-ansible" ]
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /en/courses/managing-aws-with-ansible
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "3.141.2.184" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "x-forwarded-for" => array:1 [ 0 => "3.141.2.184" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "cf-ray" => array:1 [ 0 => "9483bbbccd41e26e-ORD" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "priority" => array:1 [ 0 => "u=0, i" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "3.141.2.184" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_X_FORWARDED_FOR" => "3.141.2.184" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "9483bbbccd41e26e-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "56066" "REMOTE_ADDR" => "172.70.100.61" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/en/courses/managing-aws-with-ansible" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1748665799.4227 "REQUEST_TIME" => 1748665799 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Sat, 31 May 2025 04:29:59 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Im9ic2sxNFJ5RWdSM0JnaUxXUysyZnc9PSIsInZhbHVlIjoiL2pZeEtQaEtlaXBYWml5NzBaK1Z4U0VvbFdBTS9KSnczWm8zS1dvMldOSFRJWDhScTdyU1VEL0ZxdnFKMHdXM2VUYmgzYjlhbGlkazVlSlYvdmdlcElSL2lqRG8wUlhxVUNGQWU5MzBiZXY1K21vUC90cXJJNzdPdFcwVzlKWkkiLCJtYWMiOiJkZWQ5YTMwMjAxNzk2ZGE0ZjhjZWY3MzRkODJiNjQwMGEwNGM3YTUwYmE1YTVhZWU2MGNjODljM2VlNjY1YzVlIiwidGFnIjoiIn0%3D; expires=Sat, 31 May 2025 06:29:59 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6Im9ic2sxNFJ5RWdSM0JnaUxXUysyZnc9PSIsInZhbHVlIjoiL2pZeEtQaEtlaXBYWml5NzBaK1Z4U0VvbFdBTS9KSnczWm8zS1dvMldOSFRJWDhScTdyU1VEL0ZxdnFKMHdXM2VUYmgzY" 1 => "laravel_session=eyJpdiI6IlVnVzcrQ3h0Vi8vWlhzU3NtMUZpOFE9PSIsInZhbHVlIjoieXZkbWdGYVNFYzFPcGlobzNjY2QxT3VPUEs4NFhhK1QvQmx3YkxQa1ZZUW1sL2JubkVzUktneWM2MEViclRtWE9vWjl3dWFMMVhvdkt1cWRFdjFDSmtpN09XOVFpSEZsSXAwZXFwWTNEVnhpdk1ZNi9HdUtCQ0Y4bXNDQ0dnMEYiLCJtYWMiOiI5NDUzZDFkNWFiOTliNjkyYzA4ZDFhNmJlOWFmNjQ4Njk2YjNlOTFlN2U2ODc2NWYxYzdhYzA1NTdkZGM4OTIzIiwidGFnIjoiIn0%3D; expires=Sat, 31 May 2025 06:29:59 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6IlVnVzcrQ3h0Vi8vWlhzU3NtMUZpOFE9PSIsInZhbHVlIjoieXZkbWdGYVNFYzFPcGlobzNjY2QxT3VPUEs4NFhhK1QvQmx3YkxQa1ZZUW1sL2JubkVzUktneWM2MEViclRtWE9v" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Im9ic2sxNFJ5RWdSM0JnaUxXUysyZnc9PSIsInZhbHVlIjoiL2pZeEtQaEtlaXBYWml5NzBaK1Z4U0VvbFdBTS9KSnczWm8zS1dvMldOSFRJWDhScTdyU1VEL0ZxdnFKMHdXM2VUYmgzYjlhbGlkazVlSlYvdmdlcElSL2lqRG8wUlhxVUNGQWU5MzBiZXY1K21vUC90cXJJNzdPdFcwVzlKWkkiLCJtYWMiOiJkZWQ5YTMwMjAxNzk2ZGE0ZjhjZWY3MzRkODJiNjQwMGEwNGM3YTUwYmE1YTVhZWU2MGNjODljM2VlNjY1YzVlIiwidGFnIjoiIn0%3D; expires=Sat, 31-May-2025 06:29:59 GMT; path=/XSRF-TOKEN=eyJpdiI6Im9ic2sxNFJ5RWdSM0JnaUxXUysyZnc9PSIsInZhbHVlIjoiL2pZeEtQaEtlaXBYWml5NzBaK1Z4U0VvbFdBTS9KSnczWm8zS1dvMldOSFRJWDhScTdyU1VEL0ZxdnFKMHdXM2VUYmgzY" 1 => "laravel_session=eyJpdiI6IlVnVzcrQ3h0Vi8vWlhzU3NtMUZpOFE9PSIsInZhbHVlIjoieXZkbWdGYVNFYzFPcGlobzNjY2QxT3VPUEs4NFhhK1QvQmx3YkxQa1ZZUW1sL2JubkVzUktneWM2MEViclRtWE9vWjl3dWFMMVhvdkt1cWRFdjFDSmtpN09XOVFpSEZsSXAwZXFwWTNEVnhpdk1ZNi9HdUtCQ0Y4bXNDQ0dnMEYiLCJtYWMiOiI5NDUzZDFkNWFiOTliNjkyYzA4ZDFhNmJlOWFmNjQ4Njk2YjNlOTFlN2U2ODc2NWYxYzdhYzA1NTdkZGM4OTIzIiwidGFnIjoiIn0%3D; expires=Sat, 31-May-2025 06:29:59 GMT; path=/; httponlylaravel_session=eyJpdiI6IlVnVzcrQ3h0Vi8vWlhzU3NtMUZpOFE9PSIsInZhbHVlIjoieXZkbWdGYVNFYzFPcGlobzNjY2QxT3VPUEs4NFhhK1QvQmx3YkxQa1ZZUW1sL2JubkVzUktneWM2MEViclRtWE9v" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "dWBPtbd5Fl4xeFP9LRXx1SP5aHxgSxxTS1ZMNtrb" "locale" => "en" "_previous" => array:1 [ "url" => "https://www.corspedia.com/en/courses/managing-aws-with-ansible" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]