Azure Storage編~【Re:New】5分でできるストレージ作成 ~

今回は、過去にご紹介した「クラシックポータルでのAzure Storage作成方法」をアップデートし、現行のポータル上で
Azure Storageを作成する方法について紹介します。

前回記事は下記となります。
ストレージ編~5分でできるストレージ作成~

前回の記事はこちら

1. 現行ポータルで作成する手順

Azureポータルでは画面左の「作成」から「データ+ストレージ」「ストレージアカウント」の順にクリックします。

ストレージアカウントの作成画面では以下の項目を入力します。

・名前
ストレージアカウントの表示名を入力します。
この名前がそのままURLにもなるため、ユニークな名前である必要があります。

・デプロイモデル
ストレージアカウントの作成環境を選択します。現行ではリソースマネージャーが推奨されております。

・アカウントの種類
「汎用」と「Blobストレージ」の中から選択します。
「汎用」を選択するとデータベースのテーブルを保存したり、ファイル共有をしたりするようにプライベート環境向けの利用ができます。
一方、「Blobストレージ」を選択すると、BLOBのアクセス設定や読み取り許可設定など、パブリックに公開するような用途で利用ができます。

・パフォーマンス
「Standard」と「Premium」から選択することができます。
「Standard」は磁気ディスク、「Premium」はSSDとなっております。
※2016年9月現在「Blobストレージ」を選択した場合は「Standard」のみとなります。

・レプリケーション
下記の四つから可用性に合わせて選択することができます。

「ローカル冗長ストレージ(LRS)」
1つのリージョン内の単一拠点で3つ複製が保持されます。

「ゾーン冗長ストレージ(ZRS)」
1~2つのリージョン内で2~3箇所での複製が保持されます。
※BLOBストレージでは利用できません。

「geo冗長ストレージ(GRS)」
プライマリリージョンとセカンダリリージョンでそれぞれ3箇所、計6箇所で複製が保持されます。
※東日本をプライマリリージョンに設定した場合、西日本がセカンダリリージョンとなります。

「読み取りアクセス地理冗長ストレージ(RA-GRS)」
GRSのレプリケーション要件に加え、セカンダリリージョンに保存されたデータに対する読み取りアクセスが有効になって
おります。データの保全性のみならず可用性を強化するオプションとなります。

・アクセスレベル
「Blobストレージ」を指定している場合に設定可能な項目で、「クール」「ホット」の中から選択します。
「ホット」は頻繁にアクセスされるデータ向け、「クール」はバックアップなど、アクセス頻度の低いデータ向け
となります。

・サブスクリプション
ストレージアカウントを作成するサブスクリプションを選択します。

・リソースグループ
ストレージアカウントを作成するリソースグループを選択します。

・場所
ストレージアカウントを作成する場所を選択します。

以上を入力し「作成」をクリックすると、ストレージアカウントが作成されます。

2. 管理画面

作成が完了したら管理画面を開くことができます。

下記の記事の方法で接続する際にはアクセスキーを取得する必要があります。
設定欄の「アクセスキー」の項目から取得が可能です。

AZURE STORAGE編~5分でわかるAZURE STORAGE BLOB アップロードとダウンロード~
記事のサイトはこちら

今回の内容は以上となります。

今までクラシックポータルでしか利用していなかった方も、是非Azureポータルでストレージアカウントをご利用ください。

次回もお楽しみに!


Azureリソースマネージャーテンプレートを試す~①仮想マシン編~

今回は、Azureリソースマネージャーのテンプレートを使って、仮想マシンの複製を試してみます。

1. リソースマネージャーのテンプレート

リソースマネージャーのポータルではJSON形式のテンプレートを利用することができ、Marketplacesでも一部のサービスがテンプレートで提供されております。
また、作成した環境をテンプレートとして出力することで環境の複製にも応用することができます。

2. 今回の構成

今回は仮想マシン一台にディスクを追加し、内部でEドライブにアタッチした状態でテンプレートを作ります。その後、既存の環境を残したままテンプレートから新環境を作ります。

3. テンプレートの作成

ポータルの仮想マシン管理画面から「テンプレートのエクスポート」を選択します。

JSON形式で構成情報が表示されます。今回は画面上部のメニューから「テンプレートの保存」をクリックします。

テンプレート名と説明を記入したら、保存が出来ます。

