こんにちは。g.saitoです。
皆さんはクライアント-サーバ間で、ファイルを送受信する際にどのような方法をとっていますか?
WinSCPは、Windows向けのオープンソースFTPクライアントで、SCP/SFTP/FTPS等のセキュアなプロトコルだけでなく、WebDAVやAmazon S3にも対応しております。
今回はそんなWinSCPについて触れる機会があったので、インストール方法をご紹介するとともに、Amazon S3互換APIを利用してOCI Object Storage(以下、Object Storage)へ接続する方法についてご紹介していきたいと思います。
事前準備
事前準備として、以下の4つの手順を実施する必要があります。
手順1_WinSCPインストーラの取得
まず、WinSCPのインストールに必要なインストーラーをダウンロードします。
ここでは、ブログ執筆時最新バージョンである v5.21.2 を用意しました。
公式サイトから、インストーラをダウンロードします。
手順2_Object Storageの作成
次に、WinSCPからの接続先となるバケットを作成しておきます。
OCIコンソールにログインし、左上のハンバーガーアイコン>[ストレージ]>[バケット]>コンパートメントを選択>[バケットの作成] を押下します。
バケットの作成画面が展開するので、必要な項目を入力した後 [作成] を押下します。
また、後ほど接続する際に必要になるので、作成したリージョンの識別子を控えておきます。
※バケットの可視性はプライベートでも、WinSCPから参照できるため問題ありません。
※リージョン識別子についてわからない場合はこちらを参考にしてください。
手順3_顧客秘密キーの作成
次に、WinSCPとObject Storageを接続するために必要な顧客秘密キーを作成します。
OCIコンソール左上のハンバーガーアイコン> [アイデンティティとセキュリティ] > [ユーザー] >任意のユーザーを選択> [顧客秘密キー] > [秘密キーの作成] を押下します。
任意の名前を入力し作成したら、忘れずに秘密キーとアクセスキーを控えておきます。
※秘密キーは作成後一度しか表示されないので注意してください。
手順4_エンドポイントの確認
WinSCPでObject Storageへ接続しにいく際のホスト名は以下のようになります。
リージョン識別子は手順2で控えてあるので、オブジェクト・ストレージ・ネームスペースを確認しておきます。
<オブジェクト・ストレージ・ネームスペース>.compat.objectstorage.<リージョン識別子>.oraclecloud.com
・オブジェクトストレージネームスペースの確認方法
OCIコンソール右上のプロファイル> [テナンシ:***(テナンシ名)] を押下します。
テナンシの詳細画面が展開するので、画面中央の [テナンシ情報] > [オブジェクト・ストレージ・ネームスペース] を確認します。
※OCI CLIで確認する場合
OCI CLIで以下のコマンドを打つことでも確認できます。
oci os ns get
インストール方法について
事前準備の手順1でダウンロードしたインストーラーを起動すると、WinSCPのインストールウィザードが表示されるので、指示に沿って進めていきます。
・使用許諾契約書の同意
・セットアップ形式
標準的なインストール(推奨)or カスタムインストール を選択できます。
※特別な要件やこだわりが無い限り、標準的なインストール(推奨)を推奨します。
・ユーザの初期設定
インターフェイススタイルを コマンダー or エクスプローラー から選択できます。
(これに関しては好みで選択してよいかと思います。)
・インストール準備完了
設定内容を確認し、よければインストールを押下します。
・WinSCPセットアップウィザードの完了
続けて起動するか、スタートページを開くかのチェックをして完了ボタンを押下します。
Object Storageへの接続方法について
起動するとまず、ログイン用の画面が出てきます。
※出ない場合は、画面上部の新しいセッションを押下してください。
セッション情報入力画面で以下を設定していきます。
・転送プロトコル
→[Amazon S3] を選択
・ホスト名
<オブジェクト・ストレージ・ネームスペース>.compat.objectstorage.<リージョン識別子>.oraclecloud.com
→ここへ事前準備の手順2,4で確認した、バケットのあるリージョン識別子、及びオブジェクト・ストレージ・ネームスペースの値を入れたものを入力します。
・ポート番号
→ [443] を入力します。(転送プロトコル選択時に自動で入るはず。)
・アクセスキーID
→事前準備の手順3で確認したアクセスキーを入力します。
・シークレットキー
→事前準備の手順3で確認した秘密キーを入力します。
次に、画面中段右の [設定] から、 [環境] > [S3] へと遷移します。
ここの [プロトコル オプション] に以下の値を入力・選択します。
・デフォルトリージョン:(例)ap-tokyo-1
※ここはバケットのあるリージョン識別子を選択してください。
・URLスタイル:パス
[OK] を押下し、高度なサイトの設定画面を閉じます。
今後も繰り返しログインする可能性がある場合は、[保存] からセッション情報を保存しておくと、次回以降入力の手間が省けるので便利です。
最後に入力内容を確認し、[ログイン] を押下します。
接続中のステータス画面が表示され、無事にテナンシーのバケット一覧が表示されれば完了です。
アップロード・ダウンロードについて
接続したObject Storageへのファイルのアップロード・Object Storageからのファイルのダウンロードについては、以下の3ステップで行います。
①ディレクトリ移動
画面上のパスが書いてある部分を押下し、パスの直接入力・参照ができます。
また、表示されているディレクトリをダブルクリックして移動する等、エクスプローラー同様に操作が可能です。
②ファイルの選択
目的のディレクトリまで移動した後、ファイルを選択(複数選択可)する。
③アップロード・ダウンロード
右クリック> [アップロード] または [ダウンロード] を押下する。
※ドラッグ&ドロップでもOKです。
おまけ
今回はWinSCPがメインの記事でしたが、比較対象としてCloudBerryExplorer Freeware(MSP360)にも少し触れてみました。その中で違いについて気づいたことがあったのでまとめてみます。
★WinSCPはホームリージョン以外のバケットにも接続できる!
CloudBerryはホームリージョン以外のリージョンに作成されたバケットに接続する術はありませんが、WinSCPはセッション接続の際に入力したリージョン識別子のリージョンのバケットに接続が可能です。
これは大きな違いと言えるのではないでしょうか。
★WinSCPでは、バケットの作成ができる!
セッション接続後、バケット一覧が表示されている画面で 右クリック> [新規] > [ディレクトリ] を選択し名前を入力すると、バケットが作成できます。
しかし、自動でrootコンパートメントに作成されてしまうため、その後必要に応じてOCIコンソール側でリソースの移動が必要です。
その他の接続設定やアップロード・ダウンロード方法については、特に大きな違いは感じませんでした。
まとめ
今回はWinSCPのインストール方法〜Object Storageへの接続・基本的な使用方法についてご紹介していきましたがいかがでしたでしょうか?
Object Storageとのファイルのやりとりを頻繁に・大量にする方、また、エクスプローラー風に操作したい方にとってはとても重宝するツールではないでしょうか。
インストールから接続に関しても比較的簡単に設定でき、なにより視覚的に操作できるのが良いですね。
躓く可能性があるとすれば、Object Storageとの接続の際のセッション情報入力の部分でしょうか。
ホームリージョンではなくバケットの存在するリージョンの識別子を入力する点に注意してください。