Amazon EC2 Instance scheduled for retirement.

AWSのインスタンスリタイアお知らせが来た時の対処を参考にしてみた。

ルートデバイス: ebs
「ebs」の場合は、インスタンスの停止、そしてその後起動、でOKです。

のハズだったのだが、今後同様のお知らせが来た時に自動的に対応し、対応されたことを通知するためにAutoScaling Groupにアタッチすることを検討して実施してみたところ即時インスタンスの再起動が再作成された。。。

が、インスタンスの状態がテンプレートの状態に戻ってしまった。

おそらく設定が正しくなく?、インスタンスの削除→再作成になっていて、インスタンスが削除されたときにebsボリュームまで削除された可能性が高い。。。。

幸いアカウントの登録までしかしていなかったインスタンスだったので軽傷だったが、マネジメントコンソールでインスタンスに関係する設定変更をするときにはスナップショットを取るなど注意するようにしたい。

インターネットゲートウェイとNATゲートウェイの違い

AWSのVPC設定にはインターネットゲートウェイとNATゲートウェイがあるが、よくわからない。

パブリックIPを設定しているインスタンスは、インターネットゲートウェイだけ設定していればよいが、パブリックIPを設定していないインスタンスは、インターネットゲートウェイになぜか到達できない。

例えば、
VPC A(172.31.0.0/16)に対して、subnet X(172.31.0.0/20), subnet Y(172.31.16.0/20)を設定したうえで、subet Xに所属するインスタンス 1は、パブリックIPを保持しており、同じsubnet Xに所属するインスタンス 2とsubnet Yに所属するインスタンス 3は、パブリックIPを保持していないとする。

この時、VPC Aに対して、インターネットゲートウェイだけが設定されている場合、
インスタンス 1はインターネット(VPCの外)へ接続できるが、インスタンス 2, インスタンス 3はインターネット(VPCの外)へ接続できない。
次に、subnet Z(172.31.32.0/20)を作成し、subet Zに所属するインスタンス 4を作成し、subnet Y, subnet Zに対して、作成したNATゲートウェイをデフォルトゲートウェイに設定したルートテーブルを紐づけるとインターネット(VPCの外)へ接続できるようになる。

ここで、subet XについてもNATゲートウェイと紐づける(デフォルトゲートウェイをインターネットゲートウェイからNATゲートウェイに変更する)とそもそもインスタンス1に接続できなくなる。(パブリックIPを持っているにも関わらず接続できないということは、パブリックIPへのルートテーブルがなくなっているということになるのだろうか??)

理解に苦しむ点は次の通り
1.インターネットゲートウェイをデフォルトゲートウェイに設定しているにもかかわらず、パブリックIPがインターネットと接続できない点
(インスタンスで設定されているゲートウェイはサブネット内に設定されているホスト(ネットワークアドレスの最初のアドレス/例:上述のsubnet Xは172.31.0.1)になっていて、対象ホストとはICMPで接続できない。同一サブネットなのにもかかわらず接続できないということは、ICMP Echoが無効になっているだけなのだろうか? 次に外部(VPCの外のドメイン)にtracerouteしても名前解決はされるのに、到達できない)

2.インターネットゲートウェイの代わりにNATゲートウェイをデフォルトゲートウェイに入れ替えるとパブリックIPアドレスに接続できなくなる点
(パブリックIPアドレスへのルートテーブルがなくなってしまうということなのだろうか?)

NATゲートウェイは、サブネットをElasticIPに紐づける機能を持っており、
インターネットゲートウェイは、VPCとルートテーブル機能を使って紐づけることが出来る。
Egree Onlyインターネットゲートウェイというものもあり、ネットワーク設計を行う上で違いと仕組みを整理しておく必要がある。

Elastic IPの運用上の注意

Elastic IPは、固定のグローバルIPアドレスを意味する(Elastic IPを割り当てない場合には、インスタンスを再起動するたびにIPアドレスが変わる)が、インスタンスにアタッチされていないか、アタッチされたインスタンスが稼働中でない場合には、0.005USD/時間 課金されてしまう。
無料枠の中で(=課金されないように)試そうとすると、必ずインスタンスにアタッチした上で、該当インスタンスを停止させないようにしなければならない。
なお、インスタンスはオンデマンドインスタンスの場合、無料枠対象のt2.microを選択することとなるが、オハイオリージョンの場合で Amazon Linuxで0.0116USD/時間、Windows Serverで0.0162USD/時間課金されるので、無料枠を使い切った場合には、インスタンスにアタッチしない状態が一番安く済むことになる。

Amazon EC2 料金 オンデマンド料金より抜粋
Elastic IP アドレス
実行中のインスタンスに関連付けられた Elastic IP(EIP)アドレスを無料で 1 つ取得できます。追加の EIP をそのインスタンスに関連付ける場合は、追加の EIP 毎に時間当たり(プロラタベース)の料金が請求されます。追加の EIP は Amazon VPC でのみ利用可能です。