4. 保存したテンプレートからの作成

保存したテンプレートはポータルの「Templates」から見ることが出来ます。

テンプレートを選択し、Deployをクリックします。

各パラメータを入力しデプロイします。
※仮想マシンのユーザー名は変えることが出来ないようです。
※仮想マシン名などは名前が重複してもデプロイができますが、ストレージアカウントは名前を変更しなければデプロイに
失敗してしまいます。

デプロイが正常に完了すると、テンプレート通りに仮想マシンが作成されています。

なお、ディスクの追加はされていますが、内部のドライブ設定は反映されていないようです。

以上が、リソースマネージャーのテンプレートを使った仮想マシンの複製手順となります。

今回はテストの為、一台の仮想マシンのみをテンプレート化しましたが、次回は複数台の仮想マシンやロードバランサを
含めた構成で試してみます。

お楽しみに!


Azureポータルからクラシックポータルへのリンクを作成する

今回は、Azureポータル上でクラシックポータルへのリンクを作成する方法をTipsとしてご紹介致します。

参考記事は下記となります。
Azure ポータルにクラシックポータルへのリンク タイルを作成する手順
参考記事はこちら

1.クラシックポータルへのリンク

デフォルトのAzureポータルではクラシックポータルへのリンクがタイルとして用意されていましたが、
カスタマイズした際に無くしてしまうことがあります。

そうなると、
クラシックポータルへアクセスする為に、サービス一覧からクラシックポータル側のサービスをクリックするか、
わざわざURLを控えておく必要があり、不便だと感じる点があります。

そこで、Azureポータル画面の「マークダウン」を使って、クラシックポータルへのリンクを作成してしまいます。

2. リンクを作成する

まずはダッシュボード画面から「ダッシュボードの編集」をクリックします。

左メニューから「マークダウン」をドラッグアンドドロップします。

マークダウン内でクラシックポータルのURLである「https://manage.windowsazure.com」を埋め込めばリンクができます。
クラシックポータルのURLだけでなく、料金計算ページやドキュメントへのリンクを作成するのも良いですし、
テキストを入れたり、画像を張ったりすることもできます。

以上が、クラシックポータルへのリンクを作成する手順となります。

マークダウン機能の他の用途例としては1つのダッシュボードを複数人で使う時の情報共有や、
webサーバを稼働させている時のURLショートカットが挙げられますので、是非有効活用してみてください。

次回もお楽しみに!


Azure ロードバランサー編~アイドルタイムアウト設定~

今回はAzureロードバランサーでアイドルタイムアウト値を設定する手順についてを、リソースマネージャー(以降ARM)クラシック(以降ASM)の双方でまとめましたのでご紹介致します。

ロードバランサーの作成手順(リソースマネージャー)は下記を御覧下さい。

Azure ロードバランサー編~ロードバランサーを作成する
http://azure-recipe.kc-cloud.jp/2016/04/azure-dns/

1. アイドルタイムアウト値とは

Azure VMで稼働させている複数台のWebサーバに対してLoadBalancerで負荷分散をしている場合に、非アクティブなセッションを何分間維持させるかを決める値となります。
この値は4~30分の範囲で設定することができます。
例えば、会員制サイト等で一定時間同一のサーバにアクセスさせ続けたい時に有用な設定です。

2. ARMでの方法

ARMの場合、Azureポータルから設定が可能です。
作成したロードバランサのページを開き、「負荷分散規則」をクリックします。

設定したい負荷分散規則をクリックするとアイドルタイムアウトの値を設定することができます。

3. ASMでの方法

ASMの場合はポータルからでは設定ができない為、今回はPowerShellで設定します。
※Azure用のPowerShellはWebPI、PowerShellギャラリーからインストールができます。

まずはPowerShellでサインインします。

[crayon-6080c3681685e808274165/]

まずは既存のロードバランサー(負荷分散セット)情報を確認します。

[crayon-6080c36816868024966433/]

ロードバランサーを作成した段階ではアイドルタイムアウトの値は未設定となっております。

それではアイドルタイムアウトの値を設定します。

[crayon-6080c3681686c452449573/]

Succeededと表示されるのを確認したら、再度ロードバランサー情報を確認します。

アイドルタイムアウトの値が設定されていれば成功です。

