カテゴリー
2021年 AWS Azure クラウド コンピューター トラブルシューティング 技術一般 証明書

SSL証明書を簡単に取得する方法 – Wiresharkで証明書を抽出

Webサーバー向けのテストをしていると、代理証明書が必要となるケースが多いです。特に、インターネット上にあるサーバーに対しての通信テストとなると、それらのサーバー署名書をまず手に入れ、その内容を元に、代理証明書を作成する必要があります。

インターネット上にあるサーバーの証明書ですが、実は簡単に内容を取得することができます。パケットキャプチャ(TCP ダンプ)を取得するのです。

パケットキャプチャには、通信の全てが含まれています。当然、サーバー証明書も含まれます。このやり取りの証明書の部分を指定して、証明書だけを抜き出せば良いのです。

サーバ証明書の抜き出し方

まず、証明書を取得したいサーバーにアクセスをし、その通信をWiresharkを使ってパケットキャプチャします。

Server Hello が飛んできた後に、Certificateのやり取りが見えます。この中に証明書が入っています。上の画面キャプチャーの青色で反転させているパケットです。このパケットの中を見ていきます。

  1. Secure Sockets Layer
  2. TLSV1.2 Record Layer: Handshake Protocol : Certificate
  3. Handshake Protocol: Certificate
  4. Certificates (バイト数)

の順にクリックして、詳細を表示させます。

その中に、Certificate (id-atCommonName=ドメイン名)のパケットが見えます。

id-at-ConnomName=w.usabilla.com を取り出してみます。

そのパケットを選択し、右クリックメニューを表示させます。

メニューから、Export Selected Packet Bytes… をクリックします。

このパケットを、証明書として保存します。名前をつけて保存のウィンドウが表示されますので、ファイル名のところで名前を指定します。

この時のポイントは、拡張子を「.crt」にして保存することです。こうすることで、Windows 上からは証明書として認識されますので、ダブルクリックで中が見られるようになります。

証明書の内容を見てみる

名前をつけて保存した証明書ファイルを開いて、中をみてみましょう。

w.usabilla.com.crt の証明書を、駄ぬんるクリックして開いてみます。

発行社はAmazonなんですね。

「詳細」タブをクリックして、証明書の詳細も見てみましょう。

証明書の記載項目の一覧が表示されますので、「サブジェクト」をクリックしてみます。

CN: Common Name が表示されましたね。

次に、「サブジェクト代替名」をクリックしてみます。

SAN: Subject Alternative Name が表示されましたね。

証明書の中身が分かりましたので、これで代理証明書を作成することが可能です。自分でCA局のサーバーを建てて、そこでサインして発行するのも良いのですが、オンラインで簡単に証明書を発行できるサイトがあります。

これも使ってみてください。

関連する記事:

最近の記事:

カテゴリー
2021年 Linux Riverbed SaaS Windows キャッシュ クラウド コンピューター 技術一般 自動化 証明書

モバイル PC で SaaS の快適アクセス

Riverbed TechnologyのClient Accelerator(旧SteelHead Mobile) という製品を触ってみました。

なぜ、この製品を触ってみたかというと、バージョン 6.2.2 にSSL Agent (SSL Simplification)という機能が搭載され、最適化動作にサーバ証明書の管理が不要となったためです。これは便利!と思い、早速、評価してみました。

SteelHead Appliance とは

業界をリードする WAN 最適化装置です。WAN越し、インターネット越しのアプリケーションアクセスのパフォーマンスを向上させます。WAN やインターネットに流れるデータを、特別なキャッシュの技術を使ってデータ削減します。

リバーベッドテクノロジー社初心者向け技術トレーニング資料より抜粋

Client Acceleratorとは

SteelHead アプライアンスをソフトウェアにした製品です。Windows や Mac のラップトップにインストールして使えます。

リバーベッドテクノロジー社初心者向け技術トレーニング資料より抜粋

なぜ、SSL Agentが良いのか?

インターネットの通信の 85%以上が SSL 通信(HTTPS)であると言われています。つまり、暗号化されているのです。

こういった暗号化された通信を制御する製品では、通信を一旦終端し、暗号化を解く必要があります。

この暗号化には、サーバ証明書を使用しています。

企業内にホスティングされている Web サーバーであれば、そのサーバーの管理者に依頼すれば、サーバー証明書を入手することは可能です。

ですが、これがインターネット上のサーバーだったら、どうでしょうか。誰が管理者か分からないし、管理者が仮に分かっても、サーバ証明書は通常得られません。

インターネット上サーバーの証明書は、管理者に依頼しなくても、サーバ証明書の内容は入手することは可能です。ですが、いつそれらの証明書の内容が変更になるかは分からないという点は変わりません。その内容に合わせて代理証明書を作っても、元の証明書の内容が変更になるたびに代理証明書の方も変更する必要があり、管理が大変です。

WAN 最適化装置も、クライアント PC と Web サーバーの間の通信に入り込んで動作しますので、暗号化された通信は一度復号化する必要があります。そこに、サーバ証明書を使っています。

企業内の Web サーバーであれば、管理者に依頼してサーバー証明書を入手し、その証明書を WAN 最適化装置にもインストールしれば良いので対応できます。

しかし、これが Microsoft 365(Office 365)へのアクセスだったらどうでしょうか。マイクロソフトからサーバー証明書はもらえません。

復号化ができませんので、最適化動作(特に問題になるのはデータ削減)ができなくなります。

仮に、先ほどの方法で内容を把握し、自分で代理証明書を作成することは可能ですが、その内容が変更になったら、証明書がないのと同じです。マイクロソフトは、M365 の証明書をかなり頻繁に変更しています。

SSL Agent の登場

こういった問題を解決できるのが、SSL Agent です。この機能を使えば、サーバ証明書のインストールは不要になります。どうやったら証明書が入手できるのかとか、いつ変更になるのかを気にする必要はもうありません。

動作確認の構成

テスト構成はこんな感じです。

Client Accelerator と SteelHead の間に WAN シミュレーターを入れ、ここで疑似インターネットを作っています。WAN シミュレーターで、帯域幅や遅延、パケットロスが設定できます。今回のテストでは、100ミリ秒の遅延を入れています。

WAN シミュレーターには、WANemを使っています。

そして、アクセス先は、実際の M365 を使っています。私が個人で契約して使っているものですので、東京リージョンになります。M365 へのアクセスは、実インターネットの通信です。

データ削減の効果

OneDrive に保存してある 68MB のパワーポイントのドキュメントをダウンロードしてみました。

