アマゾンウェブサービス(AWS)活用事例のご紹介

弊社におけるアマゾンウェブサービス(AWS)活用事例のご紹介アマゾンウェブ サービス(AWS)に代表されるIaaSサービス(Infrastructure as a Service/イーアス)は、情報システム部門にとってはもはや必須アイテムとなったと言っても過言ではないでしょう。

そこで今回は弊社におけるAWSの活用状況について、弊社メンバーからの寄稿記事を公開します。

障害対応の容易性プロジェクト毎のアプリ構築など、利便性の高いAWSの活用例について、興味がある方はぜひ参考になさってみてください。


以下、弊社メンバーからの寄稿です。


ご無沙汰しております、 弊社ハイテク雑用担当のM.K@神谷町です。 「そろそろうちも世間で流行りのAWS的なものを導入してみては」というようなことを上司から言われ、現場で頭を抱えている情報システム担当の方も多いかと思います。 我々もそういったご相談をいただく機会が多くなってきましたので、弊社での利用例を本記事にまとめました。ご参考にしていただければ幸いです。


1. 遠隔拠点で使用するクライアントPCAWSで仮想化したい

<要件>

他拠点の業務アプリに自社からアクセスしたい。
具体的には、クライアント・サーバ型アプリケーション(サーバは遠隔拠点内に存在)のクライアント側ソフトウエアを弊社から使用したい。

●遠隔拠点内に物理PCを配置すると、故障した時の復旧が難しい(クライアント・サーバ型であるため、Windowsネイティブアプリのインストールやセットアップが必要となり時間が必要となる)ため、仮想化したい。

●バックアップ用PCを遠隔拠点に常備しておき、故障したらバックアップPCを使用し壊れたPCをこちらにセンドバックしてもらう、という方式も考えたが、バックアップPC自体がいつまでも正常動作する保証が無い、WindowsUpdateを当てるために時々電源をONするなどという運用が非現実的、などという理由のため難しい。

●弊社と他拠点間で直接VPNを張ることも考えたが、別会社でありセキュリティポリシー上難しいため別の方法を考える必要がある。

<解決策>

●遠隔拠点とAWSのVPCとをIPSEC VPNで接続した。

●AWS上にEC2(WindowsOS)を起動し遠隔拠点側のドメコン(ドメインコントローラー)に参加させ、使用するクライアント・サーバシステムのクライアントアプリケーションをインストールした。

AMI(Amazon マシンイメージ)でバックアップを取得し、それを元に同一内容のEC2インスタンスをバックアップ用に作成し、障害が発生してもいつでも対応可能とした。

●拠点側ルータは2台のVRRP冗長構成とし、インターネット接続もマルチキャリアとして信頼性を高めた。

遠隔拠点で使用するクライアントPCをAWSで仮想化したい

. プロジェクト毎のタスク管理アプリケーション構築作業の簡略化

<要件>

特定のお客様と弊社のみがアクセス可能なWEBアプリを使いたい。
・具体的にはRedmine的なタスク管理アプリを用いてタスク消化状況を共有したい

特定のグローバルIPアドレスからのみアクセス許可したい。かつお客様要件により、SSL/TLSによる暗号化通信が必須。

構築作業は出来るだけ簡略化すると同時に、短時間で起動し利用可能としたい。

<解決策>

●サーバ追加する毎にDNS情報を更新するのは面倒であるため、VPC内セグメントのローカルIPアドレス(Cクラス)に対応するDNS情報を予めRoute53にAPI経由で一括登録し、同様にリバースプロキシにも設定した。

Redmine(レッドマイン/オープンソースのプロジェクト管理ツール)等を一式セットアップしたEC2をAMIで保存し、EC2インスタンスを作成し起動するだけでそのまま使える状態にした。

●グローバルIPアドレスによる制限は、リバースプロキシ上のNGINX(エンジンエックス/フリーかつオープンソースのウェブサーバ)で実施するようにした。ここは手作業での修正となるが頻度は低いため現状そのままとしている。

●SSLサーバ証明書は、リバースプロキシ上で一括して管理するようにした。(LetsEncryptを使用)

<残課題>

●Route53に事前に一括登録しておくのは、当初は良いアイデアだと思ったが今時はもっと良い方法があると思われる。

●アプリ一式インストールしたサーバをAMIで持っておくと、徐々にバージョンが古くなってしまうという問題がある。定期的に最新版に更新する必要があるが、出来ていない。あるいは、起動時に動的に外部リポジトリなどからリソースを取得して構築する方法もあるが、起動時に時間がかかってしまう、あるいは場合によっては異常終了する可能性もあるため避けたい。

プロジェクト毎のタスク管理アプリケーション(Redmine等)構築作業の簡略化



. オンプレミス環境へのリモートアクセス用VPNサーバをAWSで仮想化したい

<要件>

●社内へのリモートアクセスを行うためのVPNサーバが自社内オンプレミス環境に設置されているが、これが万一物理的に壊れた時の対応に時間がかかってしまうため、仮想化したい。

●社内にはVMWare系の仮想化インフラストラクチャも存在するが、それ自体が故障した場合を考慮しAWS上に配置したい。

・VPNサーバは社内の認証サーバ(Active Directory)と連携して認証を行うため、認証サーバ自体のセカンダリをAWS上に設置し、短時間の停電であればVPN自体は利用可能としたい。

<解決策>

・AWSのVPCとオンプレ環境をIPSEC VPN接続し、AWS上にEC2でActive Directoryサーバを追加した。

・同じVPC上にEC2でVPNサーバを配置し、Active Directoryサーバを参照するよう設定した。 

オンプレ環境へのリモートアクセス用VPNサーバをAWSで仮想化したい

まとめ

AWSの活用例として、弊社でのケースをご紹介しました。弊社もまだまだ手探り状態の部分も多いのですが、参考になれば幸いです。情報システムにおけるクラウドサービス(IaaS)活用は今後ますます広がっていくと思われます。弊社でも継続的に調査を行い、興味深い事例などが有ればこの場で公開する予定です。

ご興味あればどうぞお気軽にお問合せ下さい。

contact_b.gif


M.K執筆者紹介:M.K

2003年より弊社にてITインフラ構築やSaas事業運営を手掛ける。現在は主に技術的側面からコールセンターおよび顧客接点周辺事業の支援を行う。