【初心者用】AWS基礎
Amazon Web Services(AWS)とは、世界中で使われている代表的なクラウドコンピューティングサービスです。Amazon Web Services(AWS)とは、世界中で使われている代表的なクラウドコンピューティングサービスです。
・クラウドコンピューティングとは
クラウドと呼ばれることもあり、インターネット上で運用されているサーバーなどを利用できるサービスです。
ユーザーは自前でサーバーなどのハードウェアやソフトウェアを持たなくても、インターネットを通じて必要な時に必要な分だけ利用できるサービスです。
それに対して、自社内にサーバーなどを設置して管理する運用形態は「オンプレミス」といいます。
・AWSとは
AWSはAmazonのサーバーを借りられるサービスのことです。
Amazon社が社内のビジネス課題(システム効率の悪さ、サーバーの準備スピードの遅さ、拡張性の問題など)を解決するために生まれたものがAmazon Web Services(AWS)です。
2006年に、このシステムを客向けに開始しました。
現在では多くの企業が利用する人気のクラウドコンピューティングサービスとなっています。
190以上の国において、数十万人に及ぶ登録アカウントがあります。
また、サーバーはEC2、ネットワークはVPCといったサービスで構築することが可能です。
1. Amazonが考えるクラウドの特徴
・初期投資が不要
・調達・構築が容易なインフラ
・低額な変動価格
・スケールアップ・ダウンが容易
・実際の使用分のみ支払い
・市場投入と俊敏性の改善
2. AWSでシステム構築・運用する上で知っておくべきこと
AWSが提供するサービスをいくつか紹介します。
また、よく使われる用語についても知っておきましょう。
AWSは様々な機能をもったサービスが数多く揃っており、使いこなせればとても便利なものばかりです。
3. AWSのサービスについて
3-1. ①Amazon EC2(サーバー環境構築)
1秒単位または1時間単位の従量課金で利用可能な仮想サーバー構築サービスになります。
EC2はECC(Elastic Compute Cloud)の略です。
需要に応じて拡張したり縮小したりできるように作られています。
3-2. ②Amazon S3(データ保存/コンテンツ配信)
データをオブジェクトとしてバケットに保存します。
バケットとはオブジェクトのコンテナのこと(=データの入れ物)です。
オブジェクトとは、ファイルと、そのファイルを記述しているメタデータのことです。
S3には、容量制限がなく、データの容量を気にすることなく保存できます。
1ファイルあたり5TBまでであれば自由にデータのアップロードが可能です。
S3は保存したデータを複数のデータセンターに自動的に冗長化をしてくれるので、障害やエラーなどがおきた際もデータを保護できます。
セキュリティに関しても、基本的には保存したデータは所有者のみアクセスがきょかされているので、他の人に閲覧されたり使用されることはありません。
また、アクセス管理機能もあるので、アクセス制限を設けてセキュリティレベルのコントロールが可能です。
暗号化機能でさらにセキュリティ強化をすることもできます。
68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f36333436322f36633639663034322d616435612d353335352d376236382d3930653635313630363964392e706e67 (1850×868) (qiitausercontent.com)
3-3. ③Amazon RDS(データベース利用)
Amazon Relational Database Service(Amazon RDS)は、リレーショナル型データベースです。
通常はデータベースを使うときに、インストールやバックアップなどセットアップが必要になりますが、RDSではAWSのクラウド上で簡単に設定、運用できるサービスのことです。
MySQLとの互換性を持つAmazon Aurora、PostgresSQLとの互換性を持つAmazon Aurora、MySQL、MariaDB、PostgresSQL、Oracle、SQL Serverの7つの人気エンジンから選択し、デプロイし、スケールすることができます。
3-4. ④AWS Lambda(プログラムの実行環境)
AWSが提供する「サーバーレスコンピューティングサービス」ともいい、その名の通りサーバー(または仮想サーバー)を使わなくても任意のプログラムを実行できる環境を提供するサービスです。
またサーバーやOSの構築・管理、セキュリティの設定、モニタリングなどの作業をユーザー自身でしなくても、コードを作成・登録するだけで実行できるようにするサービスです。
3-5. ⑤DynamoDB
DynamoDBでは、ハイパフォーマンスを維持しながら、あらゆる規模で実行するために、テーブルのデータとトラフィックが十分な数のサーバーに自動的に分散されるように設計された、サーバーレスのNoSQLデータベースです。
3-6. ⑥Elastic Load Balancing(ELB)
AWSが提供するロードバランシングサービスです。
ロードバランサーとは、サーバーに集中するアクセス(トラフィック)など、外部からの通信によりサーバーに負荷がかかっているものを、自動で複数のアベイラビリティゾーンへ振り分ける仕組みです。
ロードバランサー用のアベイラビリティゾーンを有効にすると、Elastic Load Balancingはアベイラビリティゾーンにロードバランサーノードを作成します。
4. 知っておきたい用語について
・Instance(インスタンス)
AWSクラウド上の仮想サーバーをインスタンスと呼びます。またEC2やRDSなどの仮想サーバーを数える際の単位としても使われます。
・IAM(アイアム)
AWS Identity and Access Managementの略称です。AWSのサービスの「認証」と「認可」の設定を行うことができ、アクセス権限の管理を行っているサービスのことです。
認証:相手が誰なのか確認すること。
認可:リソースへのアクセス権限を与えること。
・Amazon EBS
Amazon EBS(Elastic Block Store)はAWSが提供するストレージサービスの一つです。主に4つの特徴があり、可用性の高さ、スナップショット機能、2種類のディスクタイプを選択、ボリュームタイプ、となります。
具体的には、システムが停止することなく稼働を続けられたり、スナップショットといわれるバックアップ機能があったりします。
スナップショットは差分のみを保存対象として容量を抑えた上で、Amazon S3という別のアンかなストレージサービスに保存されるようになっています。
細かく保存方法が設定ができるのも特徴です。また、EBSではSSDタイプとHDDタイプのディスクからタイプを選択し、用途に合わせたデータを転送することができます。
さらにボリュームタイプを選択することもできます。
■Amazon S3と比較
ストレージの種類に違いがあります。Amazon S3は「オブジェクトストレージ」、Amazon EBSは「ブロックストレージ」というデータの保存方法をとっています。オブジェクトストレージは、フラットに保存する方法なので、データの移動や分散した保存がしやすくなります。
また、ファイルストレージのように階層などもないため、データ量の増加にも対応できます。
Amazon S3は耐久性が高く大量のデータを保存しやすいです。
Amazon EBSは「ブロックストレージ」という方式でデータを保存をしていて、データを「ブロック」という単位に分割して管理しています。
それにより、データを書き換えたい場合は、ブロックに割り振られた番号を検索することも可能になり、処理速度も上がります。
よって、Amazon EBSは、処理速度の高速化に適したデータ保存になります。
https://bcblog.sios.jp/what-is-amazon-ebs/#Amazon_EBS-2
・Amazon CloudWatch
CloudWatchはAWS環境の監視において、各種クラウドリソースやアプリケーションのパフォーマンスだけでなく、オンプレミスのサーバーなども監視できるサービスです。構築不要ですぐに利用開始できます。
・VPC
Virtual Private Cloudの略で、AWS上に作ることができる自分専用のネットワーク領域のことです。VPCを利用することで、AWSないにプライベートなネットワークを作成できます。
https://qiita.com/c60evaporator/items/2f24d4796202e8b06a77#%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98
・Region(リージョン)
データが保存される地理的な位置を表します。地理的に離れた領域がそれぞれ接続されることで構成されています。
リージョン(地域)が完全に離れていることで、耐障害性と安全性が実現されています。
5. AWS Well-Architectedフレームワークの特徴
インフラ構築 する際の6つの観点
①運用の優秀性
②セキュリティ
③信頼性
④パフォーマンス効率
⑤コスト最適化
⑥持続可能性
上記のポイントや要件を満たした設計や構築を意識する必要があるでしょう。
6. AWSの利用で最初にやること
①証跡の保存(CloudTrailの設定)
CloudTrailは、自分のアカウントで作業した内容などのデータを保存しておくことができるサービスです。
アカウントアクティビティをログに記録し、継続的に監視できるので、コンプライアンス監査を簡素化、セキュリティ分析、リソース変更の追跡などをより簡単に実行できるようになります。
CloudTrailの設定を行うと、ダッシュボード画面にログが出てきます。
Amazon S3にバケットを作成し、データを保存します。
②IAMの設定
ユーザーのアクセス制御についての管理サービスの設定をします。
root権限は非常に強い権限で、自分自身の身を守るためにも、アカウント管理をしましょう。
MFAの設定をしましょう。MFAとは、AndroidやiOSなどといった別のデバイスを用いた2段階認証を設定するもので、Google Authenticatorというアプリを使って設定します。
③レポート関連の設定
AWSは従量課金のサービスなので、一定以上使った場合などに連絡がくるように、設定する必要があります。
請求関連はrootユーザーのみが操作できる項目になっています。
④Trusted Advisorの起動
コスト最適化、パフォーマンス、セキュリティ、フォールトトレランスの4つの観点から、AWSが自動で精査し、推奨設定を教えてくれるサービスで、初期設定の段階で有効になっているので、そのまま確認すればOKです。
⑤AWS Configの起動
リージョンごとのサービスの変更履歴のログを保存し、かつ可視化してくれるサービスです。
⑥AWS GuardDutyの起動
リージョンごとに驚異の検知をしてくれるサービスです。
7. まとめ
AWSがどんなサービスを提供しているのか、またどんな用語を知っておくべきなのか、知ることができました。
サーバーの構築、データの保存、セキュリティ対策、サーバーへの負荷分散、バックアップの面など、さらに理解を深めていきたいと思います。