今回の操作は以上となります。
ASMとARMの違い、ポータル上で設定できるものとPowerShellで設定できるものというようにAzureには様々な設定がありますが、少しでも皆様が使いやすくできるようにこれからも情報を紹介していければと思います。

次回もお楽しみに!


仮想マシンに逆引き設定をしてみた

今回は、Azure上で稼働している仮想マシンに対し逆引き設定を行ってみます。
※リソースマネージャー環境が対象となります。

1. Azureでの逆引き設定

Azureの仮想マシンに対しPowerShellを使って逆引き設定をすることができます。
仮想マシン内でメールサーバーを構築する場合にはこの逆引き設定が必要になりますが、将来的にはAzure DNSの正式リリース後に方法が変更になる可能性はあると思われます。

2. 設定する情報

対象ドメイン:recipetest.kc-cloud.jp (テスト)
対象パブリックIP名:recipetest
リソースグループ:recipetest
※予めパブリックIPは静的にしておく必要があります。設定はポータルからできます。

3. PowerShellの操作

下記のコマンドで実行できます。

[crayon-6080c3681736e682411837/]

実行時にエラーが出る場合は下記の原因が考えられます。
・該当ドメインの逆引き権限が委譲されていない
・パブリックIPが動的になっている
・ドメインネームラベルが既存で他者に使われている

成功していれば、逆引きがされていることを確認できます。

以上が操作となります。
Azureでメールサーバーを構築する場合等に参考にしていただければと思います。

次回もお楽しみに!


Azure Backup編~Recovery Servicesを使ってみる~

今回はAzureのRecovery Servicesで仮想マシンのバックアップを行います。

クラシックポータルでバックアップを実施する方法は下記を御覧下さい。
Azure Backup編~5分で仮想マシンをBackupに登録~

1. Recovery Servicesとは

以前はAzure Backupというサービスを使って、クラシック環境の仮想マシンをバックアップすることができましたが、今回、リソースマネージャーで作成された仮想マシンも含めてバックアップする為のサービスとして「Recovery Services」がリリースされております。
仮想マシン内部の構成情報の他、追加したディスクのデータもバックアップすることができます。

2. Recovery Servicesコンテナーの作成

Azureポータルの左メニューから「Recovery Services コンテナー」を選択します。
左メニューにない場合は「参照」から検索します。
選択したら「追加」アイコンをクリックします。

コンテナーの名前、サブスクリプション、リソースグループ、場所を設定します。


しばらくするとコンテナーが作成されます。

3. バックアップの登録

続いて仮想マシンのバックアップ設定に移ります。
作成されたコンテナーの画面から「設定」→「バックアップ」をクリックします。

「バックアップの目標」画面では、バックアップ対象の動作環境を指定します。
今回はAzure上の仮想マシンを選択します。

「バックアップポリシー」の画面では、バックアップの頻度や保持期間を指定します。

詳細に設定したい場合、日週月年単位でポリシーを設定できます。

最後にバックアップ対象の仮想マシンを選択し、バックアップの登録が完了となります。

4. バックアップの動作確認

バックアップの登録が完了したら、さっそくバックアップを取得します。
コンテナー画面の「バックアップアイテム」をクリックします。

対象の仮想マシンをクリックします。
※登録直後は、初回のバックアップを取得するまで警告が表示されます。

バックアップ画面で「今すぐバックアップ」アイコンをクリックするとバックアップジョブが開始されます。

バックアップジョブのステータスを見るには、コンテナー画面から「ジョブ」→「バックアップジョブ」の順に開きます。

初回バックアップの場合20~30分程で完了します。

先ほどのバックアップアイテム画面でもステータスが成功になっていることが確認できます。

5. バックアップからの復元

バックアップから復元する際は、バックアップアイテム画面から「復元」アイコンをクリックします。

復旧ポイントを指定します。
今回は初回バックアップしか選択できませんが、バックアップポリシーに応じた復旧ポイントや仮想マシンがクラッシュした直前段階の復旧ポイントを選択することもできます。


復旧の際には仮想マシン名、リソースグループ、仮想ネットワーク、サブネット、ストレージアカウントを指定します。
※その他の項目(例えば可用性セット等)を指定したい場合はPowerShellでの復元作業が必要になります。

復元ジョブも同様に20~30分かかりました。


バックアップから復元した仮想マシンは通常通り仮想マシン管理画面から確認できます。