以下のグラフの一番上のコネクションが、OneDrive からのダウンロードのコネクションです。転送データの内、41% のデータが重複排除され削減されています。通信の宛先ポート番号がTCP/443(HTTPS)になってますね。サーバ証明書なしで、データ削減ができています。

キャッシュの無い一回目のデータ転送でも半分弱のデータが削減されてます。すごい効果ですね。40秒ほどで、ダウンロードが完了しています。

今度は、二回目の転送です。以下のグラフの上から2番目のコネクションが、OneDrive からのダウンロードのコネクションです。

同じパワーポイントのファイルを再度転送しています。91% のデータ削減です。もうほとんど、疑似インターネット上にはデータが流れてません。流れるデータの量が減れば、とうぜん体感のスピードだって上がりますよね。数秒でダウンロードは完了しています。

同じファイルなんだからデータが減って当たり前、という考え方もあります。

ですが、Riverbed 社のキャッシュは、ファイルキャッシュではなく、バイトキャッシュを使っています。

約100バイトの大きさにデータを細切れにし、その中の「0」と「1」の配列が同じであれば、1つにするという方式で、データ削減を行っています。

リバーベッドテクノロジー社初心者向け技術トレーニング資料より抜粋

つまり、この「0」 と「1」の配列が同じであれば良いだけで、パワーポイントで得たキャッシュで、エクセルでも PDF でも、データ削減が出来ちゃうという訳です。すごい技術を持ってます。

もう一つのテスト構成

Web プロキシーサーバーというものは、企業でよく使われています。これがあった場合でも、この WAN 最適化の仕組みは動くのだろうか?という疑問が湧きましたので、追加で動作も見てみました。

Web プロキシーサーバーには、 Unveil Technology 社のOpen Squidbox を使ってます。Linux でお馴染みの Squid なんですが、仮想アプライアンスみたいになってて、手軽に使えます。GUI の画面からグラフを見られて便利です。

Web プロキシー経由での、一回目のデータダウンロードです。以下のグラフの上から2番目のコネクションです。今度は、宛先ポート番号がTCP/3128(Squid)になってますね。

一回目のキャッシュなしのダウンロードで、44%のデータ削減が実現しています。

今度は二回目のダウンロードです。以下のグラフの下から4番目のコネクションです。94%のデータ削減が実現しています。Web プロキシーを経由しても、データ削減の効果は得られていますし、変わらない結果が得られました。

評価のまとめ

  • キャッシュを使ってのデータ削減と差分データ転送の効果は高い。
  • 運用すればするほどキャッシュは溜まるので、一回目のデータ転送時のデータ削減効果は高くなることが期待できる。
  • SaaS アプリケーションだけでなく、Yahoo や Facebook など、インターネット上にある Web サーバーは何でも最適化対象にできる。
  • ただし、ある程度の転送データ量があるコネクション(OneDrive や SharePoint のアクセス)を対象にしないと、投資効果が合わない。
  • ダイレクトアクセスでも、Web プロキシー経由のアクセスでも、通信を最適化することができる。

私のオーストラリアの某お客様が、シンガポールのデータセンターにある Web プロキシーを経由して Microsoft 365にアクセスしているが遅いといっていますので、早速、この SSL Agent を提案してみたいと思います!

SSL Agent の設定

最後に、設定内容もメモとして記載しておきます。

SteelHead アプライアンス側設定

SSL Main Setting のところで、SSL Optimization を有効にします。

SSL Advanced Settings のところで、TLS Blade を有効にします。

Client Accelerator Controller の自己証明書をコピーし、SteelHead アプライアンスのMobile Trust のリストに追加します。

これは、Client Accelerator ソフトウェアとSteelHead アプライアンス間(最適化通信のコネクション)を暗号化するためです。

Client Accelerator Controller 側のポリシーの設定

Port Label で、「Web」というラベルを作成し、TCP/80, 443, 3128を対象としています。Port Label とは、複数のポート番号をグループ化して名前で管理できるようにするものです。

In-Path ルールで、Webでまとめたポート番号向けの通信を全て最適化対象とするというルールを設定します。

今回使用しているルールの内容です。

Peering 証明書のところに、SteelHeadアプライアンスの自己証明書をコピーして追加します。Client Accelerator ソフトウェアとSteelHeadアプライアンス間の最適化通信を暗号化するためです。

SSL 設定のところで、SSL Optimization を有効にします。

その設定ページの下の方にあるTLS Optimization を有効にします。

Client Accelerator の評価版は、こちらから申請して試すことが可能です。


にほんブログ村

関連する記事:

最近の記事:

カテゴリー
2021年 Raspberry Pi ガジェット コマンド コンピューター バックアップ・リストア 技術一般

Raspberry pi 4 バックアップ・リストア

バックアップ

MacOS を使っているなら、DD がおすすめです。ターミナルでの操作になりますが、バックアップイメージの書き出しが非常に速いです。

Windows でも、これを入れれば、DD が使えるようになるみたいです。私は使ったことがないのですが。

MacOS

ターミナルを起動し、df コマンドを実行します。

kma@C02CL3FJMD6R-MAC ~ % df -h
Filesystem                  Size   Used  Avail Capacity    iused       ifree %iused  Mounted on
/dev/disk1s1               1.8Ti   10Gi  1.2Ti     1%     488398 19538540362    0%   /
devfs                      193Ki  193Ki    0Bi   100%        667           0  100%   /dev
/dev/disk1s2               1.8Ti  578Gi  1.2Ti    32%    2598232 19536430528    0%   /System/Volumes/Data
/dev/disk1s5               1.8Ti  4.4Gi  1.2Ti     1%          4 19539028756    0%   /private/var/vm
map auto_home                0Bi    0Bi    0Bi   100%          0           0  100%   /System/Volumes/Data/home
/dev/disk1s4               1.8Ti  505Mi  1.2Ti     1%         57 19539028703    0%   /Volumes/Recovery
//admin@172.16.16.4/share  2.7Ti  1.2Ti  1.5Ti    45% 1284655110  1628797004   44%   /Volumes/share

MicroSD を認識させた後に、もう一度 DF コマンドを実行します。増えているものが、MicroSD のディスク番号です。

私の例ですと、/dev/disk2s1 になってます。これを、メモしておきます。

