学び方指南シリーズの最後は、
前々回は入門者向け、前回はオンプレミス環境を知っている技術者向けにお話をしてきましたが、今回は、
今回は、少し難しい話なので、AWS初心者や、エンジニアとしての経歴が浅い人には、とっつきづらいかもしれません。その場合は、飛ばし読みして、

そもそも、「AWSについてつよつよのエンジニア」はどう定義するか
そもそも論として、
僕は、
AWSについて詳しいエンジニアには、いくつかの段階があります。たとえば、
初心者向けの回で書いたとおり、AWSは、AWSを使うのが目的ではありません。実現したいプロジェクトがあって、それに対して、AWSを選択するものです。ですから、主役は、あくまでプロジェクトであり、そのプロジェクトに対して、適切な仕組みを提案できることが必須条件なのです。
AWSは、クラウドベンダーの中でも大きなシェアを誇っており、使いやすく、サービスも豊富です。でも、世の中で、すべてのアイスが僕の好きなチョコミント味ではないのと同じように、AWSが向いていることとそうでないことがあり、別の選択をすることだってあるのです。
AWSを適切に選択するためには、AWSについてよく知っているだけでなく、他のクラウドベンダーの簡単な知識や、オンプレ構築の知識が必要です。また、その分野の専門知識も必要です。たとえば、データベースであれば、MySQLやPostgreSQLなどのRDBMSの知識、キーバリューなどのNoSQLの知識やNewSQLなどの最新の知識も必要でしょう。AIであれば、個々の学習モデルや、活用方法も知らねばなりません。
「ウヒャー!
「AWSのサービスを知っている」
クラウドネイティブを改めて解説
つよつよとなるためには、AWSについても、なんとなく、ボンヤリ使うのではなく、
ここで改めて、クラウドネイティブについて解説しておきましょう。
クラウドネイティブは、AWSに限らず、クラウドコンピューティング全般に適用される考え方です。CNCF
こまかいところは、公式の定義
(註:2025年7月現在、ローカライズが間に合っていないのか、英語版では7つ、日本語版では5つとなっている)
それぞれを簡単に解説していきましょう。

コンテナ
「プログラムの実行環境を隔離できる仕組み」
コンテナの代表的ものがDocker社のDockerです。また、コンテナを管理するものとして、Kubernetes
マイクロサービス
マイクロサービスは、小規模で独立したソフトウェアコンポーネントです。大きな一つのものを作るのではなく、小さいマイクロサービスをつなぎ合わせて、大きなシステムを作るという考え方です。
AWSは、まさにマイクロサービスと言えるもので、たとえば、サーバーを立てる時にも、サーバー機能は、Amazon EC2というサービスですが、サーバーのストレージは、Amazon EBS、IPアドレスはElastic IPアドレスと言ったように、個々の機能に分かれています。
このように、個々に分かれていることで、障害が起こった時にも、他に波及しませんし、組み替えなどが容易になります。
サービスメッシュ
サービスメッシュは、複数のマイクロサービス間の通信を観測するものです。つまり、コンテナやサービス間の通信が正しいかどうかを観測したり、セキュリティの機能を付けたりします。
コンテナ・
イミュータブルなインフラストラクチャ
イミュータブル
たとえば、サーバーを立てたときに、オンプレミスの環境では、一度作ったサーバーのOSやミドルウェアを時々アップデートします。反対勢力により、アップデートがあまり行われない現場もありますが、多くの良心的なエンジニアは、アップデートに連動したコードの面倒な書き換えに快く同意し、OSやミドルウェアのアップデートが行われることでしょう!
イミュータブルインフラストラクチャは、そうではなく、
これは、オンプレミスというよりも、非クラウド環境の場合、大変面倒な作業ですが、クラウドならば、画面でポチポチやればできることなので、可能なのです。自社のシステムのコードの面倒な書き換えが必要なのは同じですが、インフラエンジニアは簡単に作業できます。ゆえに、
宣言型API
APIとは、Application Programming Interfaceの略で、複数のソフトウェアプログラムが情報を交換するために使用する方法です。実際は、定義なのですが、実装時に、キーを使うことが多いので、APIキーのことを略して
APIには、手続き型と宣言型があり、手続き型は、個々のやることを随時命令する形式です。たとえば、常に5つのコンテナを立てて置きたい場合、
宣言型の場合は、
手続き型ではなく、宣言型であることによって、ソフトウェアが自律的に動き、人間の手間が減るようにしていきましょうという考え方です。
マルチテナンシー
マルチテナンシーとは、ソフトウェアやインフラなどのリソースを、複数のユーザーやテナント
現在、電子的なものは、肥大化一直線で、増えるばかりです。人材不足を、IT技術で補う傾向も強く、リソースが足りなくなってきています。たとえば、AIで使うようなものは、物理的なGPUが手に入りづらくなっていることは有名ですし、サービスで提供されているものも、リソースの奪い合いです。
こうした時に、マルチテナンシー的な考え方をすることによって、少ないリソースを共有して、効率よく使うことができます。
たとえば、AWSのAmazon RDSなどはわかりやすい例でしょう。巨大なシステムを皆で共有する仕組みになっています。
サーバーレス
サーバーレスは、勘違いされることも多いのですが、サーバーがレス
ユーザーは、自前でサーバーを意識することなく、関数をポイっと置くと、それをすぐに使えるようになります。
クラウドネイティブの現実と、理想の乖離
このようにいろいろ書いてきましたが、僕自身も、
そもそも、現場のすべてがクラウドで運用されているわけではないですし、会社によっては、非クラウドの比率の方が高いケースもあるでしょう。そのような場合に、
しかし、せっかくクラウドを使うのであれば、こうしたことを取り入れていくことで、クラウドを使いこなし、

今回の前半で
つよつよのエンジニアを目指していくこと
このように、AWSについて、つよつよのエンジニアを目指していくのは、なかなか大変です。
一足飛びに、つよつよを目指さずとも、
そのためには、まずはAWSについて詳しくなることですね。AWSについて詳しくなるには、以下のサイトが有名です。こうしたサイトや、AWS Summit
【公式】
- AWSホワイトペーパーとガイド
- https://
aws. amazon. com/ jp/ whitepapers/ - AWSが提供するドキュメント
- AWS Black Belt Online Seminar
- https://
aws. amazon. com/ jp/ events/ aws-event-resource/ archive/ - AWS提供のオンラインセミナー
- AWS の最新情報
- https://
aws. amazon. com/ jp/ new/ - AWS最新情報がわかる
- Amazon Web Services ブログ
- https://
aws. amazon. com/ jp/ blogs/ news/ - 公式ブログ
【非公式】
- DevelopersIO
- https://
dev. classmethod. jp - AWSのパートナー企業であるクラウスメソッド社のブログ。
次回は、実践編として、AWSの構成例をベースにAWSの学び方を解説していきます。