
目次
はじめに
みなさん、こんにちは。
Oracle Cloud Infrastructure検証チームです。
今回は、Oracle Cloud Infrastructure(OCI)のオブジェクト・ストレージ・サービスについて、
ご紹介したいと思います。
オブジェクト・ストレージ・サービスとは
オブジェクト・ストレージ・サービスは、
高い信頼性と高い費用対効果を両立するスケーラブルなクラウドストレージです。
データ容量制限はなく、インターネットやクラウド・プラットフォーム内から直接データをアップロード/ダウンロードすることができます。
OCIのオブジェクト・ストレージ・サービスには、以下の3つのタイプがあり、用途に合わせて利用することができます。
標準
データへのアクセス頻度が高い場合に最適です。
データを瞬時にアップロード/ダウンロードすることができます。
頻度の低いアクセス
データへのアクセス頻度が低いが、必要な際には即座にアクセスする必要があるデータに最適です。
標準よりもストレージ単価が安く、後述するアーカイブのようにデータを「リストア」する必要がありません。
アーカイブ
データへのアクセス頻度が低く、長期間データを保存する場合に最適です。
低コストで利用できますが、データをダウンロードする際は、データを「リストア」する必要がある為、
瞬時にデータをダウンロードすることができません。
それでは、実際にオブジェクト・ストレージ・サービスを使用してみたいと思います。
今回は標準のオブジェクト・ストレージを使用して、オブジェクトのアップロード/ダウンロードを試してみます。
バケットの作成
まずは、コンソールからバケットを作成していきます。
バケットは、オブジェクト・ストレージ・サービスにおいて、オブジェクト(データ)を格納する箱として機能します。
コンソールメニューから[ストレージ] – [オブジェクト・ストレージとアーカイブ・ストレージ]を選択し、[バケットの作成]ボタンを押します。

バケットの作成ウィンドウが立ち上がりますので、任意のバケット名を指定してバケットを作成します。
また、デフォルト・ストレージ層は「標準」として作成します。
入力や選択が完了したら、[作成]ボタンを押します。

「自動階層化を有効化」を選択すると、データ・アクセス・パターンに基づいて標準ストレージ層と低頻度アクセス・ストレージ層の間でオブジェクトが自動的に移動するようになります。また、後述のオブジェクトのアップロード時にデフォルト以外のストレージ層を選択する際に「頻度の低いアクセス」を選択して、オブジェクトをアップロードすることも出来ます。

バケットの作成が完了し、コンソールに作成したバケットが表示されていることを確認します。

これで、バケットの作成は完了です。
次に、作成したバケットに対して、オブジェクトのアップロードやダウンロードを試してみましょう。
オブジェクトのアップロード/ダウンロード (コンソール)
コンソール上から作成したバケットのリンクをクリックし、バケットの詳細を表示します。
[アップロード]ボタンを押し、オブジェクトのアップロードウィンドウを立ち上げます。

アップロードするファイルをドロップまたは選択し、[アップロード]ボタンを押します。
今回はテスト用のテキストファイルをアップロードしてみます。
必要に応じて、オブジェクト名の接頭辞を入力できます。

バケットの詳細画面からアップロードしたファイルが表示されていることを確認します。
これでアップロードは完了です。

続いて、アップロードしたファイルをダウンロードしてみます。
アップロードしたファイルの右側にある縦の「・・・」をクリックしてメニューを表示し、[ダウンロード]ボタンを押します。
ダウンロードする場所を選択し、ダウンロードしたファイルが保存されていれば完了です。

