LoginSignup
0
0

More than 1 year has passed since last update.

WinSCPでConoHaのオブジェクトストレージに接続する

Last updated at Posted at 2022-12-17

ConoHa Advent Calendar 2022 18日目の記事です。

とりあえず何か書かねばとConoHaのVPSコンソールを眺めていてネタにできそうな物があったので
今年もちゃんと書こうと思います。

目標

みんな大好きWinSCPを使ってこのはちゃんConoHaのオブジェクトストレージを弄ります。

使う物

  • Windows
  • WinSCP
  • s3Proxy & Java

内容

s3Proxyを使ってWinSCPから繋ぎます。
WinSCPはTLS接続を要求するためs3ProxyにlocalTLSを設定します。

オブジェクトストレージの割り当て、APIユーザー設定については公式のサポートに記載があるため
そちらは、清楚可愛いこのはちゃんの説明に委ねます。

Javaコマンドは使える前提です。
Javaに含まれるkeytoolが使える必要があるためJDKをインストールしておいてください。
keytoolにパスが通っている必要はありません
(実行ファイルパスを直接叩ければ問題無い)

オブジェクトストレージの契約

ひとまずサポートに書いてある通りオブジェクトストレージの割り当てを行います。

コンソールにログイン後、オブジェクトストレージから設定を開き
容量の変更(割り当て)を行います。
image.png

APIの設定

サポート通りにAPIユーザーの追加を行います
パスワードを設定するだけです。
パスワード使い回しは絶対にやめましょう。

本記事のメインの s3Proxy の導入、設定

https://github.com/gaul/s3proxy/releases/download/s3proxy-2.0.0/s3proxy
をダウンロードします。
記載時点で2.0.0が最新でした
その他バージョンは以下からどうぞ

ダウンロードした適当なディレクトリに s3proxy を配置します
image.png

証明書の発行

Shift 押しながらディレクトリ内で右クリックし、
PowerShellウインドウをここで開くを選択
image.png

Win10のいつからかPowerShellになってます
ここではコマンドプロンプトが使いたいのでPowerShellで開くのは困るのですが
まあいいでしょう

PowerShellからコマンドプロンプトに切り替えます

cmd

image.png

keytoolを動かしてオレオレ証明書を作成します
(WinSCPで接続時にTLSが強制されるので必要になります)

keytool -keystore keystore.jks -alias aws -genkey -keyalg RSA

keytoolにパスが通っていない場合
JDKインストールディレクトリのbinからフルパスを指定して実行してください

"C:\Program Files\Java\jdk-17.0.4.1\bin\keytool.exe" -keystore keystore.jks -alias aws -genkey -keyalg RSA

実行すると作成パスワードが必要になります
後で使うのと何でもいいのでpasswordとしています

入力しても画面に表示されません。

また証明書の所有者情報も入力が必要ですが、適当です。そのままEnterで進みましょう

最後に確認でyes or no を訪ねられるので y で完了です

C:\Users\   \Desktop\temp>"C:\Program Files\Java\jdk-17.0.4.1\bin\keytool.exe" -keystore keystore.jks -alias aws -genkey -keyalg RSA
キーストアのパスワードを入力してください:
新規パスワードを再入力してください:
姓名は何ですか。
  [Unknown]:
組織単位名は何ですか。
  [Unknown]:
組織名は何ですか。
  [Unknown]:
都市名または地域名は何ですか。
  [Unknown]:
都道府県名または州名は何ですか。
  [Unknown]:
この単位に該当する2文字の国コードは何ですか。
  [Unknown]:
CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknownでよろしいですか。
  [いいえ]:  y

90日間有効な2,048ビットのRSAのキー・ペアと自己署名型証明書(SHA256withRSA)を生成しています
        ディレクトリ名: CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown

keystore.jksがディレクトリに作成されます。

設定ファイルの作成

s3proxyの横にs3proxy.confを作成します

s3proxy.conf
s3proxy.secure-endpoint=https://localhost:8081
s3proxy.keystore-path=keystore.jks
s3proxy.keystore-password=password
s3proxy.authorization=aws-v2-or-v4
s3proxy.identity=access_key
s3proxy.credential=secret_access_key
jclouds.provider=openstack-swift
jclouds.endpoint=https://identity.tyo2.conoha.io/v2.0
jclouds.identity=gnct*******:gncu********
jclouds.credential=****************
jclouds.regions=tyo2
jclouds.region=tyo2

jclouds.endpoint
jclouds.identity
jclouds.credential
jclouds.regions
jclouds.region
の値は各アカウントで変動します

jclouds.endpoint はAPIのエンドポイントにある Identity Service をそのまま設定

jclouds.identityテナント名:ユーザー名を設定

jclouds.credentialAPIユーザー設定時のパスワード を設定します

jclouds.regions jclouds.region はConohaのリージョンに合わせてください

image.png

起動 / 起動バッチ

※javaへのパスが通っている前提です

コマンドプロンプトから
又は、start.batを作成しs3proxyを実行します

start.bat
java -jar s3proxy --properties s3proxy.conf

ログが流れて

[s3proxy] I 12-18 02:41:36.157 main o.g.s.o.e.jetty.server.Server:415 |::] Started @2895ms

Startedと出ていれば起動している様です。

WinSCPの設定

接続情報

基本接続情報

転送プロトコル Amazon S3
ホスト名 localhost
ポート番号 8081
アクセスキー access_key
シークレットキー 保存されないので空でいい

image.png

接続設定

設定を押して高度なサイトの設定を開きディレクトリの設定を変更します

  • 最後に使用したディレクトリを記憶するのチェックを外しておき
  • リモートディレクトリも空にしておきます。

image.png

S3の

  • URLスタイルをパスに変更します

image.png

OKを押して
セッション作成画面へ戻り
保存で適当な名前を付けて保存する
image.png
image.png

そうしたらログイン
secret_access_keyを入力
image.png

オレオレ証明書のため不明な証明書と出ますが
無視してはいを選択して接続します
image.png

その後
接続完了画面まで進めば接続成功です
image.png

コンテナの作成

右クリックからディレクトリの作成
image.png

コンテナ名を入れてOK
image.png

ディレクトリが作成されていればコンテナ作成完了です
image.png

ダブルクリックでディレクトリに入り
image.png

右クリックメニューから新規ファイルを作成
image.png

適当な名前
image.png

WinSCPのエディタが開き
image.png

適当に文字を入れて保存し閉じる
image.png

裏ではWinSCPがファイルのアップロードを行い更新を済ませています。

image.png

作成されているファイルをダブルクリックで開けば
さっき入力した物が保存されているはずです。

image.png

最後に

Cyberduck使えばいいじゃんってなりますがWinSCPを繋げるロマンを求めた結果でした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0