御成門プログラマーの技術日記

Microsoft AzureやAngularなどの技術情報を発信します

Microsoft Tech Summit 2018 セッション要約「Azure Storage 活用への道しるべ」

登壇者情報

日本マイクロソフト株式会社
クラウド&ソリューション事業本部 インテリジェントクラウド統括本部
テクノロジーソリューションプロフェッショナル

我妻さん

セッション内容まとめ

ディスク、ファイル、BLOBについて説明します

f:id:tt-suzukiit:20181115195727p:plain Azure Storageはいろんなシステムからアクセスできるように、
パブリックIPを持ったPaaSのシステムです。

Storage Accountの種類と特徴
  • ストレージの種類 f:id:tt-suzukiit:20181115200029p:plain 基本的には汎用v2を使っとけば間違いない。
    IOが多量に発生する場合のみV1を使う選択肢がある。

  • ホット、クール、アーカイブf:id:tt-suzukiit:20181115200228p:plain ここの説明は私が前にブログで説明しているので省略します。 onarimonstudio.hatenablog.com

  • Premium Blob Storage f:id:tt-suzukiit:20181115200504p:plain 右3つのプレミアムが追加された。 PageBlobDiskに書き込むよりもBlockBlobの方が安くて速い。 これから主流になるよ。

  • 不変BLOBストレージ f:id:tt-suzukiit:20181115200804p:plain 法令データや改変できないデータなどに使える。 時間ベースで保持期間を設定できる。

DEMO「ロジックアップで訴訟ホールドをかける」

デモは動画が公開されたら見てください。省略。 ロジックアップはストレージ関連のコネクタがたくさんある。 MicrosoftFlowもある。

Storageのセキュリティ

f:id:tt-suzukiit:20181115201127p:plain f:id:tt-suzukiit:20181115201143p:plain 仮想ネットワークのサービスエンドポイントを使うことでインターネットからアクセスできなくする。

Disk Storageは種類が増え、容量、パフォーマンスが向上

f:id:tt-suzukiit:20181115201407p:plain UltraSSDは超ハイスペック、IOPS、スループットを指定できるようになった。 f:id:tt-suzukiit:20181115201415p:plain 容量、パフォーマンスも大幅に向上したよ。

Azure Files

Azure Fileも容量とパフォーマンスが向上された。

f:id:tt-suzukiit:20181115201722p:plain AzureFileSyncを使ってファイルサーバーをクラウド化しよう。

f:id:tt-suzukiit:20181115201919p:plain AzureBackupにも対応した。

f:id:tt-suzukiit:20181115202136p:plain AzureActiveDirectoryDomainServices(AADDS)に Azure Windows VMからのみアクセスが可能になった。 AADDSが制御できていないので、まだやらないほうがいいかもとのこと。

以上です。他のセッションもまとめています

onarimonstudio.hatenablog.com

Microsoft Tech Summit 2018 セッション要約「開発部門が手掛けた Azure AD B2B 大規模展開 in Japan ~表面化した課題とそれらを解決する新機能・ロードマップ~」

登壇者情報

Microsoft Corporation
Identity Division
Principal Program Manager

山下さん

セッション内容まとめ

ばらばらだったアプリケーション認証基盤を統廃合した事例の話

f:id:tt-suzukiit:20181115190236p:plain 複数の認証基盤があると、セキュリティレベルが統一されず、
管理、サポート、管理が大変だった。

f:id:tt-suzukiit:20181115190401p:plain そこでAzureADで認証基盤を統一しようというお話

f:id:tt-suzukiit:20181115190611p:plain 構成図的には感じ。
内部の社員であろうが、外部のゲストであっても同じレベルのセキュリティを保つ仕組み。

認証基盤をAzureADにして発生した問題

f:id:tt-suzukiit:20181115190937p:plain

  1. 招待メールの見落とし
    →追加予定のジャストインタイム承認承諾機能が追加されれば解消する。
    要Azureアカウント

  2. b2bを利用できないアカウントを使用
    招待相手がAzureADまたはMicrosoftAccount(MSA)ユーザー出ない場合、 MSAの作成が促されるため、パスワードを2重管理する必要が出てきてしまう。 f:id:tt-suzukiit:20181115191805p:plain

