AWSはAmazon Web Servicesの頭文字で、ネットショップ大手Amazonが提供しているクラウドコンピューティングサービスです。

AWSでは、インターネットを通じて、サーバー、ストレージ、データベース、ネットワーク、セキュリティ、AI・機械学習など、さまざまなITリソースやサービスを利用できます。

従来のオンプレミス環境では、サーバーやネットワーク機器などを購入し、自社で設置・管理する必要がありました。AWSでは、必要なITリソースをクラウド上で利用できるため、物理的な機器を用意せずにシステムを構築できます。

また、必要に応じてリソースを追加・削減できるため、小規模なWebサイトから大規模なWebサービス、企業の業務システムまで、さまざまな用途で利用されています。

AWSには、仮想サーバーを提供するAmazon EC2、オブジェクトストレージのAmazon S3、リレーショナルデータベースを提供するAmazon RDSなど、多数のサービスがあります。

クラウドコンピューティングとは

クラウドコンピューティングとは、サーバー、ストレージ、データベース、ネットワーク、ソフトウェアなどのITリソースを、インターネットなどのネットワークを通じて利用する仕組みです。

従来のオンプレミス環境では、サーバーやネットワーク機器を自社で購入し、設置や運用、保守を行う必要がありました。クラウドコンピューティングでは、クラウド事業者が提供するITリソースを必要に応じて利用できます。

また、必要なリソースを必要なときに追加・削減できることもクラウドの特徴です。アクセス数の増加に合わせてサーバーを増強したり、利用しなくなったリソースを削除したりすることで、システムの規模や用途に応じて柔軟に構成を変更できます。

AWSは、このクラウドコンピューティングを利用して、コンピューティング、ストレージ、データベース、ネットワークなどのさまざまなサービスを提供しています。

クラウドコンピューティングとは、コンピューティング能力、データベース、ストレージ、アプリケーション、その他の IT リソースをインターネット経由でクラウドサービスプラットフォームを介してオンデマンドで提供することです。クラウドコンピューティングには従量制料金が適用されます。

https://docs.aws.amazon.com/ja_jp/whitepapers/latest/aws-overview/what-is-cloud-computing.html

オンプレミスとクラウド

オンプレミスは、自社でサーバーやネットワーク機器を保有し、システムを構築・運用する形態です。
クラウドは、クラウド事業者が提供するITリソースをネットワーク経由で利用する形態です。
クラウドでは物理機器を購入せず、必要なリソースを必要な分だけ利用できます。
AWSを利用することで、サーバーやストレージなどのITリソースをクラウド上に構築できます。

AWSの責任共有モデル

AWSでは、セキュリティとコンプライアンスに関する責任をAWSと利用者で分担する「責任共有モデル」が採用されています。

AWSは、AWSのデータセンター、物理的なサーバー、ネットワークなど、クラウドを構成するインフラストラクチャの保護を担当します。

一方、利用者はAWS上に保存するデータやアクセス権限、利用するサービスの設定などについて責任を持ちます。

ただし、利用者が担当する範囲はAWSサービスによって異なります。Amazon EC2のように利用者がOSを管理するサービスと、AWSがより多くの管理を担当するマネージドサービスでは責任範囲が異なります。

AWSの料金体系

AWSの多くのサービスでは、利用したリソースに応じて料金が発生する従量課金方式が採用されています。

たとえば、Amazon EC2ではインスタンスの種類や利用時間、Amazon S3では保存しているデータ量などによって料金が変化します。

サービスによって料金体系が異なるため、AWSを利用するときは各サービスの料金を確認する必要があります。

AWS Pricing Calculatorを利用すると、構築するシステムの構成からAWSの利用料金を見積もることもできます。

AWSマネジメントコンソールの使い方

AWSマネジメントコンソールは、WebブラウザからAWSを操作するための管理画面です。

AWSアカウントでサインインすると、Amazon EC2、Amazon S3、Amazon RDSなどのAWSサービスを画面上から操作できます。

AWSを初めて利用する場合は、まずAWSマネジメントコンソールを使用して各サービスの構成や設定項目を確認すると理解しやすくなります。

AWS CLIとは

AWS CLI(AWS Command Line Interface)は、コマンドラインからAWSを操作するためのツールです。

AWSマネジメントコンソールでは画面上からAWSを操作しますが、AWS CLIではコマンドを実行してAmazon EC2やAmazon S3などのAWSサービスを操作できます。

コマンドをスクリプトに組み込むことで、繰り返し行うAWSの操作を自動化することもできます。

AWS SDKとは

AWS SDK(Software Development Kit)は、プログラムからAWSのサービスを利用するために提供されている開発ツールです。

Python、Java、JavaScriptなど、さまざまなプログラミング言語向けのSDKが提供されています。

AWS SDKを利用することで、アプリケーションからAmazon S3へファイルを保存したり、AWSの各種サービスを操作したりできます。

AWSアカウントとIAMの基本

AWSを利用するためにはAWSアカウントが必要です。

AWSアカウントを作成するとルートユーザーが作成されます。ルートユーザーにはAWSアカウントに対する強力な権限があるため、日常的な作業では使用を避け、必要な場合にのみ使用することが推奨されています。

AWS Identity and Access Management(IAM)を利用すると、AWSリソースへアクセスするための認証や認可を管理できます。

AWSを安全に利用するためには、必要な操作だけを許可する「最小権限の原則」を意識してアクセス権限を設定することが重要です。

AWS Well-Architected Frameworkとは

AWS Well-Architected Frameworkは、AWS上で安全性、信頼性、効率性などを考慮したシステムを設計・運用するための考え方やベストプラクティスをまとめたフレームワークです。

Well-Architected Frameworkは、運用上の優秀性、セキュリティ、信頼性、パフォーマンス効率、コスト最適化、持続可能性の6つの柱で構成されています。

AWSでシステムを設計するときは、単にAWSサービスを組み合わせるだけではなく、これらの観点からアーキテクチャを検討することが重要です。