みなさん、こんにちは。GMOインターネット株式会社の斉藤です。
この記事は前回の「sshfsが開発終了になったので代わりにRcloneを使ってみる」の続きになります。
今回はRcloneでConoHaオブジェクトストレージを操作してみたいと思います。
目次
ConoHaオブジェクトストレージ
最初にConoHaオブジェクトストレージについて簡単に紹介いたします。
このサービスはGMOインターネット株式会社が提供しているホスティングサービスConoHaのサービスの一つです。ストレージサービスの一種で「上限無制限で容量を追加できる」「データ転送料金が無料」「多重データ保護」と言った特徴を備えています。
オブジェクトストレージへのアクセスはREST APIを通じて行います。なのでcurlなどのコマンドラインツールでも良いですし、各種プログラミング言語のSDKも揃っていますので、それらを使ってアクセスするのがよく使われる方法だと思います。
Rcloneから接続してみよう
前回からのおさらいですが、Rcloneはリモート接続を行う前に設定をする必要があります。リモートストレージ毎に「プロバイダー」と呼ばれるコネクタが用意されていて、それぞれ固有の設定を持っています。ConoHaオブジェクトストレージでは「Swift」というプロバイダーを使用します。これはConoHaオブジェクトストレージがOpenStackと言うクラウド基板をベースとしており、そのオブジェクトストレージがSwiftと言う開発名だからです。
設定
設定を進めるにあたって、前回と同じようにRcloneの対話的コマンドを使うのですが,その前にOpenStackの認証に必要な環境変数をシェルに登録しましょう。
ConoHaのコントロールパネルにログインして、左側のメニューにあるAPIを選びます。

ここで必要になるのは、
- ユーザ名
 - パスワード
 - Account Service(のURL)
 - リージョン名
 - テナントID
 
になります。リージョン名はURLにあるconoha.ioの前の部分で「tyo1」などになります。これらをシェルの環境変数に設定します。以下はbashの例です。ターミナルから以下をそのまま入力します。もちろんシェルスクリプトなどにまとめても良いですし、.bash_profile等に書いてシェル実行時に設定されるようにしても良いでしょう。
export OS_USERNAME=gncu******
export OS_PASSWORD=[PASSWORD]
export OS_AUTH_URL=https://identity.tyo1.conoha.io/v2.0
export OS_REGION_NAME=tyo1
export OS_TENANT_ID=[TENANT_ID]設定できたか確認するために以下を実行してみましょう。
env | grep OS_環境変数が表示されればOKです。
次にRcloneの設定を行います。以下を実行してください。
rclone configストレージの種類を選ぶ際に、30番の「OpenStack Swift (Rackspace Cloud Files, Memset Memstore, OVH) (swift)」を選択します。
$ rclone config                    [←ターミナルからrclone configと入力して開始します]
No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n                           [←nを入力。新規にリモート設定を作成します]
name> conoha-ojs                   [←リモート設定の名前を入力します。よく使うので短い方が良いです。後で変更可能]
Option Storage.
Type of storage to configure.
Choose a number from below, or type in your own value.
 1 / 1Fichier
   \ (fichier)
 2 / Akamai NetStorage
   \ (netstorage)
 3 / Alias for an existing remote
   \ (alias)
 4 / Amazon Drive
   \ (amazon cloud drive)
(中略…)
46 / seafile                                                                                                                                                                                          Storage> sftp 
Storage> swift                      [←swiftと入力します]
Option env_auth.
Get swift credentials from environment variables in standard OpenStack form.
Choose a number from below, or type in your own boolean value (true or false).
Press Enter for the default (false).
 1 / Enter swift credentials in the next step.
   \ (false)
   / Get swift credentials from environment vars.
 2 | Leave other fields blank if using this.
   \ (true)
env_auth>次の設問は2の「Get swift credentials from environment vars.」を選びます。
認証情報を先ほど設定した環境変数から取得すると言う意味になります。
Option env_auth.
Get swift credentials from environment variables in standard OpenStack form.
Choose a number from below, or type in your own boolean value (true or false).
Press Enter for the default (false).
 1 / Enter swift credentials in the next step.
   \ (false)
   / Get swift credentials from environment vars.
 2 | Leave other fields blank if using this.
   \ (true)
