さくらのクラウド オブジェクトストレージ
AWS CLI を利用する
ここからは、AWS CLI の機能を利用することで、
Ubuntu 24.04 の中にあるファイルをオブジェクトストレージにアップロードしてみます。
さくらのオブジェクトストレージにローカルファイルをアップロードする
及び、
AWS CLI の最新バージョンのインストールまたは更新
が参考になります。
まずは、ubuntu に AWS CLI を入れることが必要です。
さくらのオブジェクトストレージはファイル操作手続きに Amazon S3 プロトコルを採用し、
バックエンドストレージとして使用できるようになっています。
よって、AWS CLI を ubuntu にインストールします。
今回は、Windows11 WSL2 Ubuntu の中に AWS CLI を入れます。
Windows11 WSL2 Ubuntu の作成方法は
Windows11 WSL2 Ubuntu 24.04 LTS 概要
以下に書いてありますので参照してみてください。
ubuntu に AWS CLI をインストール
Ubuntu 24.04 に AWS CLI をインストールします。
まずは Windows11 WSL2 Ubuntu 24.04 LTS を起動します。
Ubuntu をアップデートしておきましょう。
yamada@yama:~$ sudo apt update
yamada@yama:~$ sudo apt upgrade
yamada@yama:~$ sudo apt autoremove
yamada@yama:~$ sudo shutdown -r now
AWS CLI をインストールするための推奨の方法は、インストールスクリプトです。
Linux 版を利用します。
これが簡単なようです。
yamada@yama:~$ curl -fsSL https://awscli.amazonaws.com/v2/install.sh | bash
[動作説明]
curl -sS https://xxx...
-s で進行状況メーターやエラーメッセージを表示しないようにします。
ただし URL や Port を間違えた時に気づけないので、
-S show-error を一緒に指定しておきます。
curl -fL
-f エラーのレスポンスが返ってきても何も表示しないようにする。
-L リダイレクト先のURLにもリクエストを発行する。
| bash でダウンロードしたアプリが自動的に起動します。
[結果]
Resolving user-local install paths: HOME=/home/yamada XDG_DATA_HOME=XDG_BIN_HOME= Installing AWS CLI 2.36.48 Downloading AWS CLI installer from https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.36.48.zip?src=script-exe ######################################################################## 100.0% Downloading AWS CLI signature from https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.36.48.zip.sig?src=script-exe ######################################################################## 100.0% GPG signature verified. You can now run: /home/yamada/.local/bin/aws --version AWS CLI 2.36.48 installed to /home/yamada/.local/share/aws-cli Ensure /home/yamada/.local/bin is on your PATH. When multiple installs exist, PATH order determines which 'aws' runs.
/home/yamada/.local/bin に AWS CLI がインストールされました。
AWS CLI 初期設定
さくらのオブジェクトストレージにアクセスするために、AWS CLIの初期設定を行ないます。
yamada@yama:~$ aws configure Tip: You can deliver temporary credentials to the AWS CLI using your AWS Console session by running the command 'aws login'. AWS Access Key ID [None]: FZ****72*J***Z0A**LB アクセスキーID(a)を入力 AWS Secret Access Key [None]: Nb*****9uQK*****m5H*****pTe*****hU****A= シークレットアクセスキー(a)を入力 Default region name [None]: jp-north-1 私の場合は、石狩第1サイト リージョン jp-north-1 を入力 Default output format [None]: json
現在作成されているオブジェクトストレージ一覧を確認します。
yamada@yama:~$ aws --endpoint-url=https://s3.isk01.sakurastorage.jp s3 ls [結果] 2026-05-27 18:04:57 76bucket
私が作成したバケット 76bucket が見えました。
76bucket バケットに
\\wsl.localhost\Ubuntu-24.04\home\yamada\Pictures
にある \test1.png をアップします。
yamada@yama:~$ aws --endpoint-url=https://s3.isk01.sakurastorage.jp s3 cp ~/Pictures/test1.png s3://76bucket/
76bucket は私が作ったバケット名
[結果]
upload: Pictures/test1.png to s3://76bucket/test1.png
Web ブラウザでオブジェクトストレージにファイルがアップされているか確認します。
yamada@yama:~$ aws --endpoint-url=https://s3.isk01.sakurastorage.jp s3 ls s3://76bucket
[結果]
PRE folder-1/
2026-05-27 18:17:28 1288 test.png
2026-09-19 16:48:45 4824 test1.png
Web ブラウザでもオブジェクトストレージにファイルがアップされているか確認してみます。
endpoint-url 入力省略
--endpoint-url はいちいち設定するのは面倒です。
yamada@yama:~$ export AWS_ENDPOINT_URL_S3="https://s3.isk01.sakurastorage.jp"
とすると、--endpoint-url の入力を省略することができます。
yamada@yama:~$ aws s3 ls
[結果]
2026-05-27 18:04:57 76bucket
すっきりしました。
もちろん
yamada@yama:~$ aws --endpoint-url=https://s3.isk01.sakurastorage.jp s3 ls
としても OK です。
問題は Ubuntu を再起動すると環境変数 export AWS_ENDPOINT の再設定をする必要があります。
環境変数だけでなく共有設定ファイル(~/.aws/config)も利用できます。
設定ファイルを見ると
yamada@yama:~$ nano .aws/config
[default]
region = jp-north-1
output = json
となっていますので、最後に
endpoint_url = https://s3.isk01.sakurastorage.jp
の1行を追加します。
追記したら、^O Enter ^X で終了します。
内容を確認すると
yamada@yama:~$ cat .aws/config
[default]
region = jp-north-1
output = json
endpoint_url = https://s3.isk01.sakurastorage.jp
となっています。
これで、
yamada@yama:~$ aws s3 ls
[結果]
2026-05-27 18:04:57 76bucket
となりすっきりしました。
再起動後も問題なしです。
もちろん
yamada@yama:~$ aws --endpoint-url=https://s3.isk01.sakurastorage.jp s3 ls
も問題なく動作します。
AWS s3 コマンドでダウンロード
ここまでは curl -X GET でのダウンロード方法を照会しました。
yamada@yama:~$ curl -X GET "https://s3.isk01.sakurastorage.jp/76bucket/test.png" -o test.png
これでも良いのですが、今回は、さくらのオブジェクトストレージ folder-1 にある test.png を
AWS s3 コマンドを使ってダウンロードします。
76bucket/test1.png のファイルを
別名 test2.png の名前で /home/yamada/Pictures/ にダウンロードします。
yamada@yama:~$ aws s3 cp s3://76bucket/test1.png Pictures/test2.png
[結果]
download: s3://76bucket/test1.png to Pictures/test2.png
ついでにアップロードもやってみましょう。
/home/yamada/Pictures/test1.png を test3.png
の別名で s3://76bucket/にアップロードします。
yamada@yama:~$ aws s3 cp ./Pictures/test1.png s3://76bucket/test3.png
[結果]
upload: Pictures/test1.png to s3://76bucket/test3.png
ここまでで、AWS s3 コマンドを使ってオブジェクトストレージが利用できるようになりました。
引き続き、Python の中でオブジェクトストレージが利用できるようにします。





