2016-12-16 3 views
1

Es dauerte einige Versuche und Fehler, um herauszufinden, wie Sie den AWS EFS mount-Befehl in eine Kochressource umwandeln, also dachte ich, dass ich teilen wollte.So mounten Sie ein AWS EFS-Volume mit Chef nfs Kochbuch

von amazon gegebenen Befehl:

sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 $(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone).fs-.efs.us-west-2.amazonaws.com:/ efs 

Antwort

4
include_recipe 'nfs' 

az = node['ec2']['placement_availability_zone'] 
region = az[0..-2] # trim last char 
file_system_id = 'fs-' 
efs_uri = "#{az}.#{file_system_id}.efs.#{region}.amazonaws.com:/" 

directory '/mnt/efs' do 
    owner 'root' 
    group 'root' 
    mode '0755 
    recursive true 
    action :create 
end 

mount '/mnt/efs' do 
    device efs_uri 
    fstype 'nfs4' 
    options 'nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2' 
    action [:mount, :enable] 
end 
+0

Es sieht aus wie vor kurzem pro sie gemacht Quer AZ DNS-Namen arbeiten http://docs.aws.amazon.com/efs/latest/ug/mounting -fs-mount-cmd-DNS-Name.html. Daher sollte der obige Code leicht in 'efs_uri =" {file_system_id} .efs. # {Region} .amazonaws.com:/"' umgestaltet werden. – runamok

Verwandte Themen