課題をまとめると

f:id:tt-suzukiit:20181115192048p:plain 課題をそれぞれ下記のように名前付け
1.2 部分同期問題
2 悪の非管理テナント問題
3 MSA作れよ問題

b2bアカウントを利用できない課題の解決ロードマップ

f:id:tt-suzukiit:20181115192443p:plain この機能使えば解決できるんじゃない!!
1.2 部分同期問題→ワンタイムパスコード
2 悪の非管理テナント問題→ダイレクトフェデレーション、ワンタイムパスコード
3 MSA作れよ問題→ワンタイムパスコードGoogleフェデレーション

  • ワンタイムパスコード
    ワンタイムパスコードをメールアドレスで受け取ることができるので、
    ゲストはパスワードを新たに覚える必要がない。 f:id:tt-suzukiit:20181115192817p:plain

  • ダイレクトフェデレーション f:id:tt-suzukiit:20181115193056p:plain 直接企業のADにフェデレーションする。
    管理が大変で大企業向け、中小企業にはベビー。

  • Googleフェデレーション f:id:tt-suzukiit:20181115193233p:plain MSAを作らず、Gmailアカウントをそのまま利用できる。

B2B関連の機能について
  • 条件つきアクセスで利用条件の同意を要求
    外部のゲストと一人一人、利用契約をしてから登録を行うのは面倒 f:id:tt-suzukiit:20181115193636p:plain AADの条件付きアクセスで利用条件の同意を要求することができる。

  • アクセス権のチェック「アクセスレビュー」機能
    f:id:tt-suzukiit:20181115193917p:plain アクセス権を一覧でレビュー
    レビューする人を自由に設定可能
    本人に「このアクセス権いりますか」って聞くような使い方もできる。

  • ゲスト自らアクセス申請「ntitlement management」
    f:id:tt-suzukiit:20181115194319p:plain

AzureADの理想

f:id:tt-suzukiit:20181115194449p:plain 全てをAzureADに連携させよう。

以上です。他のセッションもまとめています

onarimonstudio.hatenablog.com

Azure Key Vaultのシークレットに登録した値を取得する【.net】

Azure上でキーや接続文字列などを扱うときには、AzureKeyVaultを使います。
今回はそんなAzureKeyVaultのシークレットに登録した値を.netのコードで
取得する方法を紹介します。

Azure Key Vaultとは

docs.microsoft.com

Azure Key Vault は、シークレットを安全に保管し、それにアクセスするためのツールです。
シークレットは、API キー、パスワード、証明書など、アクセスを厳密に制御する必要がある任意のものです。

  • シークレットの管理・・・シークレットには接続文字列、APIキー、パスワードなどセキュアに管理する必要のあるものを格納する

  • 暗号化キーの管理・・・データの暗号化に使用される暗号化キーの作成と制御が可能

  • 証明書の管理・・・Azureおよび内部リソースで使用するためのSSL証明書をプロビジョニング、管理、デプロイする

AzureポータルでKeyVaultを作成する

まずはAzureポータルでKeyVaultを作りましょう。

名称 設定値
名前 <各自自由>
サブスクリプション <各自自由>
リソースグループ <各自自由>
場所 <各自自由>
価格レベル 今回の要件は"標準"で大丈夫
アクセスポリシー そのまま
仮想ネットワークアクセス そのまま

AADにKeyVault認証用のアプリ(サービスプリンシバル)を作成する

KeyVaultから値を取得する権限を持ったアプリ(サービスプリンシバル)を作成する必要があります。
Azureポータルから
AzureActiveDirectory→アプリの登録→新しいアプリケーションの登録
下記を参考に値を入力して、作成をクリックします。

f:id:tt-suzukiit:20181114183307p:plain