コンソール上でのオブジェクトのアップロード/ダウンロードは以上となります。
オブジェクトのアップロード/ダウンロード (OCI CLI)
最後に、OCI CLIを使用してComputeインスタンスからオブジェクト・ストレージに対して、オブジェクトのアップロード/ダウンロードを試してみます。
まずは現在のバケットの内容を確認してみます。
コマンド例)
$ oci os object list --namespace <ネームスペース> --bucket-name <バケット名>
※ネームスペースは、コンソールのバケット詳細から確認できます。
[opc@instance]$ oci os object list --namespace xxxx --bucket-name test-bucket { "data": [ { "archival-state": null, "etag": "xxxx", "md5": "xxxx", "name": "test-file1.txt", "size": 4, "storage-tier": "Standard", "time-created": "2022-06-09T06:40:26.826000+00:00", "time-modified": "2022-06-09T06:40:26.826000+00:00" } ], "prefixes": [] }
コマンドを実行してみると、コンソール上からアップロードしたテキストファイル(test-file1.txt)が確認できました。
続いて、コンソールの時と同様にテスト用のテキストファイルをアップロードしてみます。
コマンド例)
$ oci os object put --namespace <ネームスペース> --bucket-name <バケット名> --file <アップロードするファイル名>
[opc@instance]$ ls -l test-file2.txt -rw-rw-r--. 1 opc opc 5 Jun 9 07:53 test-file2.txt [opc@instance]$ [opc@instance]$ oci os object put --namespace xxxx --bucket-name test-bucket --file test-file2.txt { "etag": "xxxx", "last-modified": "Thu, 09 Jun 2022 08:10:44 GMT", "opc-content-md5": "xxxx" }
ここでもう一度、現在のバケットの内容を確認してみます。
[opc@instance]$ oci os object list –-namespace xxxx --bucket-name test-bucket { "data": [ { "archival-state": null, "etag": "xxxx", "md5": "xxxx", "name": "test-file1.txt", "size": 4, "storage-tier": "Standard", "time-created": "2022-06-09T06:40:26.826000+00:00", "time-modified": "2022-06-09T06:40:26.826000+00:00" }, { "archival-state": null, "etag": "xxxx", "md5": "xxxx", "name": "test-file2.txt", "size": 5, "storage-tier": "Standard", "time-created": "2022-06-09T08:10:44.745000+00:00", "time-modified": "2022-06-09T08:10:44.745000+00:00" } ], "prefixes": [] }
アップロードしたテスト用のテキストファイル(test-file2.txt)が確認できました。
次に、コンソール上でアップロードしたテスト用のテキストファイル(test-file1.txt)をインスタンス上へダウンロードしてみます。
コマンド例)
oci os object get --namespace <ネームスペース> --bucket-name <バケット名> --name <バケット上のオブジェクト名> --file <ダウンロードするファイル名>
[opc@instance]$ ls -l test-file1.txt ls: cannot access 'test-file1.txt': No such file or directory [opc@instance]$ [opc@instance]$ oci os object get --namespace xxxx --bucket-name test-bucket --name test-file1.txt --file ./test-file1.txt [opc@instance]$ [opc@instance]$ ls -l test-file1.txt -rw-rw-r--. 1 opc opc 4 Jun 9 08:14 test-file1.txt
コンソール上でアップロードしたテスト用のテキストファイル(test-file1.txt)がダウンロードできました。
おわりに
今回はオブジェクト・ストレージ・サービスのバケットの作成からオブジェクトのアップロード/ダウンロードまで試してみましたが、いかがでしたでしょうか?
コンソール上からの操作は特に難しいことはなく、簡単にバケットの作成やオブジェクトのアップロード/ダウンロードができました。
OCI CLIによるオブジェクトのアップロード/ダウンロードはコマンドをスクリプト化すれば、スケジューリングして自動実行など応用した使い方もできますね。
最後までご覧いただきありがとうございました!
Oracle Cloudをご検討の際は当社までお問い合わせください。

投稿者プロフィール

-
DBひとりでできるもんを盛り上げるべく、技術チームが立ち上がり早8年。ひとりでできるもんと言いつつ、技術者が読んでプッとなるような、極めてピンポイントでマニアックな技術ネタを執筆しています!
最新技術情報や資格情報をチェックしたいアナタ!毎日遊びに来てください。きっとお役に立てます。
最新の投稿
Dbvisit Standby2025年11月10日【Dbvisit Standby】SQL ServerでDRを構成してみました!
Dbvisit Standby2025年11月7日【Dbvisit Standby】最新バージョン(Ver.12.2.0)がリリースされました!
OS2025年11月6日WindowsのPCでLinuxを試してみます
Oracle Cloud2025年11月4日Oracle AI Database 26ai を作成してみました



