JINKEI (AutoScaling HVM) EOS Resources do if $Stack_Type == 'autoscale' then _include 'include/iam/instance_profile.rb' else _include 'include/iam/for_stack_001.rb' end end Mappings do _include "include/mapping/ami_as.rb" _include "include/mapping/amimoto_config.rb" end k u m o g a t a & k u m o g a t a 2 • Codenize.tools ͷ̍ͭ • Ruby DSLͰCloudFormation͕ॻ͚Δ • ϦιʔεผʹϑΝΠϧΛ࡞ͬͯ include͢Ε࠶ར༻Ͱ͖Δ • ifมɾ_includeͰߏΧελϜ͕ ؆୯ʹ
Wo rd P re s s • WordPressͷίΞɾϓϥάΠϯͷόʔδϣϯΛ֬ೝ͍ͨ͠ • PHPOSͷόʔδϣϯݟ͓͔ͯͳ͍ͱ • ͲͷΠϯελϯεʹͲͷυϝΠϯ͕ೖ͍ͬͯΔ͔֬ೝ͍ͨ͠ • Let’s Encryptͷূ໌ॻߋ৽ࣗಈԽ͠ͳ͚Εɾɾɾ → ӡ༻ϚχϡΞϧɾखॱॻ͕ͲΜͲΜ૿͍͑ͯ͘
M a n a g e r f o r Wo rd P re s s • ཧ͍ͯ͠ΔαʔόʔʹΠϯετʔϧ͞ΕͨWPαΠτΛΠϯϕϯτϦ • ֤WordPressͷϓϥάΠϯ໊ͱόʔδϣϯΛΠϯϕϯτϦ • AWS ConfigΛͬͯʮউखʹຊ൪ΞοϓσʔτΒ͔ͨ࣌͠ظʯͷಛఆ • WP-CLI + Run commandͰWPૢ࡞͍͍ͩͨͳΜͰͰ͖Δ
- id: 0.aws:runShellScript runCommand: - INSTANCEID=$(/usr/bin/curl -s http:// 169.254.169.254/latest/meta-data/instance-id) - WPVERSION=$(sudo -u ec2-user /usr/ local/bin/wp core version --path=/var/www/html/) - ITEMS=$(jo -a $(jo CaptureTime=$(date +%Y-%m-%dT%H:%M:%SZ) TypeName=Custom:DefaultWPVersion Content=$ (jo -a $(jo wp_version=${WPVERSION})) SchemaVersion=\"1.0\") | sed 's/\\"//g') - aws ssm put-inventory --instance-id "$ {INSTANCEID}" --items "$(echo ${ITEMS})" A W S : : S S M : : D o c u m e n t • Run Command༻υΩϡϝϯτͷCFN • CloudFormation͔ͩΒYAMLͰ͔͚Δ • SSMͰ࣮ߦ͢ΔίϚϯυίʔυԽ
--instance-id=INSTANCE_ID -n, -- name=NAME Options: -n, --name=NAME # The name of the inventory type -i, --instance-id=INSTANCE_ID # EC2 Instance ID -c, --content=key:value # Parameters for the document [--schema-version=SCHEMA_VERSION] # The schema version for the <ޙུ> A tool to manage EC2 Systems Manager (SSM) Documents with programmable DSL. R E Z E P T
M a n a g e r ͬͯ Έͯ ײ ͡ ͨ ͜ ͱ • CloudFormationRezeptͰཧ͢Εӡ༻ָʹͰ͖ͦ͏ • AWSͷνϡʔτϦΞϧ͕ͳͷͰɺ؆୯ʹ͡ΊΔ͜ͱ͕Ͱ͖Δ • ͨͩ͠ຊޠͷهࣄ͕΄ͱΜͲແ͍ͷͰԠ༻ܥख୳ΓʹͳΓ͕ͪ • ʮແྉʯͰʮศརʯͳͷʹͳͥʁ