名称 設定値
名前 <各自自由>
アプリケーションの種類 Webアプリ/API
サインオンURL とりあえず適当なURL(例:http://test1.contoso.com)

作成したアプリを開きます。
ここで"アプリケーションID(クライアントID)"を控えておきます。

パスワードの設定を行います 設定→キー→パスワード

f:id:tt-suzukiit:20181114183132p:plain
一度保存した値は表示されません。

名称 設定値
説明 <各自自由>
有効期限 <各自自由>
保存すると、自動的に作成されるのでそのまま

保存したときに表示される"値(クライアントシークレット)"を控えておきます。

KeyVaultにアプリ(サービスプリンシバル)を登録します

最初に作成したKeyVaultの画面に戻ります。 アプリ(サービスプリンシバル)を登録します。 アクセスポリシー→新規追加

f:id:tt-suzukiit:20181114182947p:plain

名称 設定値
テンプレートからの構成 未選択
プリンシバルの選択 先ほど作成したアプリを選択
キーのアクセス許可 未選択
シークレットのアクセス許可 取得を選択
証明書のアクセス許可 未選択
承認されているアプリケーション 未選択

これでアクセスポリシーの設定は完了です

KeyVaultのシークレットに保存する値を設定する

KeyVaultの画面→シークレット→生成/インポート

f:id:tt-suzukiit:20181114182826p:plain

名称 設定値
アップロードオプション 手動
名前 <各自設定>
保存したい値を入力
コンテンツの種類 未入力
アクティブ化する日 未チェック
有効期限を選択しますか 未チェック
有効ですか はい

アプリケーション側でシークレットを取得する処理を記述する

NugetでMicrosoft.Azure.KeyVaultをインストールします。
下記のコードでシークレットに登録した値を取得することができました。

using Microsoft.Azure.KeyVault;

public static async Task<string> GetSecret()
{
    return await GetSecretAsync("https://<作成したKeyVault名>.vault.azure.net/", "<KeyVaultに作成したシークレットの名称>");
}

private static async Task<string> GetSecretAsync(string vaultUrl, string vaultKey)
{
    var client = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(GetAccessTokenAsync), new HttpClient());
    var secret = await client.GetSecretAsync(vaultUrl, vaultKey);
    return secret.Value;
}

private static async Task<string> GetAccessTokenAsync(string authority, string resource, string scope)
{
    var appCredentials = new ClientCredential("<作成したアプリのClientID>","<作成したアプリのClientSecret>");
    var context = new AuthenticationContext(authority, TokenCache.DefaultShared);
    var result = await context.AcquireTokenAsync(resource, appCredentials);
    return result.AccessToken;
}

Microsoft Tech Summit 2018 セッション要約「改めて ”PaaS” について考えてみよう」

登壇者情報

日本マイクロソフト株式会社
マイクロソフトテクノロジーセンター
Azure テクニカル アーキテクト

吉田 雄哉さん (パクえさん)

セッション内容まとめ

日本のIT投資は20年間横ばいのまま

f:id:tt-suzukiit:20181112191324p:plain このアンケートに解答した会社自体が25%しかなく、
実際の数字はもっと下がる可能性が高い

経営者は収入を伸ばすのではなく、コスト削減を求めてしまっている

本来であれば、収入自体を伸ばす必要があるはずだが、
ITで収入を伸ばすことができると思われていない

労働生産性の低い日本

f:id:tt-suzukiit:20181112191433p:plain 日本はGDPのランキングは高いが、労働生産性は低い
日本は付加価値の低い活動を人数と時間で積み上げてきた。
IT付加価値の向上と仕事に手間暇をかけない必要がある

解決の切り札は"早く繰り返す"、"正しく手を抜く"、"小さく巻き込む"
  • 早く繰り返す
    「修正→実装→お試し」のサイクルを小さく繰り返す。
    ダメなら戻す。付加価値が上がらないならやめる。
    スピードを上げるためには、権限を与える。

  • 正しく手を抜く
    デジタルができないことを人間がやるという意識を持つ。
    →「デジタルトランスフォーメーションとは」と聞かれたら、 これを言うようにしている。

  • 小さく巻き込む
    最初は何でも小さく始める。
    最初から何でもかんでも人を集めるとコミュニケーションコストが高くつく。

ITに関しては、マネージドレベルの高いサービスを使おう

なるべくサービスに任せて、本質的な活動に注力する。
PaaSを使おう。

