渡邊です。
Amazon LinuxのEC2インスタンス上に、ローカルのWindows PCとファイル共有するSambaを構築する機会がありましたので、レシピとして紹介致します。
EC2インスタンスの作成
まずはEC2インスタンスを作成します。
AMIは「Amazon Linux」を選択します。
今回は「t2.micro」で十分です。
今回はデフォルト設定で次の設定へ進みます。
今回は「8GB」で十分です。
必要なタグを設定します。今回は「Name」のみ設定します。
Samba用の設定を追加します。後から設定してもOKです。
外部からSambaにアクセス出来るように、次のポートのinboundを開放しておきます。
・UDP 137番ポート:NetBIOS ネーム・サービス(名前登録など)用
・UDP 138番ポート:NetBIOS データグラム・サービス(ブラウジングなど)用
・TCP 139番ポート:NetBIOS over TCP(ファイル / 印刷サービスなど )用
・UDP 137番ポート:NetBIOS ネーム・サービス(名前登録など)用
・UDP 138番ポート:NetBIOS データグラム・サービス(ブラウジングなど)用
・TCP 139番ポート:NetBIOS over TCP(ファイル / 印刷サービスなど )用
・TCP 445番ポート:ダイレクト・ホスティング SMB(ファイル / 印刷サービスなど)用
「作成」ボタンを押下します。
キーペアを設定します。ここでは既存のキーペアを使用します。
「インスタンスの表示」ボタンを押下して、EC2インスタンスの起動を待ちます。
Elastic IPの割り当て
利便性のため、作成したEC2インスタンスにElastic IPを割り当てます。
EC2の画面の左ペインから「Elastic IP」を選択し、「新しいアドレスの割り当て」ボタンを押下します。
「割り当て」ボタンを押下します。
取得したElastic IPはメモ等で控えておき、「閉じる」ボタンを押下します。
取得したElastic IPを選択し、「アクション」を押下します。
リストの中から「アドレスの関連付け」を選択します。
「関連付け」ボタンを押下します。
「閉じる」ボタンを押下します。
Sambaインストール
Sambaをインストールします。
作成したEC2インスタンスにSSHでログインし、yumでSambaをインストールします。
1$ sudo yum install sambaSamba設定
Sambaを設定します。
まずSamba用にユーザを作成し、Sambaユーザとします。
1$ sudo useradd kcsamba2$ sudo passwd kcsamba3Changing password for user kcsamba4New Password:5Retype new password:6passwd: all authentication tokens updated successfully.7$ sudo smbpasswd -a kcsamba8New SMB password:9Retype new SMB password:10Added user kcsamba.Windows PCとファイル共有するためのフォルダを作成します。
今回はSambaユーザのホームディレクトリ配下にフォルダを作成して、これを共有することにします。
1$ su kcsamba2Password:3$ cd4$ mkdir sambaSambaの設定ファイルを編集します。
編集前のファイルをバックアップとしてコピーしておきます。
1$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.original2$ sudo vi /etc/samba/smb.conf今回は下記のように設定しました。
・「load printers」の値を「no」に変更して、プリンタ共有を無効化します。
・「encrypt passwords = yes」を追記して、パスワードの暗号化を有効にします。
1・23[global]4 workgroup = SAMBA5 security = user67 passdb backend = tdbsam89 printing = cups10 printcap name = cups11 load printers = no12 cups options = raw13 encrypt passwords = yesシェア名を「kcsamba」として、共有フォルダなどを設定します。
今回はユーザ名とシェア名を同一にしましたが、同一である必要はありません。
1[kcsamba]2 comment = knowledgecommunication3 path = /home/kcsamba/samba4 writable = yesSambaを起動させます。
1$ sudo service smb start自動起動設定もしておきます。
1$ sudo chkconfig smb on2$ sudo chkconfig | grep smb動作確認
動作を確認します。
ローカルのWindows PCから、エクスプローラのアドレスバーに
「\\(EC2インスタンスのElastic IP)\(シェア名)」を入力します。
ユーザ名とパスワードを要求されるので、
Sambaユーザのユーザ名とパスワードを入力します。
接続出来ました。フォルダはまだ空です。
まず、EC2インスタンスから共有フォルダ配下にファイルを作成します。
1$ touch /home/kcsamba/samba/kcsamba-test1.txtローカルのWindows PCから共有フォルダ配下を見ると、ファイルが作成されたことを確認出来ます。
次は、ローカルのWindows PCから共有フォルダへファイルをコピーします。
ファイルをコピー出来ました。
ローカルからコピーされたファイルを確認出来ます。
1$ ls -lh /home/kcsamba/sambaMS Officeファイルの保護ビューと信頼済みサイトの設定
最後にTipsを1つご紹介します。
リモートホスト上のMS Officeファイルを開くと、保護ビューの表示になって、
編集するには「編集を有効にする」ボタンを押下する必要があります。
ファイルを開くとともに編集が有効になります。
おわりに
以上、EC2インスタンス上にSambaを構築する手順をまとめました。
AWSでのファイルを共有も、今回のようにSambaを構築することで簡単に実現出来ます。AWSでのファイル共有方法には、他にもs3fsでS3のバケットをマウントするなどの方法があります。
最後までお読み頂きありがとうございました。