今回の操作は以上となります。

Azure仮想マシンのバックアップは基本的な設定であればポータル上からの操作でカンタンにできるので、皆様も是非お試し下さい。

次回もお楽しみに!


Azure仮想マシンにデータディスクを追加してみた

今回は基本に立ち返って、AzureのWindows仮想マシンにデータディスクを追加し利用できるようにする手順をご紹介します。

1.データディスクについて

データディスクは一つ当たり1TBまで利用でき、それ以上の容量を使いたい場合は複数のデータディスクをアタッチすることになります。
なお、アタッチできるデータディスクの数は仮想マシンのサイズによって異なりますのでご注意下さい。

2. データディスクの作成・アタッチ

Azureポータルにて仮想マシンの管理画面を開きます。
「設定」→「ディスク」の順にクリックします。

「新しいディスクの接続」をクリックします。

ディスクの名称や種類・サイズの指定等をしたら、OKを押して作成します。

今回はテストなので、小さめのデータディスクを2つ追加してみます。

Azureポータル上での操作は以上ですが、これだけでは実際にデータディスクの利用ができないので、続いてディスクを追加した仮想マシンにログインします。

3. データディスクを利用できるようにする

追加したディスクを実際にドライブやフォルダに割り当てて利用できるようにする為に今回は下記の手順で実施致します。
・ストレージプールの作成
・ストレージプールから仮想ディスクを作成
・仮想ディスクをドライブに割り当てる

まず、仮想マシンにログイン後、サーバマネージャーを開き「File and Storage Services」をクリックします。

「Storage Pools」をクリックします。

「Storage Spaces」にある「Primordial」を右クリックし、「New Storage Pool...」をクリックします。

ストレージプール作成ウィザードが開きます。Nextをクリックします。

ストレージプール名を入力し、Nextをクリックします。

プールに含めるディスクを選択し、Nextをクリックします。

 

ストレージプールの作成確認をしたら、Createをクリックします。

 

Statusが全てCompletedになったらCloseします。

 

 

作成したプールを右クリックし「New Virtual Disk...」をクリックします。

仮想ディスク作成ウィザードが開きます。Nextをクリックします。

ストレージプールを選択し、Nextをクリックします。

仮想ディスク名を入力し、Nextをクリックします。

対障害性に応じて構成を選択します。今回はテストなので「Simple」を選択します。

ストレージプールの中から割り当てる形式を選択します。
シン・プロビジョニングで容量を仮想化したい場合は「Thin」を、固定のファイルサイズで利用したい場合は「Fixed」を選択します。
今回は「Fixed」にチェックを入れます。

利用する容量を特定するか、最大サイズで利用するかを選択します。

作成内容を確認して「Create」をクリックします。

全てのステータスが「Completed」になったら「close」をクリックします。

続いて作成したディスクから実際のドライブに割り当てる設定を行います。
「Next」をクリックします。

先ほど作成したディスクを選択し「Next」をクリックします。

ディスクの中から割り当てるサイズを指定します。今回は最大容量を指定します。

割り当てるドライブ・フォルダを指定します。今回はFフォルダを指定します。

ボリュームのファイルシステムやボリューム名を設定します。

作成内容を確認し「Create」をクリックします。

全てのステータスが「Completed」になったら「close」をクリックします。

Fドライブが作成されていることが確認できます。

いかがでしたでしょうか。
今回は単一のディスクを単一のドライブに割り当てる手順を実施しましたが、複数のディスクを単一のドライブに割り当てて数TB~数十TBを使えるようにすることもできるので、是非試してみてください。

次回もお楽しみに!


SQL Data Warehouse を触ってみた

今回はAzureが提供しているデータウェアハウス「SQL Data Warehouse」を操作してみます。

操作手順は下記ドキュメントに基づいて行います。
https://azure.microsoft.com/ja-jp/documentation/articles/sql-data-warehouse-get-started-provision/

1. Azure SQL Data Warehouseとは

Azure環境で利用できる、データ蓄積・分析用サービスです。
従来のオンプレミス機では非常に高価な上に、リソースの有効活用が難しいという欠点がありましたが、Azureでは必要なタイミングに必要なリソースだけ調達して利用できるので、極めてクラウド向きのサービスです。
また、他のクラウドデータウェアハウスではサイズ変更に数時間~数日かかるのが基本でしたが、Azureでは数分で拡大・縮小できるという利点があります。