Azure PaaSサービスの紹介
  • AppService:WebApps
  • AppService:Functions
    APIベース、イベントドリブン
  • API Management
  • Logic Apps
  • PowerApps & Microsoft Flow

以上です。他のセッションもまとめています

onarimonstudio.hatenablog.com

Microsoft Tech Summit 2018に参加してきました(参加セッションまとめ)

Microsoft Tech Summit 2018に参加しました

2018 年 11 月 5 日 (月) - 7 日 (水) ザ・プリンス パークタワー東京で開催された
Microsoft Tech Summit 2018に行ってきたので参加セッションの情報を共有しようと思います。

f:id:tt-suzukiit:20181112183656p:plain

Microsoft Tech Summit 2018とは

ABOUT| Microsoft Tech Summit 2018 | インフラエンジニア、アーキテクト、IT IT 戦略にかかわる皆様の為の技術カンファレンス - Microsoft Events &amp; Seminars

Microsoft(米国本社)が年に 4 回開催するフラッグシップ イベントにあわせ、日本で開催する日本マイクロソフトの 3 大イベントの 1 つです。
Microsoft Ignite は、2018 年 9 月に米国オーランドで開催され、世界各国から 2 万人以上が参加し数々の技術情報が発表されたイベントで、Microsoft Tech Summit では、この一大イベントのエッセンスを日本の皆様にお届けいたします。
参加者の関心の高いテーマ、業種、ソリューションについて、170 以上のセッション、20 を超える展示ブース等を通し、さまざまなビジネス シーンに役立つ最新テクノロジとソリューション動向を提供します。

参加セッション一覧

個別で記事ができたらリンクを張っていきます。

day1

  • 基調講演
  • 【ゼネラルセッション】Microsoft security: How the cloud helps us all be more secure
  • Microsoft Ignite ハイライト】App Development トラック オーナーから見た Microsoft Ignite 2018 ハイライト

day2

  • 改めて ”PaaS” について考えてみよう
    onarimonstudio.hatenablog.com
  • やってみよう、Azure Stack でマルチ テナント環境の構築(ハンズオン)
  • 事例とデモでお送りする Microsoft Azure 活用パターン 2018 秋
  • 企業内ネットワークでも Azure PaaS でビジネスをスピードアップ! ~今知っておくべき PaaS と VNET のイイ関係~ onarimonstudio.hatenablog.com
  • クラウド ネイティブなセキュア アプリケーションの作り方に PCI DSS を添えて
    onarimonstudio.hatenablog.com
  • 開発部門が手掛けた Azure AD B2B 大規模展開 in Japan ~表面化した課題とそれらを解決する新機能・ロードマップ~ onarimonstudio.hatenablog.com

day3

Azure Kubernetes Service (AKS)クラスターをAzure CLIを使ってデプロイしてみた

Azure Kubernetes Service (AKS)とは

AKSを使うと、ホストされている Kubernetes 環境を管理できます。
これにより、コンテナーオーケストレーションの知識がなくてもコンテナー化されたアプリケーションを迅速かつ簡単にデプロイおよび管理できるようになります。

Azure Kubernetes Service の概要 | Microsoft Docs

  • Azure Kubernetes Service (AKS) を使用すると、マネージド Kubernetes クラスターを Azure 内に簡単にデプロイできます。

  • 責任の多くを Azure にオフロードすることで、Kubernetes の管理の複雑さと運用上のオーバーヘッドを軽減します。

  • Kubernetes マスターは、Azure によって管理されます。 ユーザーは、エージェント ノードの管理とメンテナンスだけを行います。

  • AKS は無料のため、マスターではなく、クラスター内のエージェント ノードに対してのみ料金を支払います。

AKSの機能

アクセス、セキュリティ、および監視

AKS では、Azure Active Directory と統合して、Kubernetes のロールベースのアクセス制御を使用することができます。
また、クラスターとリソースの正常性を監視することもできます。

  • ID とセキュリティ管理
  • ログ記録と監視の統合
クラスターとノード

AKS ノードは Azure 仮想マシンで実行されます。 サービスを実行するクラスターノードやポッドの数を自動的にスケールアップ、ダウンすることができます。

開発ツールの統合

