2016-12-16 14 views
1

AWS EFSマウントコマンドをchefリソースを使用するように変換する方法を理解するために試行錯誤しましたので、共有したいと思っていました。アマゾンで与えChef nfs cookbookを使用してAWS EFSボリュームをマウントする方法

コマンド:

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 

答えて

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

最近、彼らはクロスAZのDNS名がhttp://docs.aws.amazon.com/efs/latest/ug/mountingごとに働かせたように見えます-fs-mount-cmd-dns-name.html。上記のコードを 'efs_uri =" {file_system_id} .efs。#{region} .amazonaws.com:/ "にリファクタリングする必要があります。 – runamok

関連する問題