kma@C02CL3FJMD6R-MAC ~ % df -h
Filesystem                  Size   Used  Avail Capacity    iused       ifree %iused  Mounted on
/dev/disk1s1               1.8Ti   10Gi  1.2Ti     1%     488398 19538540362    0%   /
devfs                      193Ki  193Ki    0Bi   100%        667           0  100%   /dev
/dev/disk1s2               1.8Ti  578Gi  1.2Ti    32%    2598246 19536430514    0%   /System/Volumes/Data
/dev/disk1s5               1.8Ti  4.4Gi  1.2Ti     1%          4 19539028756    0%   /private/var/vm
map auto_home                0Bi    0Bi    0Bi   100%          0           0  100%   /System/Volumes/Data/home
/dev/disk1s4               1.8Ti  505Mi  1.2Ti     1%         57 19539028703    0%   /Volumes/Recovery
//admin@172.16.16.4/share  2.7Ti  1.2Ti  1.5Ti    45% 1284655110  1628797004   44%   /Volumes/share
/dev/disk2s1               252Mi   49Mi  204Mi    20%          0           0  100%   /Volumes/boot

MicroSD をアンマウントします。

kma@C02CL3FJMD6R-MAC ~ % diskutil umountDisk /dev/disk2s1 
Unmount of all volumes on disk2 was successful

MiscoSD の中のデータをコピーします。

sudo dd if=/dev/rdiskX of=./image-name.img bs=1m

「if=」の後に、先ほどのディスク番号を指定します。私の場合は、「/dev/disk2s1」なので、「/dev/disk2」です。

diskの前に「r」を付けるのを忘れないようにしてください。これを忘れると、書き出しが非常に遅くなります。

「of=」の後ろには、書き出した後のイメージの名前を指定します。以下の例では、書き出し先は、カレントディレクトリーです。

最後に「bs=1m」を指定しておきます。これも忘れると、書き出しが非常に遅くなるので注意です。

kma@C02CL3FJMD6R-MAC ~ % sudo dd if=/dev/rdisk2 of=./raspberry-20210606-bak.img bs=1m
Password:

書き出しが始まりました。

別のターミナルを起動して見てみましょう。指定した名前のファイルができてますね。