Kubernetes には、Helm、Draft、Visual Studio Code 用の Kubernetes 拡張機能など、
これらのツールは、AKS でシームレスに動作します。

Docker イメージのサポートとプライベート コンテナー レジストリ

AKS は Docker イメージ形式をサポートしています。

最初のセットアップ

AzureCloudShell を使うか、WindowsマシンからAzure CLIを実行するかどちらかを選択します。 今回はAzureCLIをAzureCloud Shellから実行してみました。

Azure CloudShell

docs.microsoft.com

Azure CLIのインストール

下記ページを参照
docs.microsoft.com

Azure Kubernetes Service (AKS)クラスターを作成する

リソースグループの作成

まず、AKSをデプロイするリソースグループを作成します。

az group create --name myAKSCluster --location eastus
2.AKSクラスターの作成

AKSクラスターを作成します。
次の例は"myAKSCluster"という名前のクラスターを 1 つのノードで作成する例です。

az aks create --resource-group myAKSCluster --name myAKSCluster --node-count 1 --enable-addons monitoring --generate-ssh-keys
3.Kubernetesコマンドライン クライアントである kubectlのインストール

Azure Cloud Shellの場合は、既にインストールされているので実行しなくて大丈夫です。

az aks install-cli
4.資格情報をダウンロードし、Kubernetes CLI を構成してそれらの資格情報を使用する
az aks get-credentials --resource-group myAKSCluster --name myAKSCluster
5.接続確認として、クラスター ノードの一覧を取得する
kubectl get nodes
6. アプリケーションを定義するyamlファイルを作成する

"azure-vote.yaml"という名前のyamlファイルを下記コードをそのままコピペして作成します。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: azure-vote-back
spec:
  replicas: 1
  selector:
    matchLabels:
      app: azure-vote-back
  template:
    metadata:
      labels:
        app: azure-vote-back
    spec:
      containers:
      - name: azure-vote-back
        image: redis
        resources:
          requests:
            cpu: 100m
            memory: 128Mi
          limits:
            cpu: 250m
            memory: 256Mi
        ports:
        - containerPort: 6379
          name: redis
---
apiVersion: v1
kind: Service
metadata:
  name: azure-vote-back
spec:
  ports:
  - port: 6379
  selector:
    app: azure-vote-back
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: azure-vote-front
spec:
  replicas: 1
  selector:
    matchLabels:
      app: azure-vote-front
  template:
    metadata:
      labels:
        app: azure-vote-front
    spec:
      containers:
      - name: azure-vote-front
        image: microsoft/azure-vote-front:v1
        resources:
          requests:
            cpu: 100m
            memory: 128Mi
          limits:
            cpu: 250m
            memory: 256Mi
        ports:
        - containerPort: 80
        env:
        - name: REDIS
          value: "azure-vote-back"
---
apiVersion: v1
kind: Service
metadata:
  name: azure-vote-front
spec:
  type: LoadBalancer
  ports:
  - port: 80
  selector:
    app: azure-vote-front
7.CloudShell上で実行できるように作成したyamlファイル(azure-vote.yaml)をアップロードする

ファイルのアップロードボタンを使用してyamlファイルをアップロードします。 f:id:tt-suzukiit:20181108200109p:plain

8.アプリケーションを実行する

アプリケーションが実行されると、アプリケーション フロントエンドをインターネットに公開する Kubernetes サービスが作成されます。

kubectl apply -f azure-vote.yaml
9.アプリケーションをテストする

Kubernetes サービス作成の進行状況を監視するには下記のコマンドを実行します。

kubectl get service azure-vote-front --watch

azure-vote-front サービスの EXTERNAL-IPが"保留中"から"IPアドレス"に変わったらCtrl + Cで監視を停止します。
取得したEXTERNAL-IPでブラウザにアクセスをすると、下記画像のようなAzure Vote Appが表示されます。

f:id:tt-suzukiit:20181108201231p:plain

10.クラスターを削除する

クラスタが不要になったら下記コマンドを実行して削除します。

az aks delete --resource-group myResourceGroup --name myAKSCluster --no-wait

参考ページ

docs.microsoft.com

docs.microsoft.com