env_auth> 2残りの設問は全てオプションなので、Enterキーを押し続けてスキップします。
最後に以下の確認が表示されますが、これにyで答えて設定は完了です。簡単でしたね!
--------------------
[conoha-ojs]
type = swift
env_auth = true
--------------------
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d>
Current remotes:接続する
rcloneにはいくつかのサブコマンドがあり、これでファイルを操作します。
オブジェクトストレージの文脈では、ストレージ上にあるものを一般的に「オブジェクト」と呼びます。ファイルとは呼びません。ただここではわかりやすくするため「ファイル」と表記します。
rclone [サブコマンド] [パラメーター]しかし、オブジェクトストレージには現在何もファイルがありません。なので、rclone ls conoha-ojs: のようなコマンドを叩いても何も出てこないはずです。ただ、エラーも出ていないはずなのでこれで接続はおそらくうまくいっています。rclone copy等のコマンドで適当なファイルをオブジェクトストレージに送ってみましょう。ファイルの名前が表示されるはずです。
マウントする
もちろんマウントすることもできます。ローカルに適当なディレクトリを「マウントポイント」として作成して、以下のコマンドを実行します。
rclone mount --daemon conoha-ojs: [マウントポイント]オブジェクトストレージはREST APIで操作することが前提となってはいますが、マウントできるとローカルのファイルシステムのように操作できるのでとても利便性が高いです。
もちろん、オブジェクトストレージはLinuxなどのファイルシステムとは互換性がありません。先ほどお話ししたようにストレージ上に存在するものは「ファイル」ではなく「オブジェクト」ですし、パーミッションやディレクトリも無いのです。
なので完全な代替にはなりません。操作がしやすくなるだけで、利用者側はオブジェクトストレージの特性をきちんと把握しておく必要があるでしょう。
おわりに
RcloneからConoHaオブジェクトストレージを扱ってみました。最初の設定も簡単ですし、とても使いやすいクライアントです。オブジェクトストレージには他にも多くのクライアントがありますので、用途に合わせて選んでみると良いですね。
それではまた次回お目にかかりましょう。
[PR]
私が働いているGMOインターネット株式会社ではエンジニアを含め採用を強化しています。
「いきなり応募するもなぁ」と言う方は、Twitter DMで私に直接ご相談いただいても構いません。社内の雰囲気、開発現場の雰囲気、人間関係、待遇など、社内の人物からリアルな情報を知りたいという方はお気軽にどうぞ。
ブログの著者欄
採用情報
関連記事
KEYWORD
CATEGORY
- 
                  技術情報(516)
 - 
                  イベント(193)
 - 
                  カルチャー(50)
 - 
                  デザイン(47)
 
