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

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

Microsoft Tech Summit 2018 セッション要約「企業内ネットワークでも Azure PaaS でビジネスをスピードアップ! ~今知っておくべき PaaS と VNET のイイ関係~」

登壇者情報

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

小丸さん

セッション内容まとめ

Azure PaaSのタイプ

Azure App Serviceプラン

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

  • 社内システムを内製化したいお客様が増えている
  • 早くやりたい
  • アジャイル開発
    ↑PaaS向き

Azure PaaSタイプは大きく分けて2つある

マルチテナント型

比較的安く、スケールメリットがある。 デプロイやスケールの速度が速い。 f:id:tt-suzukiit:20181119174749p:plain
マルチテナント型の主なサービス

  • Azure App Service
  • Azure Storage Services
  • Azure SQL Database
  • Azure CosmosDB
  • Azure KeyVault
  • Azure Database services for PostgreSQL
  • Azure Database services for MySQL
  • Azure SQL Datawarehouse
  • Azure Event Huubs
  • Azure service bus
VNETインジェクション型

仮想ネットワークにデプロイできるサービス。 少し割高、比較的小規模でデプロイやスケールに時間がかかる。
f:id:tt-suzukiit:20181119175341p:plain

Public型のセキュリティ

IPフィルタリング

f:id:tt-suzukiit:20181119182805p:plain パブリックIPアドレスでアクセス制限を行う。

IPフィルタリングの注意点
  • 同じパブリックIPを持つ組織はだれでもアクセスできる。

    • 同じ組織のNATルーターからのアクセス。
    • ExpressRouteMSぴあリングのNATルーターからのアクセス。
    • 送信元IPアドレスを共有しているタイプのサービスからのアクセス f:id:tt-suzukiit:20181119183949p:plain
  • Azure仮想マシンからのアクセスでは下記の問題がある。

    • Azure仮想マシンにパブリックIPを割り当てたくない。
    • その場合、Azure仮想マシンからのOutBound通信のIPは不定
    • パブリックIPアドレスが変わった場合、新たなオーナーからアクセスされるリスクがある。
サービスエンドポイント

Azureサービスへのアクセスを特定のサブネットからのみに限定できる。 f:id:tt-suzukiit:20181119184330p:plain f:id:tt-suzukiit:20181119185128p:plain

サービスエンドポイントポリシー(Preview)
セキュリティ グループ サービス タグ

NSG + サービスタグによるOutbound規制を行う Azure のセキュリティ グループの概要 | Microsoft Docs

PaaSのセキュリティについてまとめ

PaaSのセキュリティにはサービスエンドを使おう。 ためならIPフィルタリングを使う。

App Service Environment

AppServiceを仮想ネットワーク上に配置できる。 これを使っている人は内部で閉じて使う人がほとんど。 f:id:tt-suzukiit:20181119190142p:plain

その他サービス紹介

ここから先のサービスについてはいまいち理解がしきれなかったのですが、 とりあえず、情報だけ載せておきます。 あとあと、編集すると思います。

Azure Firewall FQDN Tag

docs.microsoft.com
+10万ぐらいの費用かかる f:id:tt-suzukiit:20181119190414p:plain

ProjectSwiftとPaaSのVNET統合の新しいパターン

f:id:tt-suzukiit:20181119190826p:plain f:id:tt-suzukiit:20181119190855p:plain

AppServiceの新しいVNET統合(プレビュー)

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

Azure Container Instancesの場合(プレビュー)

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

Azure Database/DWHの場合

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

AppServiceVnet統合の今後のロードマップ

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

  • Vnet統合は2018年までにAppServiceが対応するようになります。
  • 2019年以降にAppServiceでPrivateIPを振ることができるようになります。←実質閉域のAppService
  • blobストレージにもPrivateIPつくようになるよ。

MicrosoftはPaaSに注力していく宣言

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

onarimonstudio.hatenablog.com

Microsoft Tech Summit 2018 セッション要約「これから始めるコンテナーの基本と始め方」

登壇者情報

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

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

セッション内容まとめ

コンテナーについて

f:id:tt-suzukiit:20181116174056p:plain アプリケーション、ミドルウェア、ランタイムをまとめるものだよ。
コンテナの中をガンガン変更するのは適していない。

f:id:tt-suzukiit:20181116174907p:plain OS上で動くので、一つ一つはアプリのようなものです。

f:id:tt-suzukiit:20181116175151p:plain コンテナとOSは分離しているので、
OSの影響を受けづらく、OSより下を変更しやすい。

f:id:tt-suzukiit:20181116175256p:plain コンテナへの詰め込み作業はプログラムで実行する。
そのため、自動化しやすく、手順をバージョン管理できる。

コンテナが使われるケース

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

リフト&シフト

OSから切り離して、運べる。

DevOpsのプラットフォーム

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

マイクロサービスやサーバーレス

コンテナどうしがセパレートになっているのでとても使いやすい。

配布
  • 開発環境を揃えたい
  • これを使ってビルド、開発する
  • アプリケーションを配る
  • 環境の提供

コンテナ採用に当たり考えること

f:id:tt-suzukiit:20181116180520p:plain 方針がとても重要 「方針」→「スタイル」と考えたうえで手段として「コンテナ」を選択する。

ロックインは引っ越しができるのであれば、そんなに悪いことではない。

コンテナはソースコードでできているので、ソースコードが一番重要。

コンテナ関連のサービス

Container Instance

AzureでDockerが動く環境を用意してくれる。
課金が秒単位
手軽に使えていいが、どちらかというとインスタント環境に使用してください。

Azureポータルのプレビュー

Azureポータルはプレビュー版が使える。

Container Registry

azure.microsoft.com

App Service

コンテナ使える。Linux版は裏はコンテナを使ってる。
イメージドッカーでコンテナを選択する。

Azure Kubernetes Service(AKS)

azure.microsoft.com
AKSについては、このページがよく書かれているので見てください。
AKS使用者の例や使用例などが載ってる。

ぱくえさん 一番おすすめの本

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

Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services

Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services

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

onarimonstudio.hatenablog.com

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