
Virtual Private CloudãµãŒãã¹ã«ã¯ãä»®æ³ãã·ã³ãäœæããããã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®æ¢è£œã€ã¡ãŒãžã®å€§ããªã»ããããããŸãã
ãã ããå€ãã®ãŠãŒã¶ãŒã¯åœç€Ÿã®ãµãŒãã¹ã«å«ãŸããŠããªãç»åãå¿
èŠãšããŸããããšãã°ãå¿
èŠãªãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®çš®é¡ãããŒãžã§ã³ã¯ããã»ã©äžè¬çã§ã¯ãããŸããã
åãã¿ã€ãã®ãµãŒããŒã®ã¯ã©ã¹ã¿ãŒãå±éãããŠãŒã¶ãŒãªã©ãæ¢è£œã®ã€ã¡ãŒãžã§ãã¬ã€ã³ã¹ããŒã«ãããããã±ãŒãžãŸãã¯ã·ã¹ãã æ§æãã¡ã€ã«ã®ã»ãããå€æŽããããšãå¿
èŠã«ãªãå ŽåããããŸãã
ãµãŒããŒãã€ã³ã¹ããŒã«ããåŸã«æ¯ååãæ§æãè¡ããªãããã«ããããã«ãå¿
èŠãªå€æŽãå ããã€ã¡ãŒãžãæºåãããã®æ¹æ³ã§å€æ°ã®åæ§ã®ä»®æ³ãã·ã³ã®ã€ã³ã¹ããŒã«ãé«éåã§ããŸãã ãã®èšäºã§ã¯ããããã©ã®ããã«è¡ããããã瀺ããŸãã
äŸãšããŠãUbuntu 16.04ã®ã€ã¡ãŒãžã䜿çšãããŸãïŒäœæ¥ç°å¢ã®æºåãå¿
èŠãªãã©ã¡ãŒã¿ãŒã®èšå®ãã¯ã©ãŠããµãŒãã¹ãžã®ã€ã¡ãŒãžã®ã¢ã»ã³ãã«ãšã¢ããããŒãã
Virtual Private CloudãµãŒãã¹ã®ãã¹ãŠã®è¿œå æ©èœãšå®å
šãªäºææ§ãæã€ã€ã¡ãŒãžãæºåããããã«å¿
èŠãªæé ãæ€èšãããŸãã
ã€ã¡ãŒãžãæ§ç¯ããããŒã«ãšããŠdiskimage-builderã䜿çšããŸãã ããã¯ãOpenStackã³ãã¥ããã£ã§ãµããŒããããŠãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ããã¡ã€ã«ã·ã¹ãã ããªãŒãã³ãœãŒã¹RAMãã£ã¹ã¯ã®ã€ã¡ãŒãžãæºåããããã®ã³ã³ããŒãã³ãã®ã»ããã§ãã
ãã®ããŒã«ã¯ãæãäžè¬çãªGNU / Linuxãã£ã¹ããªãã¥ãŒã·ã§ã³ã®ã€ã¡ãŒãžã³ã°ããµããŒãããŠããŸãã
- Centos
- Debian
- ãã§ãã©
- Rhel
- Ubuntu
- ãžã§ã³ããŒ
- OpenSUSE
ããã©ã«ãã§ã¯ãdiskimage-builderã¯ã¯ã©ãŠãããŒãžã§ã³ã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ã€ã¡ãŒãžãæºåããŸãããã®ãããã€ã¡ãŒãžã«ã¯cloud-initããã³cloud-utilsããã±ãŒãžãå«ãŸããŸãããããã¯ã¯ã©ãŠãã§ã®èªåã·ã¹ãã æ§æã«å¿
èŠã§ãã
Ubuntu 16.04ã€ã¡ãŒãžã®äœæ
Ubuntu 14.04ãå®è¡ããŠãããã·ã³ã§ã€ã¡ãŒãžãæºåããŸãã
ãŸããå¿
èŠãªäŸåé¢ä¿ã確ç«ããŸãã
sudo apt update sudo apt -y install python-pip curl
次ã«ãdiskimage-builderãã€ã³ã¹ããŒã«ããŸãã
sudo pip install diskimage-builder
äœæ¥çšã®ããŒã¹ãã£ã¬ã¯ããªãäœæããŸãããã
mkdir -p ~/diskimage-builder/{images,elements}
diskimage-builderãèšå®ããã«ã¯ãããã€ãã®è¿œå ãã©ã¡ãŒã¿ãŒãæå®ããå¿
èŠããããŸãããã®å€ã¯ã·ã§ã«ç°å¢å€æ°ã«çŽæ¥ä¿åãããŸãïŒãããã£ãŠãã³ãã³ãã©ã€ã³ã§æå®ã§ããŸãïŒã
- ARCH = "amd64" -ã€ã¡ãŒãžã¢ãŒããã¯ãã£ã
- BASE_ELEMENTS = "ubuntu bootloader cloud-init-datasources" -ããã§ã¯ãdiskimage-builderã§äœ¿çšãããèŠçŽ ã瀺ããŸãã èŠçŽ ã¯ãã€ã¡ãŒãžãæºåããã³å€æŽããããã®ãã¹ãŠã®ã«ãŒãã³ã¢ã¯ã·ã§ã³ãå®è¡ããbashã¹ã¯ãªããã®ã»ããã§ãã ç§ãã¡ã«ãšã£ãŠæãéèŠãªã®ã¯ãubuntuèŠçŽ ã§ããããã¯ãæšæºã®å
ŒΎ
åžã€ã¡ãŒãžãããŠã³ããŒãããŠå±éãã chrootãŠãŒãã£ãªãã£ã䜿çšããŠãå¿
èŠãªããã±ãŒãžãã€ã³ã¹ããŒã«ããã·ã¹ãã ãã€ã¡ãŒãžå
ã®çŸåšã®ç¶æ
ã«æŽæ°ãã䜿çšå¯èœãªç¶æ
ã«ãã¹ãŠãåéããŸãã ããŒãããŒããŒèŠçŽ ã¯ãæºåäžã®ã·ã¹ãã ã€ã¡ãŒãžã«ããŒãããŒããŒïŒãã®å Žåã¯GRUB2ïŒãã€ã³ã¹ããŒã«ããcloud-init-datasourcesã¯cloud-initãŠãŒãã£ãªãã£ã®ããŒã¿ãœãŒã¹ã®ãªã¹ãã転éããŸããããã¯ãèµ·åæã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®åææ§æã«å¿
èŠã§ãã
- DIB_CLOUD_INIT_DATASOURCES = "ConfigDriveãEc2"-cloud -init-datasourcesèŠçŽ ã®ããŒã¿ãœãŒã¹ã
- DIB_RELEASE = "xenial" -ã€ã¡ãŒãžã®äœæã«äœ¿çšãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ããŒãžã§ã³ã
- IMAGE_PATH = "ã/ diskimage-builder / images / ubuntu-16.04" -ã€ã¡ãŒãžã®ååãšãã¹ã
ã€ã¡ãŒãžã¯ã次ã®ã³ãã³ãã䜿çšããŠæ§ç¯ãããŸãã
disk-image-create vm $BASE_ELEMENTS -t raw -o $IMAGE_PATH
-tã¹ã€ããã®åŸã«ãç®çã®ç»å圢åŒãæå®ããŸãã ãµããŒããããŠããç»åïŒqcow2ãtarãvhdãdockerãrawã
ç»åãçŽæ¥çµã¿ç«ãŠãåã«ãã·ã¹ãã ã§è¿œå èšå®ãè¡ãå¿
èŠããããŸããããšãã°ã次ã®ããã«ãªããŸãã
- ã·ã¹ãã ã«è¿œå ããã±ãŒãžãã€ã³ã¹ããŒã«ããŸãã
- predictable_interface_namingã¡ã«ããºã ãç¡å¹ã«ããŸããããã«ãããéåžžã®ã€ã³ã¿ãŒãã§ã€ã¹åeth0ãeth1ã...ãenp0s3ãens3ãªã©ã®åœ¢åŒã®ååã«å€æŽãããŸãã
- ubuntuãŠãŒã¶ãŒã®äœæãç¡å¹ã«ããSSHãä»ããrootãŠãŒã¶ãŒãžã®ã¢ã¯ã»ã¹ãèš±å¯ããŸãã
- ãã®ã€ã¡ãŒãžããäœæãããåä»®æ³ãã·ã³ã®SSHããŒãåçæããŸãã
- ããªã»ããã®ã¿ã€ã ãŸãŒã³ãå€æŽããŸãã
ãããè¡ãã«ã¯ãã/ diskimage-builder / elementsãã£ã¬ã¯ããªã«è¿œå ã®èŠçŽ ãäœæããå¿
èŠããããŸãã
ãã£ã¬ã¯ããªãäœæããŸãã
mkdir -p ~/diskimage-builder/elements/ubuntu-16-custom/{install.d,post-install.d,finalise.d}
ã/ diskimage-builder / elements / ubuntu-16-customãã£ã¬ã¯ããªå
ã§ãæ°ããèŠçŽ ã®èª¬æãå«ãREADME.rstãã¡ã€ã«ãäœæããŸãã
================ ubuntu-16-custom ================ Customize Ubuntu 16.04 (Xenial)
ã/ diskimage-builder / elements / ubuntu-16-custom / install.dãã£ã¬ã¯ããªã§ã50-install-additional-packagesã¹ã¯ãªãããäœæããŸãã
install.dãã£ã¬ã¯ããªå
ã®ã¹ã¯ãªããã¯ãã¡ã€ã³ããã±ãŒãžã®ã€ã³ã¹ããŒã«äžã«ã€ã¡ãŒãžãæ§ç¯ããããšãã«å®è¡ãããŸãã äœæãã50-install-additional-packagesã¹ã¯ãªããã¯ãã·ã¹ãã ã«pythonããŒãžã§ã³2.7ãã€ã³ã¹ããŒã«ããŸããããã¯ãå€ãã®ã¢ããªã±ãŒã·ã§ã³ãåäœããããã«ãŸã å¿
èŠã§ãã ããã©ã«ãã§ã¯ãUbuntu 16.04ã€ã¡ãŒãžã«ã¯PythonããŒãžã§ã³3.5ã®ã¿ãååšããŸãã
ãŸããå¿
èŠãªããã±ãŒãžããã®ãªã¹ãã«è¿œå ããŠãã€ã¡ãŒãžã«ã€ã³ã¹ããŒã«ããå¿
èŠããããŸãã
次ã«ãã/ diskimage-builder / elements / ubuntu-16-custom / post-install.dãã£ã¬ã¯ããªã§ãã·ã¹ãã æ§æãå€æŽãã50-configure-systemã¹ã¯ãªãããäœæããå¿
èŠããããŸãã
post-install.dãã£ã¬ã¯ããªå
ã®ã¹ã¯ãªããã¯ãinstall.dãã£ã¬ã¯ããªå
ã®ã¹ã¯ãªããã®çŽåŸã«å®è¡ãããŸãã
ãŸããGRUBèšå®ãå€æŽããŠèµ·åãã©ã¡ãŒã¿ãŒãnet.ifnames = 0ããè¿œå ããå¿
èŠããããŸããããã«ãããã€ã³ã¿ãŒãã§ã€ã¹åã䜿ãæ
£ããethN圢åŒã§ä¿åãããŸãã
ã/ diskimage-builder / elements / ubuntu-16-custom / finalise.dãã£ã¬ã¯ããªã«50-configure-grubã¹ã¯ãªãããè¿œå ããŸãã
finalise.dãã£ã¬ã¯ããªå
ã®ã¹ã¯ãªããã¯ãã€ã¡ãŒãžãæºåããããã®ãã¹ãŠã®åºæ¬çãªã¹ãããã®åŸã«å®è¡ãããŸãã
説æããã¹ã¯ãªãããäœæããåŸããããã®å±æ§ãå€æŽããå¿
èŠããããŸãããã®ããã«ã chmodã³ãã³ããå®è¡ããŸãã
chmod 0755 ~/diskimage-builder/elements/ubuntu-16-custom/*d/*
次ã«ãç»åãäœæããåã«ãæ°ããèŠçŽ ã®ãã¹ãæå®ããå¿
èŠããããŸãã ããã¯ã ELEMENTS_PATHãã©ã¡ãŒã¿ãŒã䜿çšããŠå®è¡ã§ããŸãã
ã³ãã³ãã©ã€ã³ã§æ¯åãã©ã¡ãŒã¿ãŒãçŽæ¥æå®ããªãããã«ããã«ã¯ãã/ diskimage-builder /ãã£ã¬ã¯ããªã§ãdiskimage-builderãã©ã¡ãŒã¿ãŒãèšå®ããŠã€ã¡ãŒãžããã«ãããbuild-ubuntu-16.04ã¹ã¯ãªãããäœæããŸãã
ãã®ãã¡ã€ã«ã®å±æ§ãå€æŽããŸãã
chmod 0755 ~/diskimage-builder/build-ubuntu-16.04
ãã®åŸã次ã®ãã¡ã€ã«éå±€ãååŸããå¿
èŠããããŸãã
$tree -p ~/diskimage-builder /home/user/diskimage-builder âââ [-rwxr-xr-x] build-ubuntu-16.04 âââ [drwxr-xr-x] elements â âââ [drwxr-xr-x] ubuntu-16-custom â âââ [drwxr-xr-x] finalise.d â â âââ [-rwxr-xr-x] 50-configure-grub â âââ [drwxr-xr-x] install.d â â âââ [-rwxr-xr-x] 50-install-additional-packages â âââ [drwxr-xr-x] post-install.d â â âââ [-rwxr-xr-x] 50-configure-cloud-init â âââ [-rw-r--r--] README.rst âââ [drwxr-xr-x] images
build-ubuntu-16.04ã¹ã¯ãªãããå®è¡ããŸãã
cd ~/diskimage-builder sudo ./build-ubuntu-16.04
sudoãåŒã³åºããšãã¯ããã¹ã¯ãŒããå
¥åãããšããææ¡ãã€ã¡ãŒãžæºåããã»ã¹ã®éäžã§è¡šç€ºãããªãããã«ããŠãŒãã£ãªãã£ãå¿
èŠã§ãã ãã®åäœã¯ãããã€ãã®äºåå®çŸ©ãããdiskimage-builderèŠçŽ ã«sudoåŒã³åºãïŒããšãã°ãã»ãšãã©ã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã®ã¢ã»ã³ããªäžã«å®è¡ãããåºæ¬èŠçŽ ããã®01-ccacheã¹ã¯ãªããïŒãå«ãŸããŠãããšããäºå®ã«ãã£ãŠèª¬æãããŸãã
ã¹ã¯ãªããã®æåŸã§ãæ°ããã€ã¡ãŒãžã¯ã/ diskimage-builder / images / ubuntu-16.04.rawãã£ã¬ã¯ããªã«é
眮ãããŸãã
Selectel Virtual Private CloudãµãŒãã¹ã§äœæããã€ã¡ãŒãžã䜿çšããã«ã¯ã VPCããã«ã®Webã€ã³ã¿ãŒãã§ãŒã¹ãŸãã¯glance APIããããŠã³ããŒãããŸã ã
ã«ãŒããã¹ã¯ãŒãã¯ã€ã¡ãŒãžã®ãã«ããã§ãŒãºäžã«åé€ããããããSSHãä»ããä»®æ³ãã·ã³ãžã®ã¢ã¯ã»ã¹ã¯æåã¯ããŒã«ãã£ãŠã®ã¿å¯èœã«ãªãããšã«æ³šæããŠãã ããã VPCããã«ã§ãã·ã³ãäœæãããšãã«SSHããŒãè¿œå ã§ããŸãã ãµãŒããŒãžã®ã¢ã¯ã»ã¹ã¯ãã³ã³ãããŒã«ããã«ã®no-VNCä»®æ³ã³ã³ãœãŒã«ãããå¯èœã§ãããã®å Žåãrootãã¹ã¯ãŒããèšå®ãããŠããªããã°ãå
¥åããå¿
èŠã¯ãããŸããã
rootãã¹ã¯ãŒãã¯ãpasswdãŠãŒãã£ãªãã£ã䜿çšããŠæšæºçãªæ¹æ³ã§èšå®ãããŸãã
Virtual Private CloudïŒVPCïŒãµãŒãã¹ã§äžèšã®æé ã䜿çšããŠäœæãããã€ã¡ãŒãžã䜿çšããããšãããšãããã€ãã®å¶éãçºçããŸãã 次ã®VPCæ©èœã¯å©çšã§ããŸããã
- VPCãµãŒãã¹ã«ãã£ãŠçæãããåæãã¹ã¯ãŒããèšå®ããŸãã
- VPC Webããã«ããã«ãŒããã¹ã¯ãŒããå€æŽããŸãã
- nova APIã䜿çšããŠã«ãŒããã¹ã¯ãŒããå€æŽããŸã ã
- VPC Webããã«ããããã©ã«ãã«ãŒãã®ã€ã³ã¿ãŒãã§ãŒã¹ãå€æŽãã
- ãµãŒããŒã³ã³ãããŒã«ããã«ã§å€æŽãããå Žåãã·ã¹ãã å
ã®ãããã¯ãŒã¯ã€ã³ã¿ãŒãã§ã€ã¹èšå®ã®èªåå€æŽã
次ã®ã»ã¯ã·ã§ã³ã§ã¯ãå®å
šã«äºææ§ã®ããVPCã€ã¡ãŒãžãäœæããæ¹æ³ã瀺ããŸãã
Virtual Private CloudãµãŒãã¹ã®ã€ã¡ãŒãžãäœæãã
äœæãããã€ã¡ãŒãžãVPCãµãŒãã¹ãšå®å
šã«äºææ§ãæã€ããã«ããã«ã¯ãã¢ã»ã³ããªæ®µéã§ãã€ã¡ãŒãžã®ããããã£ã«è¿œå ã®ããããã£ãè¿œå ããã·ã¹ãã ã«è¿œå ã®ããã±ãŒãžãã€ã³ã¹ããŒã«ããå¿
èŠããããŸãã
å¥ã®ubuntu-16-selectelèŠçŽ ãè¿œå ããŸãããã®ããã«ããã£ã¬ã¯ããªãäœæããŸãã
mkdir -p ~/diskimage-builder/elements/ubuntu-16-selectel/
ãã®ãã£ã¬ã¯ããªå
ã§ãREADME.rstãã¡ã€ã«ã«èŠçŽ ã®èª¬æãè¿œå ããŸãã
==================== ubuntu-16-selectel ==================== Build ubuntu image for Virtual Private Cloud
æ°ããèŠçŽ ã«å¿
èŠãªãã£ã¬ã¯ããªãäœæããŸãã
mkdir -p ~/diskimage-builder/elements/ubuntu-16-selectel/{pre-install.d,install.d,post-install.d}
ã¹ã¯ãªããã§ãªããžããªã®ãªã¹ããå€æŽããŸãã/ diskimage-builder / elements / ubuntu-16-selectel / pre-install.d / 50-add-mirrorsïŒ
ã¹ã¯ãªããã/ diskimage-builder / elements / ubuntu-16-selectel / install.d / 50-add-selectel-packagesã§è¿œå ã®ããã±ãŒãžãè¿œå ããŸãã
次ã®ãŠãŒãã£ãªãã£ãã€ã³ã¹ããŒã«ãããŸãã
- crontab-randomizerã¯ã/ etc / crontabã®æéééãã©ã³ãã åããåçŽãªã¹ã¯ãªããã§ããã·ã¹ãã ã®æåã®èµ·åæã«ãã®ã¹ã¯ãªãããžã®åŒã³åºããè¿œå ããŸãã
- fstrim-blocks-ããªã€ã³ã¹ããŒã«ãããfstrimãŠãŒãã£ãªãã£ã®ã©ãããŒãçãééã§ãããã¯ããšã«é«éãã£ã¹ã¯ã§TRIMãã¡ã€ã«ã·ã¹ãã ãå®è¡ã§ããŸããã€ã³ã¹ããŒã«äžã«cron.weeklyãžã®åŒã³åºããè¿œå ãããŸãã
- qemu-guest- agent-ã·ã¹ãã ãä»®æ³ãã·ã³ã«ç®¡çããããã®QMPã³ãã³ãã転éã§ãããŠãŒãã£ãªãã£ããã®å Žåããã®ãŠãŒãã£ãªãã£ã¯VPCããã«ãšnova APIãä»ããŠä»®æ³ãã·ã³ã®ãã¹ã¯ãŒããå€æŽããããã«å¿
èŠã§ãã
- set-root-pw -OpenStackã¡ã¿ããŒã¿ããååŸãããã¹ã¯ãŒãã®ä»®æ³ãã·ã³ãžã®åæã€ã³ã¹ããŒã«çšã®ã¹ã¯ãªããã次ã«ãã·ã¹ãã ã®æåã®èµ·åæã«ãã®ã¹ã¯ãªãããžã®åŒã³åºããè¿œå ããŸãã
ãŸããã€ã¡ãŒãžã®ã¢ã»ã³ããªäžã«ãcloud-initããã±ãŒãžãSelectel OpenStackãã©ãŒã«ããããŒãžã§ã³ã«èªåçã«æŽæ°ãããŸãã ãã®ããŒãžã§ã³ã«ã¯ãä»®æ³ãã·ã³ãšVPCãµãŒãã¹éã®ãããã¯ãŒã¯èšå®ã®äžè²«æ§ãä¿èšŒããããããå«ãŸããŠããŸãã
ã€ã¡ãŒãžã®ã¢ã»ã³ããªäžã®ããã±ãŒãžã®èªåæŽæ°ã¯ãinstall.dã¹ããŒãžäžã«äºåå®çŸ©ãããã¹ã¯ãªãã00-up-to-dateã䜿çšããŠè¡ãããŸãã
次ã«ãcloud-initã«è¿œå ã®æ§æãã¡ã€ã«ãè¿œå ããã/ diskimage-builder / elements / ubuntu-16-selectel / post-install.dãã£ã¬ã¯ããªã«ã¹ã¯ãªãã50-configure-cloud-initãäœæããå¿
èŠããããŸãã
ãŸããfstrim-blocksã䜿çšããå Žåã¯ãå®çŸ©æžã¿ã®ã¹ã¯ãªãã/etc/cron.weekly/fstrimãåé€ããããšããå§ãããŸããå®çŸ©æžã¿ã®ããŒãžã§ã³ã«ã¯ãããã¯èµ·åãªãã·ã§ã³ãå«ãŸããŠããªããããfstrimã®èµ·åæã«ã·ã¹ãã ã«è¿œå ã®è² è·ãããããŸãã
ã·ã³ãã«ãªã¹ã¯ãªããã§ãã®ãã¡ã€ã«ãåé€ããŠãã ããã/ diskimage-builder / elements / ubuntu-16-selectel / post-install.d / 51-remove-fstrim-weeklyïŒ
æ°ããã¹ã¯ãªããã®å±æ§ãå€æŽããŸãã
chmod 755 ~/diskimage-builder/elements/ubuntu-16-selectel/*d/*
ã/ diskimage-builder / build-ubuntu-16.04ã¹ã¯ãªããã«æ°ããubuntu-16-selectelèŠçŽ ãè¿œå ããŸãã
ãã¡ã€ã«éå±€ã¯æ¬¡ã®ããã«ãªããŸãã
$ tree -p diskimage-builder diskimage-builder âââ [-rw-r--r--] build-ubuntu-16.04 âââ [drwxr-xr-x] elements âââ [drwxr-xr-x] ubuntu-16-custom â âââ [drwxr-xr-x] finalise.d â â âââ [-rwxr-xr-x] 50-configure-grub â âââ [drwxr-xr-x] install.d â â âââ [-rwxr-xr-x] 50-install-additional-packages â âââ [drwxr-xr-x] post-install.d â â âââ [-rwxr-xr-x] 50-configure-system â âââ [-rw-r--r--] README.rst âââ [drwxr-xr-x] ubuntu-16-selectel âââ [drwxr-xr-x] install.d â âââ [-rwxr-xr-x] 50-add-selectel-packages âââ [drwxr-xr-x] post-install.d â âââ [-rwxr-xr-x] 50-configure-cloud-init âââ [drwxr-xr-x] pre-install.d â âââ [-rwxr-xr-x] 50-add-selectel-openstack-mirror âââ [-rw-r--r--] README.rst
ã€ã¡ãŒãžã¢ã»ã³ããªãå®è¡ããŸãã
cd ~/diskimage-builder sudo ./build-ubuntu-16.04
å¿
èŠãªãã¹ãŠã®ããããã£ãå«ãã€ã¡ãŒãžãããŠã³ããŒãããã«ã¯ããããžã§ã¯ãã«ã¢ã¯ã»ã¹ããããã®glanceãŠãŒãã£ãªãã£ãšRCãã¡ã€ã«ãå¿
èŠã§ãïŒã³ã³ãããŒã«ããã«ã§ããŠã³ããŒãã§ããŸããå¿
èŠãªãã¹ãŠã®æé ã¯ããã«å
¬éãããŠããŸãïŒ https://support.selectel.ru/vpc/access/ ã
ããŒãããã³ãã³ãã¯æ¬¡ã®ããã«ãªããŸãã
glance image-create --name Ubuntu-16.04-VPC \ --disk-format raw \ --container-format bare \ --property hw_disk_bus=scsi \ --property hw_scsi_model=virtio-scsi \ --property x_sel_image_owner=Selectel \ --property hw_qemu_guest_agent=yes \ --file ~/diskimage-builder/images/ubuntu-16.04.raw \ --progress
ããŒããããšã次ã®ããããã£ãè¿œå ãããŸãã
- hw_qemu_guest_agent = yes -VPCããã«ãŸãã¯nova APIãä»ããŠãµãŒããŒãã¹ã¯ãŒããå€æŽããã¡ã«ããºã ããµããŒãããããã«å¿
èŠã§ãã ãã®ããããã£ã¯ãqemu-guest-agentãŠãŒãã£ãªãã£ãããŒãžã§ã³2.3以äžã§ããå Žåã«ã®ã¿æ©èœããŸãïŒããŒãžã§ã³2.5ã¯Ubuntu 16.04ã§äœ¿çšãããŸãïŒ
- x_sel_image_owner = Selectel -VPCããã«ã§ã®ãã¹ã¯ãŒãã®è¡šç€ºããµããŒãããããã«å¿
èŠã§ãã
- hw_disk_bus = scsi ã hw_scsi_model = virtio-scsi-ãããã®ããããã£ã«ãããããè¿ä»£çã§å¹ççãªvirtio-scsiãã¹ã䜿çšã§ããããã«ãªããŸãããã®å©ç¹ã®1ã€ã¯TRIMã䜿çšã§ããããšã§ãã
ããŠã³ããŒããããšãVPCãããžã§ã¯ãã®[ã€ã¡ãŒãž]ã¿ãã«Ubuntu-16.04-VPCãšããååã§ã€ã¡ãŒãžã衚瀺ãããŸãã
ãµãŒããŒãåããŠèµ·åãããšãrootãŠãŒã¶ãŒã®ãã¹ã¯ãŒããçæãããèªåçã«èšå®ãããŸãã ãã³ã³ãœãŒã«ãã¿ãã«è¡šç€ºãããå¿
èŠã«å¿ããŠæ°ãããã¹ã¯ãŒããçæããããšãã§ããŸãã
ãŸãã[ããŒã]ã¿ãã®ã³ã³ãããŒã«ããã«ã§ãããã¯ãŒã¯ã€ã³ã¿ãŒãã§ã€ã¹ãå€æŽããå ŽåããµãŒããŒäžã®ãããã¯ãŒã¯ã€ã³ã¿ãŒãã§ã€ã¹ãæåã§æ§æããå¿
èŠã¯ãããŸããã cloud-initã§ãããã¯ãŒã¯ã€ã³ã¿ãŒãã§ã€ã¹ãåæ§æããã«ã¯ãé»æºããªã³ã«ããŠãµãŒããŒãåèµ·åããå¿
èŠããããŸãã ãã®åŸãæ°ãããããã¯ãŒã¯èšå®ãæã€æ°ããOpenStackã¡ã¿ããŒã¿ãçæãããŸãã
ãµãŒããŒããªããŒããããã³ã«cloud-initãŠãŒãã£ãªãã£ãŒããããã¯ãŒã¯èšå®ãå€æŽããªãããã«ããããšãã§ããŸãã ãããè¡ãã«ã¯ãã€ã³ã¹ããŒã«ãããã·ã¹ãã ã§ããã¡ã€ã«/etc/cloud/cloud.cfg.d/99_disable_network_config.cfgãè¿œå ããŸãã
network: config: disabled
è¿ãå°æ¥ãã·ã¹ãã æ§æãç·šéããããšãªããVPCããã«Webã€ã³ã¿ãŒãã§ãŒã¹ãä»ããèªåãããã¯ãŒã¯åæ§æãçŠæ¢ããæ©èœãè¿œå ããŸãã
ãããã«
ãã®èšäºã§ã¯ãdiskimage-builderã®åºæ¬æ©èœã調ã¹ãç¬èªã®ã¹ã¯ãªãããè¿œå ããŠã€ã¡ãŒãžæ§æãå€æŽããæ¹æ³ãã¢ã»ã³ããªã®ã¡ã€ã³ã¹ããŒãžãå®æããã€ã¡ãŒãžãã¯ã©ãŠãç°å¢ã«ããŒãããäŸãåŠã³ãŸããã
ãã®ããŒã«ã䜿çšããäž»ãªæ¹æ³ã«ã€ããŠãŸã 質åãããå ŽåããŸãã¯VPCãµãŒãã¹ã§ã€ã¡ãŒãžãšä»®æ³ãã·ã³ã管çããç¹ã«ã€ããŠç解ããŠããªãå Žåã¯ãã³ã¡ã³ãã§ããã瀺ããŠãã ããã
diskimage-builderã䜿çšããç¬èªã®æ¹æ³ãå
±æããŠããã ããã°å¹žãã§ãã