Elastic IP アドレスを効率的に使用するため、これらの IP アドレスが実行中のインスタンスに関連付けられていない場合や、停止しているインスタンスやアタッチされていないネットワークインターフェイスに関連付けられている場合は、時間毎に小額の料金をご請求します

AWS Workspaces

Workspacesは仮想デスクトップを簡単に構築できるサービス。
非力なマシンであっても、仮想デスクトップなので最新のコンピュータ環境を利用できる。
昔のシンクライアントのようなものである。
例えば有期雇用で短期間人を雇うようなケースにおいて、一時的にOfficeが利用できるマシンを必要とするような場合に有用である。

WorkSpacesを削除しても、ディレクトリは削除されない。
ディレクトリが残っているとWindowsのライセンスが課金されてしまう。
自分の場合には半月気づかず、14ドル課金されてしまった。

FortigateVM

FortigateVMは、Fortigate製品の仮想アプライアンスになっているのだが、ちょっと構成が分かりにくい。

技術仕様によれば、モデルによって性能差異が記述されており、製品機能一覧の4ページ目によれば、ハイパバイザーによって利用できる機能は制限されるが、原則的には、FortiOSの機能をすべて利用でき、期待しているスループットが出るかどうかは別として、割と何でもできる万能型のUTMとして使えるように見える。

ところが、下記のようにライセンス形態が構成されており、オプションになっているものがあり、本体(ベース)ライセンスでは、利用できる機能が制限されている。

  • 本体
  • アンチウィルス(オプション)
  • UTMバンドル(オプション)
  • Enterpriseバンドル(オプション)
  • NGFW(オプション)
  • Webフィルタリング(オプション)

本体ライセンスで使用できる範囲がよくわからないので、FortiVMを採用する場合には、よく気をつけた方がよさそうだ。Amazon EC2でも15日間お試しできる(ただし、仮想マシン費用は掛かり、無料枠の対象にはならない)ので、ちょっと調査をしてみようと思う。

参考)株式会社データコントロール社での販売価格表

クラウドサービスで割り当てされるIPアドレス

クラウドサービスで割り当てされるIPアドレスは一度ブラックリストに載っていないかチェックしてから運用した方がよさそう。
前の所有者の悪い行いでブラックリストに登録されていると、メールが届かないとか、いろんなトラブルに巻き込まれそう。。。
TrendMicro
Symantec
ブラックリストのデータベースの信頼性も疑わしい。もう少ししたらレピュテーションサービスの意図的なフォルスポジティブによって、インターネットが支配される日が来るかもしれない。

DNSラウンドロビンについて考える

最近DNSラウンドロビンの構成になっているWebサーバを見かけなくなったのは、ロードバランサが仮想化されて稼働率が限りなく100%に近づいているからということなのか?
とあるサービスにて、複数のロードバランサをDNSラウンドロビンする方法があったのだが、ロードバランサに障害発生した場合に、DNSラウンドロビン登録しているAレコードのキャッシュ有効時間を限りなく短くしたうえで、ロードバランサ障害時にDNSレコードを動的に変更できる運用体制がないと可用性を下げる要因にしかならないのではないか?と思ってみた。
DNSラウンドロビンにおいては、
WindowsでDNSのラウンドロビン機能を利用するの文中にあるように
クライアント側の再試行機能(アクセスできない場合は、別のサーバIPアドレスへの接続を試行する)に”期待”したりする(アプリケーションによっては、アクセスできない場合は自動的に別IPアドレスへ再試行する機能を持っている)
とあり、アプリケーションの実装によっては、アクセスできない場合には別のAレコードの値を参照して再試行するというものがあるらしいが、アプリケーションが直接複数のレコードを使い分けるような実装をしているものがあるとは個人的には考えにくい。
参考)
Load Balancing
Azure Load Balancer の概要

AlexaDaysに参加してきました

JWAS-UG金沢のイベントとして、AlexaDaysに参加してきました。
zoomというテレビ会議システム(日本の代理店サイト?はこちら)で全国のJAWSUGの支部と韓国の合計18拠点?で接続していましたが日本語と韓国語の同時通訳とサンフランシスコからの英語セッションもあって、金沢にいても時差を気にしなければ全く問題ない会議が出来ることに衝撃的だった。。。
内容はtwitterで#alexadays で見ることができますよ。
音声がインターフェイスになるというのは人間同士の会話であれば当たり前だけど、コンピューターを通して会話できるということが未来のようですぐそこにまできているということがよくわかった。
ニュース記事
JAWS-UG15支部と韓国のAWSKRUGが「Alexa Days」を共同開催
YouTubeの映像
Echo Dotを音声コントロール(Amazon Alexa)-AV Watch
アマゾンエコーはあらたなる購買形式に成り得るか?使用感と将来性をレポート!
[English Sub] 話題のAmazon Echo 紹介!/ Introducing…