æãåçŽãªåœ¢åŒã§ã¯ãã€ã³ãã³ããªã¯éçãã¡ã€ã«ã§ããããã¯ãAnsibleã䜿ãå§ãããšãã«çæ³çã§ãããèªååãæ¡å€§ããã«ã€ããŠãäžååã«ãªããŸãã
ãããŠãããçç±ã§ãïŒ
- äœãã絶ããå€åããŠãããšããã¯ãŒã¯ããŒãïŒããã³ãããã®åŸã«ããããå®è¡ãããŠããããŒãïŒãçŸãããæ¶ããããããšãã«ãç£èŠå¯Ÿè±¡ããŒãã®å®å šãªãªã¹ããæŽæ°ããŠææ°ã®ç¶æ ã«ç¶æããã«ã¯ã©ãããã°ããã§ããïŒ
- -, ?
ãããã®äž¡æ¹ã®è³ªåã«å¯Ÿããçãã¯ãåçã€ã³ãã³ããªïŒåçã€ã³ãã³ããªaïŒãæäŸããŸããããã¯ãçå®ã®ãœãŒã¹ïŒçå®ã®ãœãŒã¹ïŒãåç §ããŠãèªååãŠããããæ¢ããŠããã¹ã¯ãªãããŸãã¯ãã©ã°ã€ã³ã§ããããã«ãåçã€ã³ãã³ããªã¯ããŒããã°ã«ãŒãã«èªåçã«åé¡ãããããAnsibleèªååãå®è¡ããã¿ãŒã²ããã·ã¹ãã ãããæ£ç¢ºã«éžæã§ããŸãã
ã€ã³ãã³ããªãã©ã°ã€ã³ã䜿çšãããšãAnsibleãŠãŒã¶ãŒã¯å€éšãã©ãããã©ãŒã ã«ã¢ã¯ã»ã¹ããŠã¿ãŒã²ããããŒããåçã«æ€çŽ¢ããã€ã³ãã³ããªãäœæãããšãã«ãããã®ãã©ãããã©ãŒã ãçå®ã®ãœãŒã¹ãšããŠäœ¿çšã§ããŸããæšæºã®AnsibleãœãŒã¹ãªã¹ãã«ã¯ãã¯ã©ãŠããã©ãããã©ãŒã AWS EC2ãGoogle GCPãããã³Microsoft Azureãå«ãŸããAnsibleçšã®ä»ã®å€ãã®ã€ã³ãã³ããªãã©ã°ã€ã³ããããŸãã
Ansible Towerã«ã¯ãç®±ããåºããŠããã«æ©èœããäžèšã®ã¯ã©ãŠããã©ãããã©ãŒã ã«å ããŠãVMware vCenterãRed Hat OpenStack Platformãããã³Red HatSatelliteãšã®çµ±åãæäŸããå€æ°ã®ã€ã³ãã³ããªãã©ã°ã€ã³ãä»å±ããŠããŸãããããã®ãã©ã°ã€ã³ã®å Žåãã¿ãŒã²ãããã©ãããã©ãŒã ã«æ¥ç¶ããããã®è³æ Œæ å ±ãæäŸããã ãã§ååã§ãããã®åŸãããããAnsibleTowerã®ã€ã³ãã³ããªããŒã¿ã®ãœãŒã¹ãšããŠäœ¿çšã§ããŸãã
Ansible Towerã§æäŸãããæšæºãã©ã°ã€ã³ã«å ããŠãAnsibleã³ãã¥ããã£ã§ãµããŒããããŠããä»ã®ã€ã³ãã³ããªãã©ã°ã€ã³ããããŸããRed Hat Ansible Content Collectionsãžã®ç§»è¡ã«äŒŽãããããã®ãã©ã°ã€ã³ã¯ããããã®ã³ã¬ã¯ã·ã§ã³ã«å«ãŸããŠããŸãã
ãã®æçš¿ã§ã¯ã人æ°ã®ããITãµãŒãã¹ç®¡çãã©ãããã©ãŒã ã§ããServiceNowã®ã€ã³ãã³ããªãã©ã°ã€ã³ã䜿çšããäŸãåãäžããŸãããã®ãã©ãããã©ãŒã ã§ã¯ã顧客ã¯ãã¹ãŠã®ããã€ã¹ã«é¢ããæ å ±ãCMDBã«ä¿åããããšããããããŸããããã«ãCMDBã«ã¯ããµãŒããŒã®ææè ããµãŒãã¹ã¬ãã«ïŒæ¬çª/éæ¬çªïŒãã€ã³ã¹ããŒã«ãããæŽæ°ãã¡ã³ããã³ã¹ãŠã£ã³ããŠãªã©ãèªååã«åœ¹ç«ã€ã³ã³ããã¹ããå«ããããšãã§ããŸããAnsibleã€ã³ãã³ããªãã©ã°ã€ã³ã¯CMDBServiceNowãšé£æºã§ããgalaxy.ansible.comã®servicenowã³ã¬ã¯ã·ã§ã³ã®äžéšã§ãã
Gitãªããžããª
Ansible Towerã®ã³ã¬ã¯ã·ã§ã³ã®ã€ã³ãã³ããªãã©ã°ã€ã³ã䜿çšããã«ã¯ããããžã§ã¯ããœãŒã¹ãšããŠèšå®ããå¿ èŠããããŸããAnsible Towerã§ã¯ããããžã§ã¯ãã¯gitãªããžããªãªã©ã®ããŒãžã§ã³å¶åŸ¡ã·ã¹ãã ãšã®çµ±åã§ãããèªååãã¬ã€ããã¯ã ãã§ãªããå€æ°ãã€ã³ãã³ããªãªã¹ããåæããããã«äœ¿çšã§ããŸãã
ç§ãã¡ã®ãªããžããªã¯å®éã«ã¯éåžžã«åçŽã§ãã
âââ collections
â âââ requirements.yml
âââ servicenow.yml
servicenow.ymlãã¡ã€ã«ã«ã¯ããã©ã°ã€ã³ã€ã³ãã³ããªã®è©³çŽ°ãå«ãŸããŠããŸãããã®å Žåã䜿çšããCMDBServiceNowã®ããŒãã«ãæå®ããã ãã§ãããŸããããŒãå€æ°ãšããŠè¿œå ããããã£ãŒã«ãã«å ããŠãäœæããã°ã«ãŒãã«é¢ããç¹å®ã®æ å ±ãèšå®ããŸãã
$ cat servicenow.yml
plugin: servicenow.servicenow.now
table: cmdb_ci_linux_server
fields: [ip_address,fqdn,host_name,sys_class_name,name,os]
keyed_groups:
- key: sn_sys_class_name | lower
prefix: ''
separator: ''
- key: sn_os | lower
prefix: ''
separator: ''
ããã¯ãæ¥ç¶å ã®ServiceNowã€ã³ã¹ã¿ã³ã¹ãæå®ãããã®ã§ã¯ãªããæ¥ç¶ããããã®è³æ Œæ å ±ãæå®ããªãããšã«æ³šæããŠãã ããããããã¯ãã¹ãŠãåŸã§AnsibleTowerã§æ§æããŸãã
ã³ã¬ã¯ã·ã§ã³/requirements.ymlãã¡ã€ã«ã¯ãAnsible Towerãå¿ èŠãªã³ã¬ã¯ã·ã§ã³ãããŠã³ããŒãããŠãå¿ èŠãªã€ã³ãã³ããªãã©ã°ã€ã³ãååŸã§ããããã«ããããã«å¿ èŠã§ãããã以å€ã®å Žåã¯ããã®ã³ã¬ã¯ã·ã§ã³ããã¹ãŠã®AnsibleTowerããŒãã«æåã§ã€ã³ã¹ããŒã«ããŠç¶æããå¿ èŠããããŸãã
$ cat collections/requirements.yml
---
collections:
- name: servicenow.servicenow
ãã®æ§æããœãŒã¹ã³ã³ãããŒã«ã«ããã·ã¥ãããã察å¿ãããªããžããªã«ãªã³ã¯ãããããžã§ã¯ããAnsibleTowerã«äœæã§ããŸãã以äžã®äŸã§ã¯ãAnsibleTowerãgithubãªããžããªã«ãªã³ã¯ããŠããŸããSCM URLã«æ³šæããŠãã ãããããã«ãããã¢ã«ãŠã³ããç»é²ããŠãã©ã€ããŒããªããžããªã«æ¥ç¶ããããç¹å®ã®ãã©ã³ããã¿ã°ãæå®ãããããã§ãã¯ã¢ãŠãã«ã³ããããããã§ããŸãã
ServiceNowã®è³æ Œæ å ±ãäœæããŸã
åè¿°ã®ããã«ããªããžããªå ã®æ§æã«ã¯ãServiceNowã«æ¥ç¶ããããã®è³æ Œæ å ±ãå«ãŸããŠããããéä¿¡ããServiceNowã€ã³ã¹ã¿ã³ã¹ãå ·äœåããããšããããŸããããããã£ãŠããã®ããŒã¿ãèšå®ããããã«ãAnsibleTowerã«è³æ Œæ å ±ãäœæããŸããServiceNowã€ã³ãã³ããªãã©ã°ã€ã³ã®ããã¥ã¡ã³ãã«ãããšãæ¥ç¶ãã©ã¡ãŒã¿ãèšå®ããããã®ç°å¢å€æ°ãããã€ããããŸããããšãã°ã次ã®ããã«ãªããŸãã
= username
The ServiceNow user account, it should have rights to read cmdb_ci_server (default), or table specified by SN_TABLE
set_via:
env:
- name: SN_USERNAME
ãã®å ŽåãSN_USERNAMEç°å¢å€æ°ãèšå®ãããŠãããšãã€ã³ãã³ããªãã©ã°ã€ã³ã¯ãããServiceNowã«æ¥ç¶ããããã®ã¢ã«ãŠã³ããšããŠäœ¿çšããŸãã
SN_INSTANCEå€æ°ãšSN_PASSWORDå€æ°ãèšå®ããå¿ èŠããããŸãã
ãã ããAnsible Towerã«ã¯ãã®ã¿ã€ãã®è³æ Œæ å ±ããªããServiceNowã«ãã®ããŒã¿ãæå®ã§ããŸãããã ããAnsible Towerã§ã¯ã«ã¹ã¿ã è³æ Œæ å ±ã¿ã€ããå®çŸ©ã§ããŸããããã«ã€ããŠè©³ããã¯ãèšäºãAnsible Toweræ©èœã¹ãããã©ã€ãïŒã«ã¹ã¿ã è³æ Œæ å ±ããåç §ããŠãã ããã
ãã®å ŽåãServiceNowã®ã«ã¹ã¿ã è³æ Œæ å ±ã®å ¥åæ§æã¯æ¬¡ã®ããã«ãªããŸãã
fields:
- id: SN_USERNAME
type: string
label: Username
- id: SN_PASSWORD
type: string
label: Password
secret: true
- id: SN_INSTANCE
type: string
label: Snow Instance
required:
- SN_USERNAME
- SN_PASSWORD
- SN_INSTANCE
ãããã®è³æ Œæ å ±ã¯ãåãååã®ç°å¢å€æ°ãšããŠå ¬éãããŸããããã¯ãã€ã³ãžã§ã¯ã¿ãŒæ§æã§èª¬æãããŠããŸãã
env:
SN_INSTANCE: '{{ SN_INSTANCE }}'
SN_PASSWORD: '{{ SN_PASSWORD }}'
SN_USERNAME: '{{ SN_USERNAME }}'
ããã§ãå¿ èŠãªè³æ Œæ å ±ã®ã¿ã€ããå®çŸ©ããŸãããããã§ãServiceNowã¢ã«ãŠã³ããè¿œå ããŠã次ã®ããã«ã€ã³ã¹ã¿ã³ã¹ããŠãŒã¶ãŒåãããã³ãã¹ã¯ãŒããèšå®ã§ããŸãã
åšåº«ãäœæããŸã
ããã§ãAnsibleTowerã«ã€ã³ãã³ããªãäœæããæºåãæŽããŸããããããServiceNowãšåŒã³ãŸãããïŒ
ã€ã³ãã³ããªãäœæããããããã«ããŒã¿ãœãŒã¹ãæ·»ä»ã§ããŸããããã§ã¯ãåã«äœæãããããžã§ã¯ãããã€ã³ããããœãŒã¹ã³ã³ãããŒã«ãªããžããªã«ã€ã³ãã³ããªYAMLãã¡ã€ã«ãžã®ãã¹ãå ¥åããŸãããã®å Žåã¯ããããžã§ã¯ãã®ã«ãŒãã«ããservicenow.ymlã§ããããã«ãServiceNowã¢ã«ãŠã³ãããã€ã³ãããå¿ èŠããããŸãã
ãã¹ãŠãã©ã®ããã«æ©èœãããã確èªããããã«ãããã¹ãŠåæããã¿ã³ãã¯ãªãã¯ããŠããŒã¿ãœãŒã¹ãšåæããŠã¿ãŸãããããã¹ãŠãæ£ããæ§æãããŠããå Žåã¯ãããŒããã€ã³ãã³ããªã«ã€ã³ããŒãããå¿ èŠããããŸãã
å¿ èŠãªã°ã«ãŒããäœæãããŠããããšã«æ³šæããŠãã ããã
çµè«
ãã®æçš¿ã§ã¯ãäŸãšããŠServiceNowãã©ã°ã€ã³ã䜿çšããŠãAnsibleTowerã®ã³ã¬ã¯ã·ã§ã³ããã€ã³ãã³ããªãã©ã°ã€ã³ã䜿çšããæ¹æ³ã確èªããŸããããŸããServiceNowã€ã³ã¹ã¿ã³ã¹ã«æ¥ç¶ããããã®è³æ Œæ å ±ãå®å šã«å²ãåœãŠãŸããããããžã§ã¯ãããã€ã³ãã³ããªãã©ã°ã€ã³ããã€ã³ããããšããµãŒãããŒãã£ãŸãã¯ã«ã¹ã¿ã ãã©ã°ã€ã³ã§æ©èœããã ãã§ãªããäžéšã®éåžžã®ã€ã³ãã³ããªã®äœæ¥ãå€æŽããããã«äœ¿çšããããšãã§ããŸããããã«ãããAnsible Automation Platformãæ¢åã®ããŒã«ãšã·ãŒã ã¬ã¹ãã€ã·ãŒã ã¬ã¹ã«çµ±åããŠããŸããŸãè€éåããITç°å¢ãèªååã§ããŸãã
ãã®æçš¿ã§åãäžããããŠãããããã¯ãããã³Ansibleã®äœ¿çšã«é¢ãããã®ä»ã®åŽé¢ã®è©³çŽ°ã«ã€ããŠã¯ããã¡ããã芧ãã ããã
- ServiceNowAnsibleã䜿çšããèªååã®ããã°ã
- .
- Red Hat Automation Hub (cloud.redhat.com).
- Ansible Automation Platform.
*Red Hat . , .