※2016年4月現在プレビューとなっております。

2. Azure SQL Data Warehouseの作成

Azureポータルの左メニューから「新規」→「データ+ストレージ」→「SQL Data Warehouse」を選択します。

作成にあたっては下記の項目を設定します。
・名前
・パフォーマンス(サイズ)
・サーバー
・ソースの選択
・サンプルの選択
・リソースグループ
・サブスクリプション

パフォーマンスですが、100DWU(Data Warehouse Unit:独自のリソース単位)から2000DWUまで選ぶ事ができます。
100DWU当たり$0.7/hかかるのですが、変更は数分で出来るため最初は小さめで作成するのが良いでしょう。


続いてData Warehouseに使うサーバーを選択します。
サーバーは既存のSQL databaseの中から選択するか、新規に作成することになります。
今回は新規に作成します。


ソースは「空のデータベース」「サンプル」「バックアップ」から選ぶことが出来ます。
実際のデータ分析では「空のデータベース」を選択しますが、今回はテストなので「サンプル」を選択します。

サンプル、リソースグループ、サブスクリプションを選択したら「作成」をクリックします。
作成が完了すると、管理画面が表示されます。

3. Visual Studioで接続してみる

管理画面の「Visual Studioで開く」というアイコンをクリックします。

「Visual Studioで開く」をクリックするとVisual Studioが開きます。
※開く前に「ファイアウォールを構成」のリンクにアクセスし、アクセス元のIPを許可して下さい。

認証情報として、データベース名・ユーザー名・パスワードを入力するとアクセスできるデータベース一覧に追加されます。

サンプルの中身は下記のようになっています。

試しにデーブル内の行数を数えるクエリを入力してみます。

SELECT COUNT(*) FROM dbo.FactInternetSales;

すると、下記のように結果が表示されました。

今回の操作は以上となります。
AzureであればDWHも簡単に使い始めることができるので、是非お試し下さい。

次回もお楽しみに!


Azure DocumentDBを触ってみた

今回はAzureが提供しているNoSQLデータベース「DocumentDB」を操作してみます。

操作にあたってはAzure公式ページのチュートリアルに則って行います。
Azure公式ページはこちら

1. Azure DocumentDBとは

DocumentDBとはJSONデータを扱うビッグデータ向けのNoSQLデータベースです。
特にデータベースとしての速度や柔軟性が問われるモバイルアプリケーションやWebアプリケーションに適しています。

内部の構造関係は下記の通りとなっています。

DocumentDB アカウント
↳データベース
↳コレクション
↳jsonデータ

2. DocumentDBの設定

Azureポータルの左メニューから「DocumentDBアカウント」を選択します。

「追加」をクリックします。

DocumentDBアカウントのID名(任意)を入力し、サブスクリプション等の基本情報を入力後、「作成」をクリックします。

作成が完了するとDBアカウントの管理画面が開きます。
続いて「データベースの追加」をクリックします。

ここではデータベースのIDを入力します。
入力後、「作成」をクリックします。

データベースが作成されたらDBアカウントの管理画面に戻ります。
「データベース」タイルに作成したデータベースが表示されているのでクリックします。

データベースの管理画面が開きますので、「コレクションの追加」をクリックします。

コレクションの追加画面ではID名の他に価格レベルとインデックス作成ポリシーを指定します。

 

以上でDocumentDBの設定が完了です。

3. DocumentDBを使ってみる

Jsonのデータは各管理画面のエクスプローラーアイコンから作成・操作を行います。
今回はドキュメントエクスプローラーとクエリエクスプローラーを操作してみます。

まずはドキュメントエクスプローラーを開きます。
データベース・コレクションを指定してドキュメントの作成やアップロードができます。
今回はドキュメントの作成をクリックします。

Json形式でのドキュメントを作成できます。
なお、必ず「id」を設定する必要があります。

作成したドキュメントにはプロパティが割り振られています。
後ほど操作するクエリエクスプローラーでの検索条件として使うこともできます。

ドキュメントの検索や抽出はクエリエクスプローラーで行うことができます。
クエリエクスプローラー画面では、文字通りクエリが実行できます。