Azure Shared Access Signatures(共有アクセスシグネチャ、SAS)についてのまとめ【MCP 70-533試験 対策】

Shared Access Signatures(以下、SAS)とは

SASを使用することで、ストレージアカウント内のリソースへの委任アクセスが可能になります。
その際、アカウントキーを共有することがないため、ストレージリソースを共有する安全な方法です。

SASで設定できるアクセス設定

  • 実際の設定画面 f:id:tt-suzukiit:20181025180140p:plain

  • SASの有効期限
    開始日時~終了日時

  • アクセス許可の種類
    読み取り、書き込み、削除、リスト、作成、更新など

  • SASを受け入れるIPアドレスの指定
    例:「168.1.5.65」 または 「168.1.5.65-168.1.5.70」

共有アクセス署名の種類

サービスSAS
  • 1 つのストレージ サービス (BLOB、Queue、Table、Filesのいずれか) のリソースへのアクセスを委任する。
アカウントSAS
  • 1つ以上のストレージサービスのリソースへのアクセスを委任できる。
  • サービスSASを使用して実行できる全ての操作は、アカウントSASでも実行できる。
  • Get/Set Service PropertiesGet Service Statsなど、
    特定のサービスに適用される操作へのアクセスも委任できます

SASURI

このページから引用します docs.microsoft.com

URI
https://myaccount.blob.core.windows.net/sascontainer/sasblob.txt?sv=2015-04-05&st=2015-04-29T22%3A18%3A26Z&se=2015-04-30T02%3A23%3A26Z&sr=b&sp=rw&sip=168.1.5.60-168.1.5.70&spr=https&sig=Z%2FRHIX5Xcg0Mq2rqI3OlWTjEg2tYkboXr1P9ZUXDtkk%3D
名前 SASの部分 説明
Blob URI https://myaccount.blob.core.windows.net/sascontainer/sasblob.txt BLOB のアドレス。HTTPS推奨
ストレージ サービスのバージョン sv=2015-04-05 使用するバージョン
開始時刻 st=2015-04-29T22%3A18%3A26Z UTC時間で指定
有効期限 se=2015-04-30T02%3A23%3A26Z UTC時間で指定
リソース sp=rw リソースはBLOB
アクセス許可 sip=168.1.5.60-168.1.5.70 読み取り(r)、書き込み(w)
IP 範囲 sip=168.1.5.60-168.1.5.70 要求受け入れIPアドレスを指定
プロトコル spr=https HTTPSを使用する要求のみ許可
署名 sig=Z%2FRHIX5Xcg0Mq2rqI3OlWTjEg2tYkboXr1P9ZUXDtkk%3D BLOB へのアクセスを承認に使用。

保存されているアクセスポリシーを使用したSASの制御

SASの形式は下記2種類

アドホック SAS

アドホック SAS を作成すると、開始時刻、有効期限、および SAS へのアクセス許可がすべて、SAS URI で指定される。 アカウント SASアドホック SASしか選択できない。

保存されているアクセス ポリシーのあるSAS

保存されているアクセス ポリシーは、リソース コンテナー (BLOB コンテナー、テーブル、キュー、ファイル共有) で定義されており、これを使用して、1 つ以上の Shared Access Signature のコンテナーを管理できます。

参考ページ

docs.microsoft.com

Azure StorSimpl の実装【MCP 70-533試験 対策】

Azure StorSimplとは

こちらのページの説明がわかりやすいです。 www.cloudou.net

ひとことで言えば、
オンプレミスのストレージとクラウドストレージが連携するハイブリッドストレージなのです!!

オンプレミスのストレージの中で、利用頻度に応じて階層を移動できる。
利用頻度が高く、パフォーマンス重視のデータはオンプレミスに残し
利用頻度が低いデータは安価なクラウド側に移動を行うことができる。

StorSimpleで管理している全データ(第1~3層)をAzureストレージに対して自動でバックアップが出来ます。 もちろんバックアップしたデータは、StorSimpleにリストアできます。

これは言葉の通り、管理しているデータは自動でバックアップできるということです。

StorSimple Virtual Array のシステム要件、制限事項

docs.microsoft.com Hyper-VVMware ESXiのみ対象なので注意。

docs.microsoft.com