kma@C02CL3FJMD6R-MAC ~ % ls -la ./*.img
-rw-r--r--  1 root  staff  5622464512 Jun  6 13:11 ./raspberry-20210606-bak.img

書き出しが完了するまで、しばらく待ちます。

32GB の MicroSD からイメージを書き出しましたが、約422秒で完了です。なかなか速いですね。

30145+0 records in
30145+0 records out
31609323520 bytes transferred in 421.862104 secs (74928094 bytes/sec)

これでバックアップは完了です。

ちなみに、このイメージファイルですが、圧縮するとかなりサイズが小さくできるみたいです。32GBのバックアップイメージを圧縮すると、1.9GBくらいまで小さくできます。

バックアップを数世代残しておきたい場合は特に、圧縮して保存しておくと良いかもしれません。

リストア

BelenaEtcher をダウンロードします。使い方も簡単で、個人的におすすめです。

バックアップの時に使用した DD コマンドでもリストアはできるのですが、こちらの方が、書き込み速度が速いです。

Windows 版、MacOS 版、Linux 版があります。

Etcher を起動します。

「Flash from file」をクリックします。

エクスプローラーから、バックアップイメージを指定します。

「Select target」をクリックします。

リストア先の MicroSD を指定し、「Select」をクリックします。

「Flash」を押せば、リストアが開始します。

MicroSD への書き込みが始まります。

使っているパソコンのスペック次第というところもありいますが、32GB のイメージの書き込みで、45分くらいという感じです。

関連する記事:

最近の記事:

カテゴリー
2021年 AWS Azure SaaS クラウド コンピューター サーバレス 技術一般 証明書

オンラインで簡単に証明書を発行する方法


にほんブログ村

アプリケーションのテストを行う時、サーバ証明書が必要になることがあると思います。私の場合ですと、インターネット上のアプリケーション(SaaS)の代理証明書が欲しいケースが多いです。

CA 局を持っていれば、そのサーバーで、証明書の発行もサインもしてしまえば良いのですが、たまにしか使わない証明書発行のために、わざわざ CA 局のサーバーを構築するのも手間です。

そんな時に、オンラインで発行してくれるサイトを見つけました。CertificateTool.com というサイトです。

必要となる各種証明書を発行できます。

もちろん、暗号化のビット数も選べます。

証明書の中に含める属性だって、自由に追加・削除可能です。

Subject Alternative Names (SAN) を追加してみました。

Certificate Signing Request (SCR) もでき、その際のハッシュのアルゴリズムも選べます。

SCR なのか、自己署名なのかの選択も可能です。

今回は、SHA256のハッシュで、自己署名、期間は1年で作成してみます。

Submit ボタンを押せば完了です。

できました。非常にお手軽です。ダウンロードの画面に移動するので、そこから必要となる証明書をダウンロードできるようになります。

プライベートキーはテキストベースで入手も可能です。

証明書も、テキストベース、PEM などのファイル形式でも入手可能です。以下の形式をサポートしてます。

  • PEM Certificate
  • PKCS#12 Certificate and Key
  • PKCS#7 Certificate(s)

CSR もできるから、ここで発行した証明書を、自社のCA局でサインして使うことだってできちゃいます。

Office 365 のような SaaS サービスで使用されているサーバー証明書が欲しい場合、代理証明書としてのサーバー証明書を作成します。要は、実際に Office 365 で使用されている証明書と同じ内容のサーバ証明書を自分で作成し、自分のCA局でサインするのです。

代理証明書を作成する上で必要な情報は、「CN」や「SAN」になります。Microsoft がウェブ上で公開している情報もありますが、実際に Office 365 にアクセスし、通信の中で飛んでくる証明書をパケットから抜き出して内容を確認することが一番確実です。

具体的には、Outlook を使って Exchange Online に通信し、その時のパケットキャプチャーを取得することです。

実際の手順を紹介していますので、こちらをご参照ください。

関連する記事:

最近の記事:

カテゴリー
2021年 Linux NPM Raspberry Pi Riverbed SNMP コンピューター 可視化 技術一般

Raspberry Pi で SNMP エージェントを動かす


にほんブログ村

Network Performance Monitoring(NPM)製品の動作確認をしていて、SNMPポーリングから、対象機器の情報を取得してトポロジーマップを作成するという機能を知りました。

私は、家の各部屋に Cisco スィッチ、インターネットルーターも Cisco ルーターを使っているので、それぞれの機器に SNMP の設定をしたのですが、今回は、Raspberry Pi にも SNMP の設定をしてみました。

私の Raspberry Pi では、Softether VPN サーバーが動いてますので、是非ともトポロジーマップに含めて、どのように表示されるのかが見たかったためです。

今回は、Raspberry Pi で SNMP エージェントを動かす設定を試した時のメモです。

Raspberry Pi OS は、Debian という Linux なので SNMPのエージェントには、Net-SNMP が使われています。

ですが、デフォルトではインストールはされていないようです。

追加インストールします。

$ sudo apt install snmpd

これでインストールは完了です。

次に、Net-SNMP の設定を行います。

設定ファイルは、「snmpd.conf」というファイルになります。保存場所は、/etc/snmp ディレクトリー配下になります。

ファイルを編集する前に、バックアップを取っておきましょう。これは Linux の設定を変更する時の基本ですね。

snmpd.conf ファイルが保存されているディレクトリーに移動します。

cd /etc/snmp

cp (Copy) コマンドで、バックアップファイルを作成します。

sudo cp ./snmpd.conf ./snmpd.conf.bak

作成されましたね。これでいつでも戻せます。

それでは、ファイルを編集して、設定をしていきます。

個人的には、編集の際には、vim を入れておくと便利だと思います。

「AGENT BEHAVIOUR」という項目の、以下の部分のコメントアウトを削除して、有効化します。

sudo vim ./snmpd.conf

コメントアウトを外します。

次に、MIB のアクセス範囲を広げておきます。

「ACCESS CONTROL」の項目の一行目に、以下のように記入しておきます。

最後に、「SYSTEM INFORMATION」の項目で、SysLocation と SysContact を入力しておきます。

基本的にはこれで完了です。

設定を変更しましたので、反映させるために、SNMP のプロセスを再起動しておきます。

sudo service snmpd restart

自分で使っているSNMPマネージャーでアクセスしてみましょう。

私が今回使っているのは、リバーベッドテクノロジー社のSteelCentral シリーズの NetIM という製品です。こいつから、Raspberry Pi に対して、SNMP ポーリングを行います。

Raspberry Pi が表示されました。

対象機器の情報を取得するまでに時間がかかるので、情報取得後に、トポロジーマップを確認してみたいと思います。

関連する記事:

最近の記事:

カテゴリー
2021年 Microsoft Raspberry Pi Windows おすすめ販売 ガジェット コンピューター 家電 技術一般

Raspberry Pi 4 で Windows 10 を動かす


にほんブログ村

初めて購入した Raspberry Pi 4 の 8GBモデル。Linux でサーバーを動かしたいなと思って買ったのですが、やっぱりWindows も動かしてみたいなと思ったので、ちょっといろいろ調べてみました。その時のメモ書きです。

必要なもの

Raspberry Pi 4 本体

Windows を動かすなら、やはり、4BG 以上のモデルがいいでしょう。

4GBモデル

8GBモデル

初めて Raspberry Pi 4 を購入する人は、セットになったものを購入すると便利です。必要なものが全て (モニター以外) 付いてます。

電源アダプター

動かしっぱなしの人はいのですが、使い終わったら電源を消したい人は、このスィッチの付いたタイプがおすすめす。電源を入れる時に、ケーブルの抜き差しが不要になります。

Raspberry Pi 4 ケース

Raspberry Pi は、使っているとすぐに熱くなります。以前、Linux でサーバーを動かしてみたのですが、ちょっと使っていたら、すぐにシステム温度が 90 度くらいまで上がりました。

ファンが付いているカバーが一番おすすめです。私も最初はこれを購入しました。やっぱり、音は気になりますね。そばにいかなければ分からない程度ですけど。

なので、2台目からは、ファンなしのケースを購入しましたファンなしなら、これがおすすめです。現在、Raspberry Pi 4 は 4台所有していますが、3台にこれを使用しています。

触ると本体は多少熱くなってますが、システム温度はしっかり下げられています。

Raspberry Pi 用モニター

忘れてはいけないのがモニターです。Raspberry Piには、モニターはありません。基盤剥き出しの本体のみです。

OSインストール直後しか使用せず、あとはRDPとかVNCなどで接続しますが、最初は必要ですので忘れないように購入しましょう。私はこれを使ってます。

MicroSD カード

Linux でサーバーを動かすなら、16GB でも 32GB でも十分なのですが、Windows の場合は、64GB 以上のサイズがおすすめです。C ドライブの空き容量が不足すると、システムが起動しなくなります。

あと、MicroSD のサイズが大きいほど、バックアップの時間が長くなります。これを考えると、32GB から 64GB くらいがちょうど良いと思います。システム以外のディスクは、外部の NAS を使えば良いですので。

MicroSD リーダー・ライター

Raspberry Pi では、OS を MicroSD に書き込んで、そこから起動させて使います。OS の書き込みの際に必要となりますので、持っていない場合は購入しておきましょう。

事前準備

ARM64 の Windows のインストーラーをダウンロードします。

ここからダウンロードできます。

通常は、Lαtest Public Release Build がいいです。Archtectures では、ARM64 を選択します。

インストーラーをダウンロードします。

言語を選択します。

Pro か Home を選択します。私は Remote Desktop が使いたかったので、Pro を選択しました。

ダウンロードします。

ダウンロードできたファイルを開くと、Windows のダウンロードプログラム「uup_download_windows.cmd」がありますので、ダブルクリックします。

Windows のダウンロードが始まります。

ダウンロードにかかる時間は、ご使用のインターネットの状態次第で変わります。

ダウンドードが完了しました。

このダウンロードした ISO イメージを使って、Raspberry Pi にインストールしていきます。

MicroSD への Windows 10 のインストール

MicroSD にイメージを書き込むのには、Raspberry Imager を使うのが便利です。これが圧倒的に速いです。

Raspberry Imager を起動します。

言語を選択します。

デバイスの選択で、MicroSD を選択します。

32GB でも動きますが、すぐにディスクがいっぱいになってしまいます。64GB 以上のサイズがおすすめです。

イメージの選択で、先ほどダウンロードしたWindows 10 の ISO イメージを指定します。

「Use the latest package available on the server」にチェックを入れます。

2回、ライセンス承諾を聞かれるので OK していきます。

「Use the latest firmware available on the server」にチェックを入れます。

ここの設定は触らず、次へで進めます。

設定内容を確認します。

問題なければ、「インストール」でインストールを開始します。

インストールが始まります。気長に待ちましょう。

ご使用のマシンスペックにも寄りますが、私の場合、40分くらいで完了しました。

インストールの完了です。

MicroSD を取り出します。

Raspberry Pi で Windows 10 を起動

Windows 10 を書き込んだ MicroSD を、Raspberry Pi に差し込みます。

電源を入れて起動します。

初回の起動だけ、やけに時間がかかります。私の場合、30分くらいかかりました。気長に待ちましょう。

二回目以降の起動は、すぐに起動してきますので、安心してください。

Raspberry Pi 4 には、メモリーが 2GB、4GB、8GB のモデルがあります。

4GB または 8GB のモデルを使っている方は、ここが注意点です。

ARM64 版の Windows 10 は、デフォルトでは、3GB しかメモリーを認識しません。

BIOS の「Advanced Configuration」の中に、「Limit RAM to 3 GB」という設定がありますので、これを Disable にすることで、そのリミットを解除できます。これにより、Raspberry Pi の 4GB とか 8GB のメモリーをフルに使用できます。

[Device Manager] > [Raspberry Pi Configuration] > [Advanced Configuration]

ですが、この設定、注意が必要です。

私の場合、しばらく使っていたら、Windows 10 が突然起動しなくなりました。何故なのか、いろいろ調べているうちに、「ひょっとしたらこのメモリーの設定かも?」と思って戻したら、正常に起動するようになりました。

それ以来、リミットはかけたままです。この設定は、注意して使った方がいいです。

Windows 10 を初期設定していきます。通常行う設定と同じです。

Windows 10 が正常に起動しました。

インストールできるアプリケーション

Raspberry Pi 4 で動かす Windows 10 ですが、通常の PC 版のように、何でもアプリが動く訳ではないみたいです。まだまだこれから開発が必要みたいです。

私が試してインストールできたアプリケーションは、以下のものです。

  • Microsoft Office 365
  • Google Chrome
  • Firefox
  • TeamViewer
  • CCleaner
  • ExPing
  • Serva32
  • SoftPerfect Network Scanner
  • SoftEther VPN Manager (インストールはできるけど、起動でエラーになる)
  • TWSNMP
  • Nagios Agent(NSCP)

これからいろいろ使って、調べていきたいと思います。

ただ、いろいろと制限があるみたいなので、ARM版 Windows 10 をクライアント PC として使うには、まだまだと考えた方が良さそうです。私は SNMP Polling の監視やシスログサーバーとして使ってます。

気になる点

その1 CPUの負荷が高くなる

Google Chrome を使うと、CPU の負荷が高くなる傾向があるように見えます。Chrome を動かすと、こんな感じです。

Chrome を停止すると、こんな感じです。

Firefox だと、若干、CPU 負荷は低めみたいです。

その2 リモート接続時の画面解像度

TeamViewer で接続すると、画面の解像度がやけに低いです。

TeamViewer の接続時の解像度の設定をいろいろと触ってみたのですけど、全然ダメです。

RDP だと、いい感じの解像度で接続されます。どうしてでしょうね。これは調査中です。

その3 ディスクサイズ

32GB の MicroSD でも、Windows 10 はインストールできますし、普通に動作します。ですが、ディスクの空き容量が、すぐにいっぱいになってしまうところが注意点です。

私は最初、32GB の MicroSD で Windows を使っていました。ですが、ある日突然、Windows 10 が起動しなくなりました。いろいろ調べていたら、C ドライブの空き容量がほとんどなくなっていました。

64GB に変更したところ、正常に起動できました。それを考えると、64GB 以上のサイズを使用するこことをお勧めします。

MicroSD のバックアップもしたいと思います。その際に、サイズが大きければ大きいほど、バックアップに時間がかかります。使用環境でも変わりますが、目安は、16GB で 20分くらいかかります。

ですので、個人的には 64GB くらいがちょうど良いかなと思ってます。ファイルを保存したい時は NAS をマウントししてしまえば良いです。

私は、Windows 10 をサーバーとして使っています。シスログサーバーも動かしているので、家の中の全てのネットワーク機器のログは、ここに飛ばしているのですが、ログの保存先は、ネットワークドライブにしてます。

関連する記事:

最近の記事:

カテゴリー
2020年 AWS AWS Solutions Architect - Associate クラウド コンピューター メッセージング 技術一般 認定資格

AWS を学ぶ(24)3つのメッセージングサービス


にほんブログ村

AWS には、SNS(Simple Notification Service)、SQS(Simple Queue Service)、SES(Simple Email Service)といった 3 つのサービスがあります。

これらの違いは以下のようになります。

  • Amazon SNS:プッシュ型の通知が得意。メール通知、SMS、モバイルプッシュが可能。要領制限があり、長文メッセージには向いていない。
  • Amazon SES:Eメールでの配信が得意。コンテンツ配信に向いているが、メール以外での配信はできない。
  • Amazon SQS:プル型のメッセージ処理が得意。非同期型のメッセージをキューイングする。

Amazon SNSとは

Amazon SNS(以下、SNS)は、わざわざそのためだけにサーバーを用意しなくても、SNS サービスを利用することで、アプリケーションからの通知を可能にします。ユーザーが何かを行ったタイミングを起点としてで通知するメッセージングを手軽に実現できます。

具体的な通知の例としては、商品が発送されたタイミンングでの発送完了通知や、フリーマーケットで商品が売れた時の通知などがあります。

またこれだけでなく、登録ユーザー全員に一斉告知のメッセージを送るという使い方もできます。

SNSの特徴
  • イベントをトリガーとしてのメッセージ

商品の購入、アカウント情報の変更、コンテンツの更新などの利用できます。

  • モバイル端末へのプッシュ機能

iOS、Android などのスマートフォンに対してプッシュ通知が行えます。

  • セキュリティーを確保

HTTPS API による通信のセキュアな状態を保つことが可能です。

  • サービスとしての利用

前払いや最低料金などはなし。完全な従量課金制で使った分しか支払う必要がありません。

Amazon SES とは

Amazon SES (以下、SES)は、AWS が提供するメールサービスです。メールサーバーをわざわざ用意しなくても、SES サービスを利用すれば、メール配信が可能になります。

具合的な使い方としては、マーケティングメールの配信メールマガジンの配信などがあります。

SES は、導入コストが安いことや、固定費用が掛からず従量課金という点で、企業レベルでの利用だけでなく、個人レベルでの利用にも向いています。

SES の特徴
  • 安い導入コスト

AWS のアカウントとメールアドレス、利用可能なドメインがあれば利用できます。

  • 低価格な料金

固定費用や最低料金はなし、従量課金で利用できます。

EC2 でホストされているアプリケーションからの配信の場合、毎月最初の 62,000 通は無料です。その後でも、1,000 通毎に、0.1 USDしかかかりません。

  • 高い信頼性

SES には、送信したメールが確実に届く様に、信頼性を高める機能があります。送信頻度のコントロールやアドレス偽装対策などです。

Amazon SQS とは

Amazon SQS(以下、SQS)は AWS が提供するキューイングサービスです。アプリケーションの切り離し(疎結合)とスケジューリングといった処理を、AWS のサービスで行えます。

キューとは、メッセージを管理するための入れ物のようなものです。

エンドポイントと呼ばれるURLを介して、キューに入ったメッセージを利用します。

SQS の利用パターン例

  • 一回の処理で許容する処理時間を超過しそうな場合
  • 一度に大量のデータ件数を処理する場合
キューの種類

キューの種類には、以下の 2種類があります。

処理数が優先なら標準キュー、順序が重要なら FIFO キューといった使い方になります。

  • 標準キュー(Stanadrdキュー)

ほぼ無制限のトランザクション数(TPS)を処理します。

ただし、メッセージを受け取った時とは異なる順序で配信されることもあります。また、複数の同じメッセージのコピーが配信されることもあります。

  • FIFO キュー

バッチ処理なしで毎秒最大 300 件、バッチ処理ありで最大3,000件のトランザクション (TPS)をサポートします。また、メッセージが送信または受信された順序が厳密に保持されます (先入れ先出し)。

トランザクション処理は、標準キューより下がります。

SQS 向けの機能
  • 可視性タイムアウト

設定した期間、重複したメッセージ配信が行われないようにする機能

メッセージは、受信しただけでは削除されず、クライアント側からの明示的な削除指示を受けた際に削除されます。そのため、メッセージの受信中に、たのクライアントが取得してしまう可能性もあります。それを防ぐ機能となります。

デフォルトは30秒で、最大12時間まで設定できます。

  • ショートポーリングとロングポーリング

キューからのメッセージ取得の際で、対象のキューがない場合、キューに新規登録されるのを一定時間待つ機能。

待機する(メッセージがある場合にレスポンスを返す)のをロングポーリング、待機しない(リクエストを受け取ると、メッセージがあるなしに関わらず、即レスポンスを返す)のをショートポーリングと呼びます。

デフォルトはショートポーリングになります。

  • デットレターキュー

正常に処理できないデータを別のキュー(デッドレターキュー)に格納する機能

問題のあるメッセージ(処理失敗を1ー1,000回で設定)を分離して、処理が成功しない理由を調べることができるため、デッドレターキューは、アプリケーションやメッセージングシステムのデバッグに役立ちます。

  • 遅延キュー

キューに送られたメッセージを、一定時間見えなくする機能

  • メッセージタイマー

個々のメッセージを一定間隔見えなくする機能

メッセージサイズ

キューに格納できるメッセージサイズの最大は256KBとなります。

大きなサイズのデータを扱う際には、S3やDunamoDBに一旦格納し、そこへのパスやキーといったポインターとなる情報を渡すことで対応できます。

この教材を使って勉強してます。

AWS認定資格試験テキスト AWS認定ソリューションアーキテクト-アソシエイト

AWSに関連する記事:

関連する記事:

最近の記事:

カテゴリー
2020年 Cisco POE ガジェット コマンド コンピューター 技術一般

静音のCisco Catalyst 2960 POEスイッチのレビュー


にほんブログ村

以前、Cisco Catalyst 2960 POE タイプを購入して、音がうるさいなあと思い、少しでも静かにできないかなと試してみたのですが(こちらの記事)、今度は先日、 Cisco Catalyst 2960 POE ファンレスタイプをネットオークションで見つけて購入しました。

早速、自宅のネットワークに設置してみました。

8ポートタイプなのでポート数は少ないのですが、ファンレスタイプは静かです。リビングルームに置いてますが、全く気になりません。

今回購入したのは、こちらのモデルです。

WS-C2960L-8PS-LL

予想より安く手に入りました。オークション出品者によると、こちらは新品とのことでしたのでラッキーです。

POE の設定は、前回の記事に習って、Static で設定しました。

ファンレスなので、Auto でも Static でも変わらないでしょうけど。

interface GigabitEthernet0/2
 description To Cisco WAP150, LAN
 switchport access vlan 100
 switchport mode access
 switchport port-security maximum 100
 switchport port-security violation restrict
 switchport port-security mac-address sticky
 switchport port-security
 power inline static
 no cdp enable

POE ポートの接続先は、Cisco WAP 150 です。

WAP の電源ケーブルを抜いてみましたが、POE で正常に起動してます。まあ、動いて当たり前なんですけどね。

ただ、今回購入した WS-C2960L-8PS-LL (POE スィッチ) は 8ポートしかないので、ポート数が足りません。そこで、家に眠っていた別の Catalyst 2960 スィッチ (WS-C2960C-8TC-L POE なし) を接続してポート数を増やすことにしました。

WS-C2960C-8TC-L

こちらのスィッチは、ダウンリンクが 1Gbps ではなく、100Mbps のポートのなのですが、アップリンクは 1Gbps で 2ポートあります。ということで、2つのアップリンクを使ってGigabit EtherChannel で、WS-C2960L-8PS-LL (POE スィッチ)と接続することにしました。

interface Port-channel1
 switchport trunk native vlan 111
 switchport mode trunk
!
interface GigabitEthernet0/1
 description To Cat2960-INT, GE0/6
 switchport trunk native vlan 111
 switchport mode trunk
 channel-group 1 mode on
!
interface GigabitEthernet0/2
 description To Cat2960-INT, GE0/7
 switchport trunk native vlan 111
 switchport mode trunk
 channel-group 1 mode on

これで 2台のスィッチ間は 2Gbps で接続ですし、WS-C2960C-8TC-L 側に接続するのはインターネットルーターとして使っている Cisco 982(100Mbpsポート)です。そして更に、私の契約しているインターネットも 100Mbps ですので、100Mbps ポートのスィッチでも問題ありません。

これでポート数が増やせました!

ちなみに、WS-C2960C-8TC-L の設定ですが、Cisco 982 へのアップリンクは Trunk リンク 2本で、Spanning-Tree のプライオリティーを調整して、VLAN毎にブロックポートを使い分けてみました。これで、ケーブル冗長もOKです。

spanning-tree mode rapid-pvst
spanning-tree extend system-id
spanning-tree vlan 1,100,200 priority 0
!
interface FastEthernet0/1
 description To Internet Router Cisco892-01, FE01
 switchport access vlan 100
 switchport trunk native vlan 111
 switchport mode trunk
 spanning-tree portfast edge
!
interface FastEthernet0/2
 description To Internet Router, Cisco892-01, FE1
 switchport access vlan 100
 switchport trunk native vlan 111
 switchport mode trunk
 spanning-tree portfast edge
!
interface FastEthernet0/3
 description To Internet Router, Cisco892-02, FE0
 switchport trunk native vlan 111
 switchport mode trunk
 spanning-tree portfast edge
!
interface FastEthernet0/4
 description To Internet Router, Cisco892-02, FE1
 switchport trunk native vlan 111
 switchport mode trunk
 spanning-tree portfast edge

これにて、我が家での POE プロジェクトは完了しました!

前に購入した Cisco WS-C2960S-24PS-L は、家の中の別のところで使えるように考えたいと思います。リビングルームはやっぱり、ファンレスが一番ですね。

次は、何らかのPOE機器を購入して、このスィッチに接続した時に記事にしたいと思ってます。

関連する記事:

最近の記事:

カテゴリー
2020年 CDN Microsoft Riverbed WebRTC キャッシュ コンピューター 技術一般

WebRTCとECDN: WAN使用の最適化手法


にほんブログ村

先日、Kollective Technology の ECDN というコンテンツ配信製品を、社内で検討する機会がありました。

Microsoft Teams、Stream、Windows Update を使用した場合、使用する人数が増えるほど、WAN 回線の帯域幅を消費してしまい、回線が逼迫してしまうケースがあります。

ECDNがない場合の通信

Kollective 社の ECDN 製品を使用すると、WAN回線越しに流れてくるデータストリームを少なく(ケースにより1つにする)することができます。

データストリームを受けたブラウザーがそのデータをキャッシュし、同じ場所にいる別の端末に共有します。これにより、WAN 回線を効率的に使用することができる様になります。

ECDNがない場合の通信

この製品で、WebRTC という技術が使われています。

WebRTC は名前が聞いたことはあったのですが、詳細までは知らなかったので、いい機会なので調べてみました。

WebRTC とは?

WebRTC は、Web Real Time Communications の略で、プラグインを追加することなく、ブラウザ上で簡単にリアルタイムコミュニケーションを可能にします。2011年頃に Google によって提唱され、そこから少しずつ技術開発されてます。

HTML5 で新しく策定された API の規格で、P2P通信を利用した端末間の相互接続も行うことができ、P2P 通信によるビデオチャットやファイル共有を、Web ブラウザだけで実現することができます。

Web ブラウザーを使って、簡単に使うことができるのですが、使用できるブラウザーは限定されている様です。その理由は、ブラウザーが WebRTC をサポートしている必要があるからです。

WebRTC 対応ブラウザー

  • Chrome
  • Firefox
  • Opera
  • Edge
  • Safari

IE はサポートしてないんですね。今でも IE を使ってる企業はまだまだ多いですが、もう古いブラウザーなので、Edge を使えってことでしょう。

ちなみに、Kollective社 の製品では、以下のブラウザーとプラットフォームをサポートしています。

対応ブラウザー

  • Edge
  • Chrome
  • Firefox
  • Safari

対応モバイル端末

  • Android
  • iPad

iPhone は、WebRTC をサポートしてないらしいです。なお、対応ブラウザーが使えない場合、Teams アプリを使用すれば、WebRTC が使えるそうです。

対応 OS対応ブラウザー
Windows / MacChrome 26以降
Firefox 22以降
Opera 15以降
AndroidChrome 29以降
iOS開発中

WebRTC で実現できること

WebRTC を実装することで、実現することのできる機能は、以下のものがあります。

  • 端末上のカメラやマイクからのデータの取り込み

Media Capture and Stream

  • ストリームデータの P2P 通信

WebRTC 1.0: Real-time Communication Between Browsers

  • テキストデータやバイナリデータの P2P 通信

WebRTC 1.0: Real-time Communication Between Browsers

WebRTC では、クライアントがサーバにデータの要求をするクライアント/サーバモデルでななく、複数端末間での通信です。

つまり、それぞれのPCがデータを保持し、他のPCに対して直接、データの送信・要求を行うPeer to Peerの形をとります。

また、通信プロトコルには基本的に「TCP/IP」の代わりに、「UDP/IP」を用いて通信のリアルタイム性を担保しているのも特徴です。状況によってプロトコルを使い分けるみたいです。

Kollective社の製品では、上記の「WebRTC 1.0: Real-time Communication Between Browsers」を使用しているのですね。

P2P 通信に必要な情報

P2P 通信を行うためには、ブラウザ間で共有しなければならない情報があります。

P2P 通信を開始するには接続先のグローバルアドレス情報が必要になるので、NAT traversal として、STUN(Simple Traversal of UDP through NATs)やICE(Interactive Connectivity Establishment)といった技術がサポートされており、NAT が割り当てたグローバル IP アドレスとポート番号を取得できるようになっています。

Session Description Protocol (SDP)

  • 通信に必要な各ブラウザの情報を示す文字列 (セッションの属性、メディアの形式、IP アドレス、ポート番号、通信帯域など)のことです。
  • 片方の PC が他方 PC に対し SDP を Offer し、それに対して Answer SDP を返すという形で通信を行います。

Interactive Connectivity Establishment (ICE)

  • 通信相手のブラウザに到達する通信経路に関する情報を提供します。
  • この通信経路を探す際、環境によっては、NAT やファイアウォールなどで直接的に PC 同士の情報を渡せないこともあり得ます。
  • そのため、STUN サーバや TURN サーバというものを用いて通信経路を検知し、それらの経路候補を ICE Candidate として、ブラウザ間で共有する必要があります。

WebRTC の JavaScript API

WebRTC は、以下の 3つの JavaScript API を提供しています。

getUserMedia

  • Web ブラウザから端末に取り付けられているカメラやマイクにアクセス
  • ストリームデータを取得する

RTCPeerConnection

  • マルチメディアセッションを確立
  • UDP/IP を使用して Web ブラウザ同士で直接ストリームデータを送受信
  • コーデック(オーディオおよびビデオの符号化および復号化)、暗号化、帯域管理(帯域幅の変化にストリームを適応させるなど)の各機能も提供

RTCDataChannel

  • テキストデータやバイナリデータの P2P によるデータ通信のための API
  • ファイル転送やテキストチャットなどを実現
  • UDP/IP を使用しているので、TCP/IP とは異なりパケット再送は行わない

メディア系の技術は名前を知っている程度で、触れる機会がなかったのですが、今回は良いチャンスです。これを機会に学んでみようと思います。

追記:

リバーベッドテクノロジーの SaaS Accelerator という製品が、この WebRTC をサポートしたとの話を聞きました。今度、機会のある時に試してみたいと思います。

関連する記事:

最近の記事:

カテゴリー
2020年 AWS PaaS クラウド コンピューター サーバレス 技術一般 自動化

AWS を学ぶ(23)CloudFormation を使ってみる


にほんブログ村

前回の記事で、CloudFormation がどのようなものなのかを調べてみました。

今回は、実際に使ってみたいと思います。

  1. テンプレートでVPC を作成する
  2. Ref 関数でサブネットを作成する
  3. その他のネットワーク関連を作成する
  4. EC2 のひな形を作成する
  5. Parameters セクションを使って、実行時にEC2 のインスタンスタイプを選択できるようにする
  6. Parameters + AWS 固有のパラメーターを使用して、アカウントにあるキーペアを、EC2 実行時に埋め込む
  7. スタックの削除する

CloudFormation を使ってみる

テンプレートから基本環境の作成

まず最初に、VPCの状況を確認しておきます。

私の環境では、東京リージョンに、現在3つのVPCがあります。

AWS の管理コンソールの検索テキストボックスから、「CloudFormation」を検索してクリックします。

CloudFormation の管理コンソールが表示されます。

「スタックの作成」をクリックします。

スタックの作成画面が表示されます。

前回のサンプルテンプレートを使用します。サンプルスクリプトを保存し、拡張子を「.yml」にしておきます。

「ファイルの選択」をクリックし、YAMLのサンプルファイルを読み込ませます。

「デザイナーで確認」をクリックすると、YAMLファイルを読み込んで作成するスタックの状況がみられます。

VPCを作成する部分だと、こんな感じですね。

画面を戻を戻ると、作成のし直しになっちゃいますね。これって、見ない方がいいのかな?

進めると、スタックの名前の画面が表示されます。

スタックの名前を入力します。

「次へ」をクリックして進みます。

スタックのオプションの画面が表示されます。

今回は特に設定しません。

「次へ」をクリックして進みます。

レビューの画面が表示されますので、内容を確認します。

「スタックの作成」をクリックして、スタックを作成します。

スタックの作成が始まりました。

画面左側のメニューで、「CREATE_COMPLETE」の緑色の文字が表示されれば、スタックの作成は完了です。

「リソース」タブをクリックすると、リソースの一覧が表示されます。

VPCとサブネットが作成されていますね。それぞれの名前を見てみると、YAMLファイルの中で指定したものになっていますね。

VPC の画面を見ていますと、先ほど3つしかなかったVPC が4つになってますね。「cfn-vpc」が、今回作成されたものです。

サブネットの画面を見てみると、サブネットも追加されてますね。「cfn-subnet」が、今回作成されたものです。

インターネットゲートウェイも見てみます。新規で作成されてますね。「cfn-igw」が今回作成されたものです。

ルートテーブルも見てみます。ルートテーブルも新規で作成されてますね。「cfn-rt」が今回作成されたものです。

設定内容を追加する

最初に作ったテンプレートに、項目を追加するということはよくあることでしょう。今度は、それを想定して、別の項目を追加して反映させてみます。

今回試してみたいのは、前回作成したサブネット上に、新規でEC2 インスタンスを起動させることです。その際に、イメージサイズを選択して起動できるようにします。

前回のテンプレートに、以下の2つを追記してみます。

起動時に、インスタンスタイプを、「t2.micro」「t2.small」「t2.medium」の3つから選べるようにします。

Parameters:
  InstanceType:
    Type: String
    Default: t2.micro
    AllowedValues:
      - t2.micro
      - t2.small
      - t2.medium
    Description: Select EC2 instance type.
  KeyPair:
    Description: Select KeyPair Name.
    Type: AWS::EC2::KeyPair::KeyName

さらに、起動するインスタンスに、Keypairも指定できるようにします。

セキュリティーグループも作成し、SSHでのアクセスのみを許可します。

cfnEC2Instance:
    Type: 'AWS::EC2::Instance'
    Properties:
      ImageId: !FindInMap [ RegionMap, !Ref "AWS::Region", hvm ]
      InstanceType: !Ref InstanceType
      SubnetId: !Ref cfnSubnet
      BlockDeviceMappings:
        - DeviceName: '/dev/xvda'
          Ebs:
            VolumeType: 'gp2'
            VolumeSize: 8
      Tags:
        - Key: 'Name'
          Value: 'cfn-ec2-instance'
      SecurityGroupIds:
        - !Ref cfnSecurityGroup
      KeyName: !Ref KeyPair
  cfnSecurityGroup:
    Type: "AWS::EC2::SecurityGroup"
    Properties:
      GroupDescription: "cfnSecurityGroup"
      VpcId: !Ref cfnVpc
      Tags:
        - Key: 'Name'
          Value: 'cfn-ssh-sg'
      SecurityGroupIngress:
      - IpProtocol: tcp
        FromPort: '22'
        ToPort: '22'
        CidrIp: 0.0.0.0/0

変更するスタック名を選択し、「変更する」をクリックします。

今回は既存のテンプレートを変更しますので、「既存テンプレートを書き換える」を選択します。

「テンプレートファイルのアップロード」を選択します。

「ファイルの選択」から、追記したテンプレートファイルをアップロードします。

「次へ」をクリックして進みます。

インスタンスを起動させる際に、インスタンスタイプとキーペアを選択できるようにしたので、選択画面が表示されました。

今回は、インスタンスタイプ「t2.micro」とキーペア「amazon-linux-test」を選択します。

キーペアで表示される内容ですが、ご使用の環境で異なります。表示荒れるのは、自分の使用しているAWSのリージョンで使用できるキーペアです。

「次へ」をクリックして進みます。

スタックのオプション画面が表示されます。

今回は、オプションは何も設定しません。

「次へ」をクリックして進みます。

レビューの画面が表示されます。

設定内容を確認します。

「スタックの変更」をクリックします。

EC2 インスタンスの作成が始まりました。

スタックの変更が完了しました。

EC2 の管理コンソールを見てみると、指定した名前でインスタンスが起動していますね。

スタックの削除

対象のスタック名を選択し、「削除」をクリックします。

確認のポップアップウィンドウが表示されます。

「スタックの削除」をクリックします。

スタックの削除が開始されました。

数分待つと、スタックが完全に削除されます。

EC2 を見てみると、先ほど起動させたインスタンスが削除されています。

VPC の方も、この動作確認向けに作成したものは消えてますね。

CloudFormationは、テンプレートを作成して必要なリソースを作成することができるので便利です。

削除も、テンプレートに記載されたリソースを個別ではなく、全てを一気に削除してくれるので便利ですね。

注意点は、CloudFormationでリソースを作成した後に、マニュアルでリソースの変更をしないことです。テンプレートの内容と不一致になりますし、後からテンプレートを編集するのも大変になります。

この教材を使って勉強してます。

AWS認定資格試験テキスト AWS認定ソリューションアーキテクト-アソシエイト

AWSに関連する記事:

関連する記事:

最近の記事: