記事公開日
最終更新日
【AWS】AWS Storage Gatewayを利用してクロスアカウントでS3マウントさせる方法

はじめに
こんにちは。DXソリューション営業本部の後藤です。
本記事では、AWS Storage Gatewayを利用して稼働しているWindowsEC2に対して別アカウントにあるAmazon S3をマウントさせる方法についてご説明したいと思います。
AWS Storage Gatewayについて
AWS Storage Gateway は、オンプレミスおよびクラウド内のアプリケーションに、事実上無制限のクラウドストレージへのアクセスできるようにします。Storage Gateway は、VMware、Hyper-V、Linux KVM 仮想環境内の仮想マシン (VM) として、または Amazon Virtual Private Cloud (Amazon VPC) 内の Amazon EC2 インスタンスとしてデプロイできます。https://aws.amazon.com/jp/storagegateway/
構成図
今回行いたいこと
クライアント側のアカウントAにあるEC2に対してアカウントBにあるAmazon S3をAWS Storage Gatewayを利用してマウントさせる。今回は、AWS Storage Gatewayの「Amazon S3 File Gateway」ストレージゲートウェイタイプを利用する。
アカウントA
・WindowsOSでEC2を作成
アカウントB
・Amazon S3を作成
・Amazon S3 File Gatewayを作成
・ファイル共有を作成
※VPC間の接続はVPC Peeringを使用します
アカウントBの環境構築
Amazon S3を作成
まず検証用にAmazon S3を作成していきます。
Amazon S3 File Gatewayを作成
続いてAmazon S3 File Gatewayを作成していきます。任意の名前を入力し、ゲートウェイタイプには「Amazon S3 ファイルゲートウェイ」を選択します。
ホストプラットフォームにはEC2を選択します。起動設定画面が表示されるので「デフォルト設定を使用」を選択し、VPCやキーペアなどの設定を行って【インスタンスの起動】をクリックします。
※「デフォルト設定を使用」を選択すると、推奨スペック(m5.xlarge,150GiB)でEC2が作成されます。
インスタンスが起動出来たら【次へ】をクリックしゲートウェイ接続オプションを設定していきます。接続オプションには「IPアドレス」を選択します。エンドポイントの設定には、パブリックアクセスとVPCエンドポイントを利用したプライベートアクセスがあります。セキュリティ要件によってどちらか選択してください。今回は検証のため「パブリックアクセス可能」で作成します。
【次へ】をクリックするとCloudWatchモニタリングやCloudWatchアラームの設定画面になります。今回は検証なのでどちらともなしで作成します。しばらく待つとゲートウェイが作成され、ステータスが実行中になりました。
ファイル共有
続いてファイル共有を作成してAmazon S3とStorage Gatewayを紐づけていきます。Storage Gateway画面から【ファイル共有の作成】をクリック。作成したStorage GatewayとAmazon S3を選択し、ファイル共有プロトコルにはWindowsなので「SMB」を選択します。
ユーザー認証にはゲストアクセスを選択します。ゲストアクセスの右側【変更】をクリックして、パスワードを設定して保存してください。後ほど使用するため忘れないようにしてください。
作成をクリックすると、ファイル共有が作成されました。
作成されたファイル共有の詳細画面を見てみると最下部にコマンドが自動生成されています。接続する際にこちらを利用します。[WindowsDriveLetter]には任意の空きドライブに変更して使用します。
アカウントAの環境構築
EC2を作成(WindowsOS)
WindowsOSのEC2を作成していきます。EC2にRDP接続するため、キーペアも設定しています。
※起動方法は割愛します。
VPC Peering
VPC PeeringをしてVPC間の相互接続を設定していきましょう。リクエスタに接続したいVPCを選択して、アクセプタにアカウントB側のアカウントIDと接続したいVPCIDを入力。ピアリング接続を作成してください。その後アカウントB側にてリクエストを承諾します。
お互いのルートテーブルに接続先のCIDRを入力しピアリング接続を追加します。VPC Peeringの設定はこれで完了です。適切なインバウンドルールなどを追加して利用してください。
動作確認
それでは、実際に動作確認を行っていきます。
まずアカウントA側のEC2にRDP接続していきます。該当のEC2インスタンスを選択して画面右上の【接続】をクリックし、「RDPクライアント」タブに移動します。
パスワードを取得をクリックして設定したキーペアをアップロードしてください。【パスワードを複合化】をクリックすると自動でパスワードが生成されるので、RDP接続時にそのパスワードを入力します。
RDP接続ができたら、コマンドプロンプトを開いてください。コマンドプロンプトが開けたらそこにファイル共有の詳細画面最下部にあるコマンドを入力します。今回は新しくDドライブを作成してみます。
参考 net use D: \\<IPアドレス>\<S3バケット名>
user nameには<smbguest>と入力します。passwordにはファイル共有作成時のゲストアクセスのパスワードを入力してください。
コマンドが無事に成功したようなので、エクスプローラーを確認してみます。すると新しくDドライブが作成されていました。
作成されたDドライブに適当なテキストデータを入れてみます。
アカウントBのマネジメントコンソール画面に戻りAmazon S3を確認してみましょう。するとAmazon S3も同様にテキストデータがアップロードされているのが確認できます。
またRDP画面へ戻り、試しに一つのテストデータ消してみます。
もう一度Amazon S3を確認しに行くと、テキストデータが削除されているのが確認できます。EC2に別アカウントのAmazon S3がマウントされ、連携されているのが確認できました。
まとめ
最後までお読みいただきありがとうございます。
今回はAWS Storage Gatewayを利用して稼働しているWindowsEC2に対して別アカウントにあるAmazon S3をマウントさせる方法をご紹介しました。AWS Storage Gatewayを設定することで簡単にクラウドストレージを利用することができるため、オンプレミス環境でデータバックアップやファイル共有用としてS3を使用することも可能になります。
最後に「このサービスについて知りたい」「AWS環境の構築、移行」などのリクエストがございましたら、弊社お問合せフォームまでお気軽にご連絡ください! のちほど当ブログにてご紹介させていただくか、複雑な内容に関するお問い合わせの内容の場合には直接営業からご連絡を差し上げます。
※Amazon Web Services、”Powered by Amazon Web Services”ロゴ、およびブログで使用されるその他のAWS商標は、米国その他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。