Packer: рдкреИрдХрд░ рдЕрд╕реНрдерд╛рдпреА рдХреАрдкреЗрдпрд░ ~/.ssh/authorized_keys (AWS AMI) рд╕реЗ рдирд╣реАрдВ рд╣рдЯрд╛рдпрд╛ рдЧрдпрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 3 рдЕрдЧре░ 2016  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: hashicorp/packer

рдЕрдореЗрдЬрд╝реЕрди рд▓рд┐рдирдХреНрд╕ рдПрдПрдордЖрдИ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреИрдХрд░ рдХреЗ рд╕рд╛рде рдПрдПрдордЖрдИ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЕрдЧрд░ рдореИрдВ рдЙрд╕ рдПрдПрдордЖрдИ рдФрд░ рдПрд╕рдПрд╕рдПрдЪ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ ~/.ssh/authorized_keys рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЕрд╕реНрдерд╛рдпреА рдкреИрдХрд░ рдХреАрдкрд░ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣рд╛ рд╣реИ, рдЬреЛ рдПрдХ рд╕реБрд░рдХреНрд╖рд╛ рдЫреЗрдж рд╣реИред рдореИрдВ рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдПрдПрдордЖрдИ рд╕рд╣реЗрдЬреЗ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЙрд╕ рдлрд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдореИрдВ рдкреИрдХрд░ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ ~/.ssh/authorized_keys рдХреЛ рд╣рдЯрд╛рдХрд░ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ (рд╡рд┐рд╡рд░рдг рдиреАрдЪреЗ)

рдкреИрдХрд░ рд╕рдВрд╕реНрдХрд░рдг

рдкреИрдХрд░ v0.10.0

рдореЗрдЬрдмрд╛рди рдордВрдЪ

CentOS Linux рд░рд┐рд▓реАрдЬрд╝ 7.2.1511 (рдХреЛрд░)

PACKER_LOG=1 packer build template.json рд╕реЗ рдбреАрдмрдЧ рд▓реЙрдЧ рдЖрдЙрдЯрдкреБрдЯред

рдпрд╣рд╛рдБ рдкреИрдХрд░ рдЖрдЙрдЯрдкреБрдЯ рд╣реИ:

https://gist.github.com/tleyden/4cc13b530f08bcaef04f5233bf43daee

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВрдиреЗ PACKER_LOG=1 рдирд╣реАрдВ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

рдмрдЧ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ _simplest рдЙрджрд╛рд╣рд░рдг рдЯреЗрдореНрдкрд▓реЗрдЯ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ_

рд╕рд╛рдБрдЪрд╛: https://github.com/couchbase/build/blob/2afdc7329faaa6a2f25befda59509b70a4a38349/scripts/jenkins/mobile/ami/sync-gateway.json

рд╕реНрдХреНрд░рд┐рдкреНрдЯ:
рдЬреЗрдирдХреАрдВрд╕ рдкреИрдХрд░ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдФрд░ рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рдкреИрдХрд░ рдореЗрдВ рдкрд╛рд╕ рдХрд░рдирд╛:

-var 'source_ami=${source_ami}' -var 'ssh_username=${ssh_username}' -var 'couchbase_server_package_name=${couchbase_server_package_name}' -var 'couchbase_server_package_url=${couchbase_server_package_url}' -var 'couchbase_sync_gateway_package_base_url=${couchbase_sync_gateway_package_base_url}' -var 'couchbase_sync_gateway_package=${couchbase_sync_gateway_package}' -var 'couchbase_server_version=${couchbase_server_version}' -var 'couchbase_sync_gateway_version=${couchbase_sync_gateway_version}' -var 'couchbase_server_edition=${couchbase_server_edition}' -var 'sync_gateway_edition=${sync_gateway_edition}'

рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣рд▓

рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╛рд╡рдзрд╛рдирдХрд░реНрддрд╛ рдХреЛ рдкреИрдХрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдЬреЛрдбрд╝рд╛:

    {
        "type": "shell",
        "inline": [
        "rm /home/ec2-user/.ssh/authorized_keys"
        ]
    }

рдФрд░ рдПрдПрдордЖрдИ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ "рд▓реЙрдиреНрдЪ рдЗрдВрд╕реНрдЯреЗрдВрд╕" рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдореЗрдВ рдЪреБрдиреА рдЧрдИ рдХреБрдВрдЬреА рд╢рд╛рдорд┐рд▓ рдереА, рди рдХрд┐ рдкреИрдХрд░ рдЕрд╕реНрдерд╛рдпреА рдХреАрдкреЗрдпрд░ред

buildeamazon invalid

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЗрд╕рдХреА рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдпрд╣ рд╣реИ рдХрд┐ AWS рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИ рдХрд┐ рдХреНрд▓рд╛рдЙрдб-рдЗрдирд┐рдЯ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдк рдЬреЛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ рд╡рд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХреЛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЗрд╕рдХреА рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдпрд╣ рд╣реИ рдХрд┐ AWS рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИ рдХрд┐ рдХреНрд▓рд╛рдЙрдб-рдЗрдирд┐рдЯ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдк рдЬреЛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ рд╡рд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХреЛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдПрдХ рдореГрдд рдзрд╛рдЧреЗ рдХреЛ рдкреБрдирд░реНрдЬреАрд╡рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЬрдм рд╕реЗ рдореИрдВрдиреЗ рдЗрд╕реЗ рдкрд╛рдпрд╛ рдФрд░ рдлрд┐рд░ рдЕрдореЗрдЬрд╝реЕрди рд╕реЗ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХреА, рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рджреВрд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдпреЛрдЧрджрд╛рди рджреВрдВрдЧрд╛:

https://aws.amazon.com/articles/how-to-share-and-use-public-amis-in-a-secure-manner/

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд╡реЗ рд╕рднреА рдЕрдзрд┐рдХреГрдд_рдХреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВ:

find / -name "authorized_keys" -exec rm -f {} \;

рд╕рд╛рд╡рдзрд╛рдиреА: рд▓рд┐рдВрдХ рдХрд┐рдП рдЧрдП рдкреГрд╖реНрда рдкрд░ рдХрдорд╛рдВрдб рд╕рд╛рдорд╛рдиреНрдп рдбреИрд╢ (-) рдХреЗ рдорд┐рд╢реНрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдХреБрдЫ рдФрд░ рдЬреЛ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд▓реМрдЯрд╛рдПрдЧрд╛ред рдХрдорд╛рдВрдб рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЯрд╛рдЗрдк рдХрд░рдирд╛ рдпрд╛ рд╕реАрдзреЗ рдКрдкрд░ рд╡рд╛рд▓реЗ рдХреЛ рдХреЙрдкреА рдХрд░рдирд╛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд▓реЙрдХ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ _30 рджрд┐рдиреЛрдВ_ рдХреЗ рд▓рд┐рдП рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рд╣рдорд╛рд░реЗ рдЕрдиреБрд░рдХреНрд╖рдХреЛрдВ рдХреЛ рд╕рдХреНрд░рд┐рдп рдореБрджреНрджреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдФрд░ рдЙрди рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдкрдХреЛ рдРрд╕реА рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓реА рд╣реИ рдЬреЛ рдЗрд╕рдХреЗ рд╕рдорд╛рди рд▓рдЧрддреА рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓реЗрдВ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╣рдо рдЖрдЧреЗ рдХреА рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░ рд╕рдХреЗрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

craigsimon picture craigsimon  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

shashanksinha89 picture shashanksinha89  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

paulcdejean picture paulcdejean  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

brettswift picture brettswift  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

PartyImp picture PartyImp  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