Amazon Linux AMI κΈ°λ°μ ν¨μ»€λ₯Ό μ¬μ©νμ¬ AMIλ₯Ό μμ±ν ν ν΄λΉ AMIμ μΈμ€ν΄μ€λ₯Ό μμνκ³ sshλ₯Ό μ
λ ₯νλ©΄ ~/.ssh/authorized_keys
νμΌμ μμ ν¨μ»€ ν€ μμ΄ νμλλλ° μ΄λ 보μ νμ μ
λλ€. AMIκ° μ μ₯λκΈ° μ μ ν΄λΉ νμΌμ΄ μμ λ κ²μΌλ‘ μμνμ΅λλ€.
ν¨μ»€ ν
νλ¦Ώμμ λͺ
μμ μΌλ‘ ~/.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μ μννμ§ μμμ§λ§ νμν κ²½μ° λ€μ μ€νν μ μμ΅λλ€.
λ²κ·Έλ₯Ό μ¬ννλ λ° νμν _κ°μ₯ κ°λ¨ν μμ ν νλ¦Ώ λ° μ€ν¬λ¦½νΈ_
μ€ν¬λ¦½νΈ:
Jenkins Packer νλ¬κ·ΈμΈμ μ¬μ©νκ³ λ€μμ ν΅ν΄ λ³μλ₯Ό ν¨μ»€μ μ λ¬:
-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"
]
}
AMIλ₯Ό μμν νμλ ν¨μ»€ μμ ν€ μμ΄ μλλΌ AWS "μΈμ€ν΄μ€ μμ" λ§λ²μ¬μμ μ νν ν€λ§ ν¬ν¨νμ΅λλ€.
μκ°μ λ΄μ΄ μ κ³ ν΄ μ£Όμ μ κ°μ¬ν©λλ€.
μ΄κ²μ΄ AWSκ° μλνλ λ°©μμ΄κ±°λ λ ꡬ체μ μΌλ‘ cloud-initκ° μλνλ λ°©μμ λλ€. ν΄κ²° λ°©λ²μΌλ‘ μ€λͺ νλ κ²μ μ€μ λ‘ μνν΄μΌ νλ μμ μ λλ€.
μ£½μ μ€λ λλ₯Ό λμ΄λ €μ μ£μ‘νμ§λ§ μλ§μ‘΄μμ λ λ§μ μ 보λ₯Ό μ°Ύμ ν λ€λ₯Έ μ¬λλ€μ μν΄ μ¬κΈ°μ κΈ°μ¬ν κ²μ΄λΌκ³ μκ°νμ΅λλ€.
https://aws.amazon.com/articles/how-to-share-and-use-public-amis-in-a-secure-manner/
μ컨λ, λͺ¨λ authorized_keys νμΌμ μ κ±°νλ €λ©΄ λ€μμ 루νΈλ‘ μ€ννλ κ²μ΄ μ’μ΅λλ€.
find / -name "authorized_keys" -exec rm -f {} \;
μ£Όμ: λ§ν¬λ νμ΄μ§μ λͺ λ Ήμ μΌλ° λμ(-)μ μ€λ₯λ₯Ό λ°ννλ λ€λ₯Έ κ²μ νΌν©νμ¬ μ¬μ©νκ³ μμ΅λλ€. λͺ λ Ήμ μλμΌλ‘ μ λ ₯νκ±°λ λ°λ‘ μμ μλ λͺ λ Ήμ 볡μ¬νλ©΄ μλν©λλ€.
μ΄ λ¬Έμ λ _30μΌ_ β³ λμ νμλμμΌλ―λ‘ μ κ·Έκ² μ΅λλ€. μ΄λ₯Ό ν΅ν΄ μ μ§ κ΄λ¦¬μκ° νμ± λ¬Έμ λ₯Ό μ°Ύκ³ μ§μ€ν μ μμ΅λλ€.
μ΄μ μ μ¬ν λ¬Έμ λ₯Ό λ°κ²¬ν κ²½μ° μΆκ° μ‘°μ¬μ νμν λͺ¨λ μΈλΆ μ 보λ₯Ό μΊ‘μ²ν μ μλλ‘ μ λ¬Έμ λ₯Ό μ΄κ³ λ¬Έμ ν νλ¦Ώμ μμ±νμμμ€.
κ°μ₯ μ μ©ν λκΈ
μκ°μ λ΄μ΄ μ κ³ ν΄ μ£Όμ μ κ°μ¬ν©λλ€.
μ΄κ²μ΄ AWSκ° μλνλ λ°©μμ΄κ±°λ λ ꡬ체μ μΌλ‘ cloud-initκ° μλνλ λ°©μμ λλ€. ν΄κ²° λ°©λ²μΌλ‘ μ€λͺ νλ κ²μ μ€μ λ‘ μνν΄μΌ νλ μμ μ λλ€.