参考ページ

www.cloudou.net www.softbanktech.jp

AzureでContent Delivery Network(CDN)を設定する【MCP 70-533試験 対策】

Content Delivery Network(CDN)とは

ここの説明がわかりやすい blog.redbox.ne.jp

コンテンツを配信するためのネットワークのことです。

単にファイル(画像やZIPファイル等)をダウンロード配信するための技術なんです。

つまり動画配信=CDN WEB高速化=CDN ではないということです。

アクセス元からみて距離的に一番近い場所にあるサーバーを自動で選択しコンテンツをダウンロードさせるということです。

CDNのメリット
  • ダウンロード時に、距離的に一番近い場所にあるサーバーを選択するので、高速になる
  • トラフィック分散
  • 高可用性
  • ファイルの再配置の必要がない

Azure CDNとは

AzureCDNの機能一覧
必要条件

少なくとも 1 つの Azure サブスクリプションを所有する必要があります。
さらに、少なくとも 1 つの CDN プロファイルを作成する必要があります。

制限事項

Azureサブスクリプションに対して、次のリソースに関しての制限があります。

Resource 既定の制限 上限
CDN のプロファイル数 25 25
プロファイルあたりの CDN エンドポイント数 10 25
エンドポイントあたりのカスタム ドメイン 10 25

作ってみよう

クイックスタート1:Azure CDN プロファイルとエンドポイントの作成方法

docs.microsoft.com

クイックスタート2:Azure ストレージ アカウントと Azure CDN との統合

docs.microsoft.com

【2018/10/24 追記】ここのページの説明もわかりやすかったので、リンクを張っておきます。

knowledge.sakura.ad.jp

参考ページ

docs.microsoft.com

www.cdnetworks.co.jp

blog.redbox.ne.jp

Azure Blob Storageのストレージ階層に説明(ホット、クール、アーカイブ)【MCP 70-533試験 対策】

ストレージ層について

Azure BLOB Storageでは、データを格納するストレージ層を選択することができる。
それぞれコストや性能に違いがあるので、まとめていく。

ホット ストレージ層
  • 他の層と比べてストレージ コストが高めだが、アクセス コストが最も低くなります。
  • 頻繁にアクセスされるデータの格納向け
クール ストレージ層
  • ホットストレージ層に比べてストレージコストが低くなり、アクセスコストが高くなります。
  • アクセス頻度が低いデータ向け。
  • 少なくとも 30 日以上保管されるデータに最適化。
アーカイブ ストレージ層
  • ストレージ コストが最も低く、他に比べてデータ取得コストが最も高くなります
  • データの読み取り、コピー、上書き、変更を行うことはできない。
  • ほとんどアクセスされず、少なくとも 180 日以上保管されるデータ向け。

ストレージ層比較

BLOBストレージでは1つの操作だけで、データ層の変更が簡単に可能。
ただし、アーカイブからリハイドレートするには数時間かかる場合がある。
(注意)スナップショットがあるブロック BLOB の層を変更することもできない。

ホット ストレージ層 クール ストレージ層 アーカイブ ストレージ層
可用性 99.9% 99% -
可用性(RA-GRS) 99.99% 99.9% -
ストレージコス 高い 低い 最も低い
アクセスコスト 低い 高い 最も高い
トランザクションコスト 低い 高い 最も高い
最小ストレージ存続期間 - 30日(GPv2のみ) 180日
待機時間 ミリ秒 ミリ秒 15時間未満

アーカイブ層のリハイドレートとは

アーカイブされたデータを読み書きするために、
アーカイブ層をホットまたはクールに変更すること。
完了までに最大で15時間かかることがある。

クール層、アーカイブ層の早期削除期間

クール層 のBLOB(GPv2 アカウントのみ) は30 日のクール早期削除期間の対象となり、
アーカイブ層に移動された BLOB は180 日のアーカイブ早期削除期間の対象となります。

この料金は日割り計算され、アーカイブ層に変更して1日で削除するか、ホット層に移動した場合でも、
(180-1)日つまり、179日分の料金がかかります。

参考ページ

docs.microsoft.com

関連ページ

onarimonstudio.hatenablog.com