本番と同じ形式で解く経験は、試験当日の落ち着きにつながります。CertJukenのEX407模擬試験エンジンは2026年の試験環境を意識した作りで、RedHat Red Hat Certified Specialist in Ansible Automationの時間配分や出題パターンを体で覚えられます。
RedHat EX407 試験概要:
| 認定ベンダー: | Red Hat |
|---|---|
| 試験名: | Red Hat 認定スペシャリスト - Ansible Automation - |
| 試験番号: | EX407 |
| 試験時間: | 240 分 |
| 試験形式: | 実技試験 / ハンズオン |
| 関連資格: | Red Hat 認定エンジニア (EX294 経由の RHCE) Red Hat 認定システム管理者 (RHCSA) Red Hat 認定アーキテクト (RHCA) |
| 対応言語: | English |
| サンプル問題: | ![]() |
| 受験方法: | Red Hat 試験センターでのオンサイト受験、またはリモート監視による実技試験(パフォーマンスベース)。 :contentReference[oaicite:2]{index=2} |
| 前提条件: | Red Hat は、Ansible Automation Platform の使用経験および Red Hat Enterprise Linux の管理経験を推奨しています。RHCSA または同等の経験が推奨されますが、必須ではありません。「Automation with Ansible (DO407)」トレーニングの受講が推奨されます。 :contentReference[oaicite:1]{index=1} |
| 公式シラバスのURL: | https://www.redhat.com/en/services/training/ex407-red-hat-certified-specialist-in-ansible-automation-exam |
RedHat EX407 試験シラバストピック:
| セクション | 目標 |
|---|---|
| ロールと再利用性 | - ロールの開発
|
| 構成とデプロイメント | - アドホック自動化
|
| Ansible Automation のコアスキル | - プレイブックとタスク
|
| 自動化タスクの実行 | - プレイブックの実行
|
RedHat Red Hat Certified Specialist in Ansible Automationに関するよくある質問
EX407は、RedHatが実施する「Red Hat Certified Specialist」を取得するための認定試験です。認定レベルはスペシャリストで、実務に即した知識とスキルが問われます。Red Hat 認定システム管理者 (RHCSA)、Red Hat 認定エンジニア (EX294 経由の RHCE)、Red Hat 認定アーキテクト (RHCA)などの関連認定へのステップとしても位置づけられており、キャリアアップを目指す方に広く選ばれています。CertJukenの練習問題を活用すれば、試験の全体像を把握しながら計画的に対策を進められます。
はい。CertJukenではEX407練習問題の無料サンプル(PDFデモ)を用意しており、内容や使い勝手を確かめてから購入を判断できます。購入後は365日間の無料更新が付き、更新期間の終了後は50%割引で継続更新を利用できます。
CertJukenでは「返金保証」を用意しています。購入後60日以内にEX407試験を受験して不合格だった場合、受験票の写しと公式のスコアレポート(Score Report)のPDFを試験後2日以内に提出すれば、7日以内に全額返金の手続きが完了します。なお、受験者名と購入時の支払者名が一致している必要があり、購入から3日以内の受験や、実際に受験しなかった場合は対象外です。返金の代わりに、同等の試験対策教材2つを無料で受け取り、購入済み製品の更新サービスを継続する選択も可能です。商品は購入後すぐにダウンロードでき、メールでも1分以内にお届けします。2時間経っても届かない場合はカスタマーサポートまでご連絡ください。インストールできるパソコンの台数に制限はありません。
EX407試験の出題範囲は4の分野に分かれています。主な分野はAnsible Automation のコアスキル、自動化タスクの実行、ロールと再利用性です。各分野の詳細な出題項目は、このページ上部の出題範囲一覧で確認できます。
RedHat Red Hat Certified Specialist in Ansible Automation 認定 EX407 試験問題:
===================================================================================
control.realmX.example.com _ workstation.lab.example.com
node1.realmX.example.com _ servera.lab.example.com
node2.realmX.example.com _ serverb.lab.example.com
node3.realmX.example.com _ serverc.lab.example.com
node4.realmX.example.com _ serverd.lab.example.com
node5.realmX.example.com
- username:root, password:redhat
- username:admin, password:redhat
note1. don't change 'root' or 'admin' password.
note2. no need to create ssh-keygen for access, its pre-defined
note3. SELinux is in enforcing mode and firewalld is disabled/stop on whole managed hosts.
Use Ansible Galaxy with a requirements file called /home/admin/ansible/roles/
install.yml to download and install roles to /home/admin/ansible/roles from the
following URLs:
http:// classroom.example.com /role1.tar.gz The name of this role should be balancer
http:// classroom.example.com /role2.tar.gz The name of this role should be phphello
Solution as:
# pwd
/home/admin/ansible/roles
# vim install.yml
---
- src: http://classroom.example.com/role1.tar.gz
name: balancer
- src: http://classroom.example.com/role2.tar.gz
name: phphello
:wq!
# pwd
/home/admin/ansible
# ansible-galaxy install -r roles/install.yml -p roles
===================================================================================
control.realmX.example.com _ workstation.lab.example.com
node1.realmX.example.com _ servera.lab.example.com
node2.realmX.example.com _ serverb.lab.example.com
node3.realmX.example.com _ serverc.lab.example.com
node4.realmX.example.com _ serverd.lab.example.com
node5.realmX.example.com
- username:root, password:redhat
- username:admin, password:redhat
note1. don't change 'root' or 'admin' password.
note2. no need to create ssh-keygen for access, its pre-defined
note3. SELinux is in enforcing mode and firewalld is disabled/stop on whole managed hosts.
Create a playbook called web.yml as follows:
* The playbook runs on managed nodes in the "dev" host group
* Create the directory /webdev with the following requirements:
--> membership in the apache group
--> regular permissions: owner=r+w+execute, group=r+w+execute, other=r+execute
s.p=set group-id
* Symbolically link /var/www/html/webdev to /webdev
* Create the file /webdev/index.html with a single line of text that reads:
"Development"
--> it should be available on http://servera.lab.example.com/webdev/index.html
Solution as:
# pwd
/home/admin/ansible/
# vim web.yml
---
- name:
hosts: dev
tasks:
- name: create group
yum:
name: httpd
state: latest
- name: create group
group:
name: apache
state: present
- name: creating directiory
file:
path: /webdev
state: directory
mode: '2775'
group: apache
- sefcontext:
target: '/webdev/index.html'
setype: httpd_sys_content_t
state: present
- name: Apply new SELinux file context to filesystem
command: restorecon -irv
- name: creating symbolic link
file:
src: /webdev
dest: /var/www/html/webdev
state: link
force: yes
- name: creating file
file:
path: /webdev/index.html
sate: touch
- name: Adding content to index.html file
copy:
dest: /webdev/index.html
content: "Development"
- name: add service to the firewall
firewalld:
service: http
permanent: yes
state: enabled
immediate: yes
- name: active http service
service:
name: httpd
state: restarted
enabled: yes
:wq
# ansible-playbook web.yml --syntax-check
# ansible-playbook web.yml
===================================================================================
control.realmX.example.com _ workstation.lab.example.com
node1.realmX.example.com _ servera.lab.example.com
node2.realmX.example.com _ serverb.lab.example.com
node3.realmX.example.com _ serverc.lab.example.com
node4.realmX.example.com _ serverd.lab.example.com
node5.realmX.example.com
- username:root, password:redhat
- username:admin, password:redhat
note1. don't change 'root' or 'admin' password.
note2. no need to create ssh-keygen for access, its pre-defined
note3. SELinux is in enforcing mode and firewalld is disabled/stop on whole managed hosts.
Rekey an existing Ansible vault as follows:
-----------------------------------------------
* Download Ansible vault from http:// classroom.example.com /secret.yml to /home/
admin/ansible/
* The current vault password is curabete
* The new vault password is newvare
* The vault remains in an encrypted state with the new password
Solution as:
# pwd
/home/admin/ansible/
# wget http://classroom.example.com/secret.yml
# chmod 0600 newpassword.txt
# ansible-vault rekey vault.yml --new-vault-password-file=newpassword.txt
Install and configure ansible
User bob has been created on your control node. Give him the appropriate permissions on the control node. Install the necessary packages to run ansible on the control node.
Create a configuration file /home/bob/ansible/ansible.cfg to meet the following requirements:
* The roles path should include /home/bob/ansible/roles, as well as any other path that may be required for the course of the sample exam.
* The inventory file path is /home/bob/ansible/inventory.
* Ansible should be able to manage 10 hosts at a single time.
* Ansible should connect to all managed nodes using the bob user.
Create an inventory file for the following five nodes:
nodel.example.com
node2.example.com
node3.example.com
node4.example.com
node5.example.com
Configure these nodes to be in an inventory file where node1 is a member of group dev. nodc2 is a member of group test, nodc3 is a member of group proxy, nodc4 and node 5 are members of group prod. Also, prod is a member of group webservers.
In/home/sandy/ansible/ansible.cfg
[defaults]
inventory=/home/sandy/ansible/inventory
roles_path=/home/sandy/ansible/roles
remote_user= sandy
host_key_checking=false
[privilegeescalation]
become=true
become_user=root
become_method=sudo
become_ask_pass=false
In /home/sandy/ansible/inventory
[dev]
node 1 .example.com
[test]
node2.example.com
[proxy]
node3 .example.com
[prod]
node4.example.com
node5 .example.com
[webservers:children]
prod
===================================================================================
control.realmX.example.com _ workstation.lab.example.com
node1.realmX.example.com _ servera.lab.example.com
node2.realmX.example.com _ serverb.lab.example.com
node3.realmX.example.com _ serverc.lab.example.com
node4.realmX.example.com _ serverd.lab.example.com
node5.realmX.example.com
- username:root, password:redhat
- username:admin, password:redhat
note1. don't change 'root' or 'admin' password.
note2. no need to create ssh-keygen for access, its pre-defined
note3. SELinux is in enforcing mode and firewalld is disabled/stop on whole managed hosts.
Generate a hosts file:
* Download an initial template file hosts.j2 from http://classroom.example.com/
hosts.j2 to
/home/admin/ansible/ Complete the template so that it can be used to generate a file
with a
line for each inventory host in the same format as /etc/hosts:
172.25.250.9 workstation.lab.example.com workstation
* Create a playbook called gen_hosts.yml that uses this template to generate the file
/etc/myhosts on hosts in the dev host group.
* When completed, the file /etc/myhosts on hosts in the dev host group should have a
line for
each managed host:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.25.250.10 serevra.lab.example.com servera
172.25.250.11 serevrb.lab.example.com serverb
172.25.250.12 serevrc.lab.example.com serverc
172.25.250.13 serevrd.lab.example.com serverd
-----------------------------------------------------------------
while practising you to create these file hear. But in exam have to download as per
questation.
hosts.j2 file consists.
localhost localhost.localdomain localhost4 localhost4.localdomain4
::1
localhost localhost.localdomain localhost6 localhost6.localdomain6
-------------------------------------------------------------------
Solution as:
# pwd
/home/admin/ansible
# wget http://classroom.example.com/hosts.j2
# vim hosts.j2
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1
localhost localhost.localdomain localhost6 localhost6.localdomain6
{% for host in groups['all'] %}
{{ hostvars[host]['ansible_facts']['default_ipv4']['address'] }} {{ hostvars[host]
['ansible_facts']['fqdn'] }} {{ hostvars[host]['ansible_facts']['hostname'] }}
{% endfor %}
:wq!
# vim gen_hosts.yml
---
- name: collecting all host information
hosts: all
tasks:
- name:
template:
src: hosts.j2
dest: /etc/myhosts
when: inventory_hostname in groups['dev']
:wq
# ansible-playbook gen_hosts.yml --syntax-check
# ansible-playbook gen_hosts.yml




相坂**
Miyasawa
阿立**
Masuda
