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サービスを組み合わせるだけではなく、これらの観点からアーキテクチャを検討することが重要です。