AWSのエキスパートになる方法【EC2編】 プロ集団「アイレット」の現役エンジニアにインタビュー

アイレットは、Amazon Web Services(AWS)を利用するユーザーに対し、AWSの各種プロダクトの導入から、設計、運用保守までのフルマネージドサービス「cloudpack」を提供する国内有数のインテグレーター。AWS導入においては国内有数の実績を誇っている。そこで今回は、同社のカスタマー支援事業部インフラセクションで活躍中の古越勇樹氏に、Amazon EC2(Amazon Elastic Compute Cloud)の使いこなしや学び方のコツを聞く。

<お話を伺った方>
アイレット株式会社
カスタマー支援事業部
インフラセクション エンジニア
古越勇樹氏

<ご略歴>
2015年、オンプレミス専門のインフラエンジニアを経てアイレットに入社。現在は主としてゲーム業界に対し、AWSを活用したインフラ構築と運用サービスを提供している。

そもそもEC2とは?

Amazon EC2(以下、EC2)は、Amazonが2006年から提供している主要クラウドサービスの1つ。EC2を利用することによって、ユーザーは物理的なサーバーを購入することなく信頼性の高い仮想サーバーを利用することができるようになる。EC2において、仮想サーバーは「インスタンス」と呼ばれ、ユーザーはCPUやメモリ、ストレージ、ネットワークキャパシティの構成が異なるインスタンスを選べ、Linuxの各ディストリビューションやWindows ServerなどのOSをインストールできる。インスタンスは瞬時に起動できることに加え、必要に応じて増減させることもできるので、急激な需要の増加やスペック変更要求にも対応できるのが強み。使った分だけ支払う従量課金制を採用しているため柔軟性が高いのも特徴の1つだ。EC2はサーバーが停止すると初期化されるため、データを永続的に保存するためには、AWSのデータストレージAmazon EBS(Elastic Block Store)と組み合わせて利用することが多い。→公式ページ

クラウドのポテンシャルを引き出すコツ

「EC2は拡縮自在。必要とあらば一瞬でスケールアウトできますし、用意されているインスタンスタイプや料金モデルも非常に多彩です。EC2を、私なりの言葉で表すとするなら『何でもつくれる工場(AWS)にある万能な道具』のようなものではないかと思います」

カスタマー支援事業部インフラセクションでインフラエンジニアを務める古越勇樹氏は、EC2の印象をそう表す。

「EC2はさまざまなサービスが存在するAWSの中核をなすサービスですし、事実、国内外の多くの企業に選ばれています。当然、信頼性も高い。常に大きな負荷がかかっている状態で、急激なアクセス増加にも対処しなければならないスマホゲームのインフラ設計や運用に携わっている立場からすると、とても心強い存在です」

EC2を使いこなすコツはさまざまある。ここですべてを紹介することはできないが、最初のステップとして、適切なインスタンスタイプを選択することがとても重要だと古越氏は話す。

「EC2のインスタンスは、CPU、メモリ、ストレージ、ネットワークキャパシティの組み合わせによって種類があり、ユースケースによって選ぶべきインスタンスタイプは変わります。たとえば開発用途やテスト用途ならTインスタンスファミリーでしょうし、本番用途ならTインスタンスファミリーより汎用的に使え、かつパフォーマンスが落ちにくいMインスタンスファミリーを選ぶべきでしょう。さらにCPUパワーが必要ならCインスタンスファミリー、メモリが必要ならRインスタンスファミリーというように、まずは用途によって適切なタイプがあることを知るべきといえます」

いずれを選択するかは「運用を見越した設計」によって決まると古越氏は話す。

「運用を見越した設計をしていないと、EC2標準のCloudWatchメトリクスでは取得できないメモリやディスクの監視を軽視してしまいサービスが落ちても気づかなかったり、初期設定時EC2にかけられているサービス制限を解除するための上限緩和申請の提出が遅れてしまったがために、復旧に時間がかかったりするなど、機会損失につながりかねない事態が起こりがちです。また、セキュリティグループの設定が甘ければ、システムがクラックされるようなことも起こりえます。こうした事態を避けるには、公開ドキュメントにきちんと目を通し、ビジネス側の人たちと連携して運用を見越した設計することが重要なのです」

クラウド初心者へのアドバイス

EC2は、世界のクラウド市場でトップをいくAWSの主要サービスだけに、ネットをあたればすぐに最新のアンチパターン集や成功事例集、勉強会の情報がいくつも見つかる。クラウド未経験者がそうした情報から設計・運用のノウハウを学ぶことは十分可能だ。

「私自身、クラウドに関する実務経験がほとんどなかった当時は、AWSの公式ドキュメントを読み込んだり、はてなブックマークで最新情報をチェックしたり、少しでも運用の実情を知るために、JAWS-UG(AWS Users Group)主催のイベントや勉強会などに参加したりしていました。EC2に限らないですがAWSサービスを理解していくにはAWS Black Belt Online Seminarの公開資料がかなり役立ったと思っています。」

こうした学習意欲が古越氏の成長を促したのは確かだ。しかし古越氏自身は一番の学びは「実践」からしか得られないものだと考えている。

「まずはEC2の無料利用枠を使ってWordPressなどのアプリケーションを実際にインストールしてブログを立ち上げてみるなど、具体的な目標を定め実践を通じて学んでいくといいと思います。その中でIAM(Identity and Access Management)やAmazon VPC(Virtual Private Cloud)など、オンプレミス環境にはないAWS独自の仕様に触れながら、徐々にパブリッククラウドの感触をつかんでほしいと思います」

とはいえ、独習よりも学習効果が勝るのは実務経験を置いてほかにない。クラウドマネージドサービスを手掛ける会社には、外部にはほとんど出ていない構築や運用ノウハウが膨大に蓄積されているからだ。

「当然といえば当然かもしれませんが、実務で直面するさまざまな課題をクリアしていくことに勝る学びはありません。もしかつての私のように、前職ではオンプレミス環境での経験しかなかったインフラエンジニアが、いち早くクラウド環境に適応しようと思ったら、弊社を含め、AWSのマネージドサービスを手掛けている会社に移って実務経験を積むことが一番の近道だと思います」

もはやシステムをオンプレミス環境からクラウド環境に移行させるようなニーズは一般的になり、現在はクラウドを使ってビジネスのあり方やエンジニアの働き方を変えるような先進的な取り組みが増えつつある。クラウドネイティブなインフラエンジニアの需要も増加中だ。

「いまはインフラエンジニアを目指す人やクラウド志向が強いインフラエンジニアにとって、チャンスの多い時代です。もしこの仕事に興味があったら、まずはアイレットのエンジニアブログ(https://cloudpack.media/tech)にアクセスしてみてください。将来のキャリアを変えるきっかけになるかもしれません」