こんにちは、DX攻略部のtakuyaです。
AWSの導入が決定した際、いざ開発に取り掛かる前に課題として発生することを知っておくことは非常に大切です。
トラブルが発生すると対応に加えてスケジュール再調整の工数もかかってしまいますので、導入までにつまずきやすいポイントを押さえておきましょう。
今回は、AWS導入を実際に体験した際に「事前に知っておきたかったこと」を中心に、クラウド移行のイメージや安定稼働させるための方法をご紹介していきます。
AWSについて
ITインフラを調べたり書店のコンピュータ関連コーナーを覗くと、AWSという単語は必ず目にすると思います。
しかし、言葉を知っているだけの方も現状では多く、ある日突然「我が社もAWSを導入する」という発表があり急いで勉強する方も少なくありません。
そこで、まずはAWSとは一体なんであるのかを簡単にご紹介していきます。
AWSとは?
AWSとは、「Amazon Web Service」を略したものです。
このamazonとは、ネットショッピングで有名なアメリカに本社を構えるあのamazonです。
amazonと聞いて思い浮かぶのは通信販売や電子書籍、amazonプライムなど様々なサービスが思い浮かぶかもしれませんが、その中の一つにWebサービスというものも展開しています。
Webサービスとは聞き慣れないかもしれませんが、一言で言えばクラウドサービスです。
クラウドサービスとは、サーバやネットワーク機器を購入せずとも仮想空間に環境を構築してしまうという画期的なサービスです。
つまり、amazonが提供するサービスを利用して、仮想空間上にサーバやネットワークなどのインフラを構築できるのがAWSなのです。
クラウドの利点について
AWSやMicrosoftのAzureなど、現在クラウドで環境を構築するケースが増えています。
以前はサーバルームを作って環境を構築していたのですが、なぜここまでクラウドが普及しているのかを知っておきましょう。
クラウドの利点は様々ありますが、最も大きなメリットは「柔軟性」にあります。
サーバの容量を増やしたりネットワーク環境の変更を行うことはほんの数分で完了してしまいます。
従来の機器を購入するオンプレ(オンプレミス)環境の場合、環境の変更は機器や部品を購入するところから始めなくてはならず、ネットワーク環境を変更する場合は実作業が伴いました。
また、費用についてもAWSはサブスク(サブスクリプション)なので、環境構築の際にまとまったお金は不要となります。
サブスクの場合、料金が高額に感じる方もいらっしゃるかもしれませんが、オンプレでも老朽化対応で機器を定期的に入れ替えなければならないため、変更に伴う料金を考えるとむしろクラウドの方が安くなるケースも多いです。
この柔軟性が人気で、クラウドが普及しているのです。
クラウドを活用するメリットやデメリットについては、こちらの記事で詳しく解説していますので参考にしてみてください。
こんにちは、DX攻略部の二階堂です。 多くの企業がDXに取り組んでいると思いますが、デジタル化したデータを活用するにはどうしたらよいでしょうか? デジタル化したデータを、「どこに保存し」「どう活用したら良いかわからない」ケースも[…]
AWSの容易さと困難
AWSで環境を構築する際、一部コマンドを必要としますが基本的にはGUIを用いて作業を行います。
そのため、従来のLinuxサーバ構築と比較すると技術面ではかなりハードルが下がっています。
しかし、困難である点もあります。
まずはAWSは細かな機能を兼ね備えているのでサービスの名前が非常に多く、慣れるまでは少し大変に感じることもあるかもしれません。
この点は構築経験者がいれば問題ないことかと思いますが、AWSにおいて最も注視しなければならない点は設計時に曖昧にしていたことが露呈し、作業が遅れることです。
AWSは明確にしておかなければならない事項が多く、詳細が決まっていない部分においては構築を一旦停止して協議しなければならなくなり、当初予定していた計画が大幅にずれ込んでしまいます。
そのため、AWS構築の際にはできるだけ具体的に詳細設計を行なってから構築の工程に入ることが最も重要となります。
AWSへ何を移行するのか
では、いよいよ実際にAWSへの移行前に明確に押さえておきたい事項のご紹介に入ります。
まず初めに、AWSへ何を移行させるのかを正確に把握しておく必要があります。
現在、社内にある環境をそっくり移行してしまうのか、はたまた一部だけ移行するのかによってもプロジェクトの規模が変わってきます。
そこで、まずはAWS移行のイメージを掴んでいきましょう。
クラウド化はプラットフォーム?ネットワーク?
まずはクラウドでどのような環境を構築するのかを決定していきましょう。
AWSではサーバ構築はもちろんですが、ネットワーク環境の構築も可能です。
ネットワーク環境を構築できるということは、もちろんFW(ファイアウォール)の設置やサーバ監視を行うこともできます。
さらには、AWS上のサーバで仮想サーバを作ることも可能なので、本当に現在の環境をそっくりクラウドに移すことができるのです。
その上で、どこからどこまでを移行するのかを緻密に計画して移行しなければなりません。
クラウド上のネットワーク構成図の作成はもちろんのこと、どうオンプレと繋げていくのか、どこまでクラウドに移行するのか、ネットワーク監視はどこで行うのかなど、最初に決めましょう。
どこまでクラウド化するのかを決めることはとても大切なことなのです。
プラットフォームの一部のみ移行も可能
「クラウドへ環境を移行する」と考えた時、できる限りの環境をクラウドへ移行しなければならないと考えがちですが、一部だけクラウドへ移行する方法もあります。
例えば、社員のアカウントを管理するDBサーバのみをクラウドへ移行し、他の環境は今まで通りオンプレで管理するハイブリット運営も可能です。
どうしてもオンプレで管理したいものや、サーバをリプレイスしたばかりで破棄するのはもったいないという場合は移行を後回しにすれば良いのです。
また、大規模な環境については一気にクラウドへ移行することは不可能ですので、一部ずつクラウドへ移行していく方法もあり、移行するハードルはそれほど高くないのです。
オンプレは完全になくなるの?
オンプレではどうしても機器の管理が必要になるため、オフィスにある機器を撤去してクラウドで全て運用していきたいと考える方もいらっしゃいます。
しかし、忘れてはいけないのはクラウドへ移行したとしてもオフィスからクラウドへ接続する最低限の環境は残しておく必要があります。
フルリモートでオフィスは小さくし、小さなWi-Fiで事足りるようなオフィスであればあまり気にする必要はありませんが、オフィスで作業を行う場合はオフィスから外にアクセスするためのオンプレ環境の運用がどうしても残ってしまいます。
ただし、ネットワーク機器についてはサーバよりもはるかに管理しやすく、リプレイスについても顧客を気にせず行うことができるため楽になることは間違いありません。
システムを安定稼働させるために注意すべき点
AWSに移行しても、システムが安定して稼働しなければ元も子もありません。
そこで、AWSを安定稼働させるために注意しておきたいポイントをご説明していきます。
もちろん、イレギュラーなトラブルはつきものですが、基本を押さえておくことでスムーズにAWSを使用できるようになります。
AWS移行後に使い物にならない場合もある
AWSへ移行した後に、「動作がものすごく遅くなった」や、「接続できなくなる」というトラブルが起こることがあります。
この多くの原因は、サーバのリソース不足かネットワークのひっ迫です。
基本的にはオンプレで稼働していた環境をそのまま移行すれば問題はないはずなのですが、リソースを簡単に増やせるということからスペックを低く構築することも少なくありません。
こうなるとサービスの質が下がってしまうので、最低限オンプレ環境と同じくらいのスペックを確保し、月末月初などのアクセスが集中しやすい期間でチューニングしていくことが大切です。
リソースを一時的に増やせる
AWSは設定により、一時的にサーバのリソースを増やすことが可能です。
これはオンプレでは考えられなかった画期的な機能です。
そのため、アクセスが集中するときにはその処理のためにリソースが増え、その他の期間は通常のリソースで運用することが可能となるのです。
この機能はクラウドの最大の機能であると言っても過言ではありませんので、是非とも設定に加えたいところです。
稼働後にチューニングは必要となりますが、どこまでリソースを増やすのかを検討していきましょう。
高負荷をかけると作業が止まる点に注意
アクセスが集中してもリソースを増やすことができるのであればクラウドで遅くなることはないと考えてしまいがちですが、実はそうではありません。
あらかじめ設定したスペック以上のことを行えば処理は遅くなりますし、それ以外にもネットワークのひっ迫によって遅延が起こることがあります。
例えば大量データ通信の場合、オンプレ環境では基本的に社内で行っていたので問題がなくても、AWSへ接続する回線がひっ迫してしまい遅延するということも起こり得ます。
そのため、どこまでの負荷に耐えられるかということを、設計の段階で緻密に計算していく必要があるのです。
ちなみに、AWSの中でメールサーバーを構築することができるサービス「Amazon SES」というものがあります。
なぜAWSのSESは開発現場で採用されやすいのかについて紹介していますので、参考にしてみてください。
こんにちは、DX攻略部のラムネです。 今回はAWSが提供するサービスの1つである「Amazon SESがなぜ開発現場で選ばれるのか?」について解説していきたいと思います。 実際、私自身も1人のエンジニアとして、大手銀行さんのサー[…]
AWSの災害対策
災害対策は会社の資産を守るためには重要なポイントです。
では、AWSを利用していて災害が起こったときにはどのような対応ができるのでしょうか。
災害対策を含め、環境を構築していきましょう。
災害が起こるとAWSはどうなるの?
クラウドという特性上、どこかのデータセンタのサーバに構築したデータは保管されています。
そのため、そのデータセンタで災害が起きた際には、クラウドも災害に遭うこととなります。
例えば、自分が九州に住んでいてAWSを利用しており、データが東京にあった場合、東京で災害が起こるとその影響を受けてしまうということです。
ただし逆のことも言え、自分が住んでいる地域で災害が起こったとしても環境は無事であるという状況もあり得るのです。
また、クラウド独自の災害対策を行うこともできるので、災害に強いAWSとも言えます。
クラウドを利用した災害対策
クラウドは仮想空間に環境を構築していくわけですが、実態はどこかに必ずあります。
しかし、仮想空間であるがゆえにどこにでも作ることができます。
また、環境をそっくりそのままコピーすることも可能であり、ほんの数分で作業は完了します。
このコピーを通常利用するエリアと全く異なる場所に構築しておくことで、災害のリスクを大幅に減らすことができます。
オンプレ環境においても災害対策として別のエリアにバックアップを保管しておく方法もありましたが、その手間は膨大であり最新データが保管されることは難しい問題でした。
AWSは多くの国にリージョンと呼ばれるデータを保管するエリアが設けられておりますので、東京リージョンで通常の作業は行うが、バックアップはバージニア北部リージョンに置いておき、リアルタイムにデータを更新しておくことも可能です。
そのため、災害対策はクラウドを利用するとより強固なものになると言えるのです。
安全とコストどっちを選択するかを考える
AWSの環境バックアップにより災害の回避は簡単にできるようになりましたが、バックアップ構築のためのコストがかかってしまいます。
バックアップの保管場所を増やせばその分災害対策はできますが、コストが上がってしまうことも懸念されます。
どの程度の災害対策を行い、どの程度コストをかけるのかは、会社規模にもよるため綿密な計画が必要になります。
AWSのセキュリティ対策
AWSのセキュリティについては、基本的にオンプレ環境と変わりません。
しかし、クラウド環境だからと言ってセキュリティ対策をおざなりにしてしまうケースも少なくありません。
そこで、AWSのセキュリティ対策はどのように行えば良いのか、最低限押さえておきましょう。
クラウドにおけるセキュリティの重要性
社内のデータは情報資産と言われるほど企業にとっては重要なデータです。
このデータを盗み出したり改ざんしようと試みる犯罪者は後を立たず、さらには犯罪を許してしまうことで企業の名に傷がつくことも多いです。
そのため、クラウドであってもオンプレと同じようにセキュリティを強固なものにしていかなければなりません。
従来であればセキュリティ機器も実機を購入していたかもしれませんが、クラウドについては全て仮想で構築されます。
そのため選択は容易にできますが、コスト面などを考慮しながら最適なセキュリティを構築していく必要があります。
AWSに搭載されているセキュリティ
AWSには基本的なセキュリティが網羅されており、これらをうまく使うことによってコストカットが実現できます。
しかし、セキュリティの分析などを行う際には少し不十分と感じる場合もありますので、各ベンダが出しているセキュリティを構える必要があります。
有名なところであればPaloAltoなどがありますが、このFWを仮想で構築することも可能です。
こちらについても、もちろんコスト面が掛かってきてしまうので、なんでも導入するというわけではなく、環境に合ったセキュリティレベルを構築していく必要があります。
仮想ネットワークのセキュリティについて
基本的にはクラウドにおけるネットワークセキュリティに関しても、オンプレ環境と同じと考えてください。
ただし、AWSを使用する上ではアカウントの権限が関係してきます。
オンプレ環境においてもアカウントがありますが、機器ごとのアカウントではなく全体のアカウントとなるため権限の管理は重要となります。
アカウント管理については少々複雑な面がありますので、AWSについて知見のある方や、ソーシャルアーキテクトアソシエイトの資格を持っている方などに意見を聞いた方がスムーズに進みます。
まとめ
AWSに環境を構築する際には、基本的にオンプレと変わりはないのでスムーズに感じられるかもしれません。
しかし、AWS独自の課題などがあるため、思わぬポイントで時間をロスしてしまうこともあります。
そのため、事前に準備しておくことはもちろんのこと、アドバイザーとして経験者を雇うことも方法の一つとなります。