TAG
- "eVTOL"
 - "Japan Drone"
 - "ロボティクス"
 - "空飛ぶクルマ"
 - 5G
 - Adam byGMO
 - AGI
 - AI
 - AI人財
 - APT攻撃
 - AWX
 - BIT VALLEY
 - Blade
 - blockchain
 - Canva
 - ChatGPT
 - ChatGPT Team
 - Claude Team
 - cloudflare
 - cloudnative
 - CloudStack
 - CM
 - CNDO
 - CNDT
 - CODEGYM Academy
 - ConoHa
 - ConoHa、Dify
 - CS
 - CSS
 - CTF
 - DC
 - design
 - Designship
 - Desiner
 - DeveloperExper
 - DeveloperExpert
 - DevRel
 - DevSecOpsThon
 - DiceCTF
 - Dify
 - DNS
 - Docker
 - DTF
 - Expert
 - Felo
 - GitLab
 - GMO AIR
 - GMO AIロボティクス大会議&表彰式
 - GMO DESIGN AWARD
 - GMO Developers Day
 - GMO Developers Night
 - GMO Developers ブログ
 - GMO Flatt Security
 - GMO GPUクラウド
 - GMO Hacking Night
 - GMO kitaQ
 - GMO SONIC
 - GMOアドパートナーズ
 - GMOアドマーケティング
 - GMOイエラエ
 - GMOインターネット
 - GMOインターネットグループ
 - GMOクラウド]
 - GMOグローバルサイン
 - GMOサイバーセキュリティbyイエラエ
 - GMOサイバーセキュリティ大会議
 - GMOサイバーセキュリティ大会議&表彰式
 - GMOソリューションパートナー
 - GMOデジキッズ
 - GMOブランドセキュリティ
 - GMOペイメントゲートウェイ
 - GMOペパボ
 - GMOメディア
 - GMOリサーチ
 - GMO大会議
 - Go
 - GPU
 - GPUクラウド
 - GTB
 - Hardning
 - Harvester
 - HCI
 - iOS
 - IoT
 - ISUCON
 - JapanDrone
 - Java
 - JJUG
 - K8s
 - Kaigi on Rails
 - Kids VALLEY
 - KidsVALLEY
 - LLM
 - MCP
 - MetaMask
 - MySQL
 - NFT
 - NVIDIA
 - NW構成図
 - NW設定
 - Ollama
 - OpenStack
 - Perl
 - perplexity
 - PHP
 - PHPcon
 - PHPerKaigi
 - PHPカンファレンス
 - QUIC
 - Rancher
 - RPA
 - Ruby
 - Selenium
 - Slack
 - Slack活用
 - Spectrum Tokyo Meetup
 - splunk
 - SRE
 - SSL
 - Terraform
 - TLS
 - TypeScript
 - UI/UX
 - vibe
 - VLAN
 - VS Code
 - Webアプリケーション
 - WEBディレクター
 - XSS
 - アドベントカレンダー
 - イベントレポート
 - インターンシップ
 - インハウス
 - オブジェクト指向
 - オンボーディング
 - お名前.com
 - カルチャー
 - クリエイター
 - クリエイティブ
 - コーディング
 - コンテナ
 - サイバーセキュリティ
 - システム研修
 - スクラム
 - スペシャリスト
 - セキュリティ
 - ソフトウェアテスト
 - チームビルディング
 - デザイン
 - ドローン
 - ネットのセキュリティもGMO
 - ネットワーク
 - ビジネス職
 - ヒューマノイド
 - ヒューマノイドロボット
 - プログラミング教育
 - ブロックチェーン
 - ベイズ統計学
 - マルチプレイ
 - ミドルウェア
 - モバイル
 - ゆめみらいワーク
 - リモートワーク
 - レンタルサーバー
 - ロボット
 - 京大ミートアップ
 - 人材派遣
 - 出展レポート
 - 動画
 - 協賛レポート
 - 基礎
 - 多拠点開発
 - 大学授業
 - 宮崎オフィス
 - 展示会
 - 応用
 - 技育プロジェクト
 - 技術広報
 - 採用
 - 採用サイトリニューアル
 - 採用活動
 - 新卒
 - 新卒研修
 - 日本科学未来館
 - 映像
 - 映像クリエイター
 - 暗号
 - 業務効率化
 - 業務時間削減
 - 機械学習
 - 決済
 - 物理暗号
 - 生成AI
 - 視覚暗号
 - 開発生産性
 - 開発生産性向上
 - 階層ベイズ
 - 高機能暗号
 
PICKUP
- 
                  
                    
                                        東京・福島・福岡の専門学校3校でConoHa AI Canvasを用いた講義を実施しました
技術情報
 - 
                  
                    
                                        【協賛レポート・前編】Designship 2025|参加者と“共につくる”デザインのかたち──私たちの挑戦を振り返る
デザイン
 - 
                  
                    
                                        NFSのパフォーマンストラブルに対応した話
技術情報
 - 
                  
                    
                                        Microsoft Entra アプリケーション プロキシ × Windows 統合認証環境での NTLM 廃止影響と対策
技術情報
 - 
                  
                    
                                        GMOインターネットグループ合同テクノロジーインターンシップ2025 体験記~ML/Webコース編①~
カルチャー
 - 
                  
                    
                                        ChatGPTとConoHa AI Canvasで検証:生成AIが変えるクリエイティブ制作
技術情報