💬

Azure Blob Storageの基本

2023/02/15に公開

Azure Blob Storageの概要

  • テキストやバイナリなどの非構造化データを大量に格納するために最適化されたオブジェクトストレージ
  • AWSのS3に相当する
  • 3種類のリソースが存在する
    • ストレージアカウント
      • 格納するデータの用の一位の名前空間
      • エンドポイントのベースアドレスに組み込まれる
        • e.g. ストレージアカウントがmystorageaccountの場合はエンドポイントはhttp://mystorageaccount.blob.core.windows.netのようになる
    • コンテナ
      • BLOBセットを整理するための区切り
      • ファイルシステムのディレクトリに相当する
    • BLOB
      • 保存するデータ

        公式より引用

実際に使ってみる

ストレージアカウントの作成

Azure Portalからストレージアカウン作成ページに遷移する。

ストレージアカウントの作成をクリックする。

アカウント基本情報を入力する。

  • リソースグループは複数のリソースを管理できる単位
    • リソースグループを削除するとグループ配下のリソースがすべて削除されるので、ライフサイクルが同じリソースをまとめるのに利用する
    • 例えば、プロジェクト単位でまとめるなど
  • 冗長性は4種類から選択可能
    • プライマリリージョンの単一のAZでのみレプリケートするローカル冗長ストレージ
    • プライマリリージョンの複数のAZでレプリケートするゾーン冗長ストレージ
    • プライマリリージョンの単一のAZとセカンダリリージョンでレプリケートするgeo冗長ストレージ
    • プライマリリージョンの複数のAZとセカンダリリージョンでレプリケートするgeoゾーン冗長ストレージ
    • 詳しくは公式に記載されてる

以降の設定は要件によって設定異なるが、今回はデフォルトで設定する。
アカウントの作成ボタンを押下してからデプロイが完了するまでしばらく待つ必要がある。

コンテナーの作成

作成したアカウントのメニューからデータストレージセクション内にあるコンテナーを作成してコンテナー作成ボタンを押下する。
コンテナー名を入力、今回はパブリックアクセスレベルをBLOBにしてコンテナーを作成する。

パブリックアクセスレベル

ストレージの情報をパブリックに公開するかどうかを制御する。
前提として、アカウントの設定でBLOBパブリックアクセスを許可するを無効にしている場合はコンテナーのアクセレベル設定によらず、パブリックアクセスはできなくなる。

アカウントの設定で、アカウントの設定でBLOBパブリックアクセスを許可するを有効にしている場合、コンテナーのアクセルレベル設定に応じて、パブリックアクセスが制限される。

  • プライベート(既定)
    • パブリックアクセスは許可されない
  • BLOB
    • BLOBにはアクセスできるがコンテナーにはアクセスできない
  • コンテナー
    • BLOBにもコンテナーにもアクセスできる

BLOBにアクセスできる、ということはhttps://{アカウント名}.blob.core.windows.net/{コンテナー名}/{BLOB名}のようなURLから誰でもBLOBにアクセスできる。例えば、BLOBが画像の場合は画像を取得できる。

コンテナーにアクセスできる、ということはhttps://{アカウント名}.blob.core.windows.net/{コンテナー名}/{BLOB名}?restype=container&comp=listのようなURLから誰でもコンテナーの情報にアクセスできる。

BLOBのアップロードとアクセス

作成したコンテナーの画面からBLOBをアップロードする。

アップロードされたBLOBの詳細ページに記載されているURLからBLOBにアクセスできる。

Discussion