いかがでしたでしょうか。
今回はテストなので簡単な操作方法のご紹介となりましたが、リレーショナルデータベースと比べて制約が少なく高速かつ柔軟にJsonデータ管理ができるDocumentDBを是非ご利用ください。

次回もお楽しみに!


最近何かと聞く「IoT」Azureにこんなサービスあるってよ。「Azure IoT Hub」について調べてみたことをまとめてみた

最近、何かとIoTと騒がれていますが、AzureにもそんなIoTにまつわるサービスがリリースされています。その名も、Azure IoT Hub。
今回はこのAzure IoT Hubについて概要を紹介します。

【Azure IoT Hubとは】

・デバイスとクラウド間の信頼性の高い双方向メッセージングを提供出来るサービス
・デバイス毎のセキュリティ資格情報とアクセス制御を使用して、セキュアな通信が可能なサービス。
・一般的な言語(C#,Javascriptなど)とプラットフォームのデバイスのライブラリが含まれるサービス。

【IoTデバイスの接続の課題】

デバイスには下記のような課題があります
・メンテナンスが行き届かない無人や遠隔地に設置される場合がある
・電源や処理能力が限られている場合がある
・ネットワーク接続が不安定になる場合がある
・固有のアプリケーションが必要になる場合がある

【Azure IoT Hub のいいところ】

IoT Hubとデバイスのライブラリでは、デバイスをデータベースなどに接続するための課題を以下の方法で解決することが出来ます。

■デバイスごとの認証およびセキュリティで保護された接続
各デバイスを独自のセキュリティキーを使用してプロビジョニングを行うことでIoT Hubに接続することができます。IoT Hub IDレジストリには、ソリューションのデバイスの ID とキーが保存されます。個々のデバイスのホワイトリストおよびブラックリストを保持し、デバイスのアクセスを完全に制御することができます。

■広範なデバイスライブラリ
Azure IoTデバイスSDKはさまざまな言語とプラットフォームで使用できます。
Azure IoTデバイスSDKでは以下の言語に対応しています。
・C#
・Java
・JavaScript
etc・・・

■IoT プロトコルと機能拡張
ソリューションでデバイスライブラリを使用できない場合、IoT Hubは、デバイスで特定のプロトコルをネイティブに使用できるようにするパブリックプロトコルを公開します。IoT Hubを拡張して、MQTT v3.1.1 のサポートをAzure IoTプロトコルゲートウェイのオープンソースコンポーネントに提供することもできます。Azure IoTプロトコルゲートウェイは、クラウドまたはオンプレミスで実行できます。また、カスタムプロトコルをサポートするよう拡張することもできます。

■スケール
Azure IoT Hub は、デバイスの数百万単位での同時接続、および毎秒数百万単位のイベントに対応できます。

【実装できる通信パターン】

■イベント ベースのデバイスからクラウドへの取り込み
IoT Hubは、デバイスから1秒ごとに何百万ものイベントを安定して受信できます。
IoT Hubは、信頼性の高い処理を保証するためまた、ピーク時の負荷を吸収するために、最大7日間イベントデータを保持することが出来ます。

■他にも
IoT固有の機能をIoT Hubで利用して、ファイルのアップロードやダウンロードなどの機能を実装することもできます。そうした機能には、一貫性のあるデバイスID管理、接続の監視、スケールなどがあります。

【気になる料金は?】

表記の金額はすべて東アジアリージョン日本円表記にしています。
■Freeエディション
Azure IoT Hub サービスを無料で試すことのできるエディションです。サインアップしていただくと、1 日合計 8,000 メッセージまで送信できます。Free エディションは、IoT Hubサービスの機能のテストやトレーニングの用途に適しています。
金額:無料

■S1エディション
生成されるデータが比較的少ない IoT ソリューションに適しています。S1 エディションのユニットごとに、すべての接続デバイスでの合計で 1 日に最大 400,000 メッセージを送信できます。
金額:¥5,100

■S2エディション
大量のデータが生成される IoT ソリューションに適しています。S2 エディションのユニットごとに、すべての接続されたデバイスでの合計で 1 日に最大 600 万メッセージを送信できます。
金額:¥51,000

いかがだったでしょうか。これからますますこの分野は注目されていく分野になると思いますが、まさにIoTのかゆいところに手が届くツールになっていることがわかりました。

最後まで、ご覧いただきましてありがとうございました
それではまた、次回