#AWSの背景・メリット
・クラウドの一種がAWS
・AWSは、既にある程度の設定がされたものの上で作れる
・昔は、どのくらいのデータを使用するかなどの予測が不可欠だった。クラウドは予測が不要な点で、大きなメリットがある。
・200を超えるAWSサービスがある。欲しいサービスを自分たちで選んで使うことができる(アーキテクチャ)
・使った分だけのお支払いになる。従量課金制
#用語の説明
##基本
###EC2
サーバー
###リージョン
大学で例えると大学。
EC2が集まる地域。
日本には、東京リージョンと大阪リージョンがある。
###Availability Zone(AZ)
大学で例えるとキャンパス。
##運用・管理
###CloudWatch
AWSをモニタリングするサービス。作り終わった後も、正しく動くか監視する。
➀情報を集めて表示。:メトリクスで行う。
②アラーム(通知)も行う:定義したルールに基づいて自動で変更。
###Elastic File System EFS
共有のファイルシステム。
###AWS Support
AWSのサポーターがサポート
###Trusted Adviser
利用者のAWS環境をAWSが自動で精査し、 推奨設定のお知らせをしてくれる機能。
セキュリティやコスト管理などを行ってくれる。
##コンピューティング
###EC2 Auto Scaling
スケーリングとは、需要などの増減のこと。
例えば、月曜に一番アクセス(需要)が来るなら、月曜にキャパシティを増やせばいい。
でも、月曜以外の曜日はキャパシティは無駄になってしまう(使わないから)
そこで、アクセスが増えたら自動的にキャパシティ(EC2インスタンス)を増やすサービスが「EC2 Auto Scaling」という。
これをCloudWatchと併用すると、効果抜群。
CloudWatchでモニタリングし、アクセスが増加したらAuto Scalingに通知する。
###EC2
Amazonが提供している仮想サーバー構築サービス。
インスタンスという単位で呼ばれる。
EC2を使うことで、利用者は物理的な準備が不要になる。(買ってきて、つないだりとか)
・EC2インスタンスのテンプレートがAmazonMachineImage(AMI)。
これをもとに作る。
・InstanceTypeとは、EC2の各種タイプ。(microなど)
・EBSとは、EC2インスタンスなどの仮想サーバのブロックストレージ。
・SessionManagerは、ログインしてアクセスするための仕組み。
###フリート管理
障害が発生したEC2インスタンスを自動で撤去して、新しいインスタンスに中断なしで置き換える。
##データベース
###Relational Database Service(RDS)
データベースの管理関係を自動で行うマネージドサービス。
※マネージドサービスとは、AWSが利用者に変わっていろんなことをすること。
・セキュリティのパッチ(修正プログラム)を定期的に実行。
・自動でバックアップ。
・マルチAZの配置
・フェールオーバーを自動で行う。
※フェールオーバー
データベースはメインとサブの二つを使うのが一般的。
普段はサーバとメインが接続している。
メインでたまったデータはサブにもコピーする。
そして、仮にメインが壊れた時、サブに切り替え、サーバとつなぐ。
この機能をフェイルオーバーという。
※エンドポイントとは
平たく言うと、URL。
データベースに接続するためのURL。DBインスタンスへアクセスするためのDNS名。
##自動化
###CloudFormation
デプロイを自動化。
デプロイとは、自分が作ったプログラムを本番環境にもっていくこと
設計図をテンプレートとしておく。CloudFormationが読み取って勝手につくってくれる。
##ネットワーク
###CloudFront
高速、安全、グローバルなコンテンツ配信ネットワーク
東京のS3のコピーを世界中のS3においておくサービス。
初めは該当するS3にデータを取りに行く。
次回から、コピーをエッジロケーションに置いておいて、データが欲しい時にはエッジロケーションに取りに行く。
アメリカにあるS3に20回取りに行く場合と、エッジロケーションを経由して20回アクセスした場合では、後者は速度が10倍ほど早くなる。
###Route53
ドメイン(URL)とIPアドレスの紐づけを行う。
DNSと同じような役割。
###Direct Connect
あるネットワークとAWSをつなぐ専用の経路を構築。
物理的な工事が必要。
顧客とAWSのみの専用なので、重要な情報も安全に送ることができる。
###VPC
利用者とAWSをつなぐ専用経路。これにより、重要な情報も安心して送れる。
<VPC関連用語>
・Public SubnetとPrivate Subnetという二つの部屋に分けることで、セキュリティを保っている。
publicにはEC2、PrivateにはDBサーバを置く。
・Internet Gatewayは外と通信をする出入口の事。サブネットからインターネットへ接続するためのゲートウエイ。
・ルートテーブルとは、通信経路の判断の設定に使用する。小部屋単位に通信できるかどうかを決める役目。
・セキュリティグループは、ファイアウォール。どんな通信を許可するかを決める。
###Elastic Load Balancing(ELB)
複数のインスタンスにトラフィックを分散する。
簡単に言うと、門番役。
この門番にアクセスすると、門番が処理の振り分けをインスタンスに行う。
##サーバーレス
###Lambda
サーバー管理なしでコードを実行する。
近年はクラウドなどの進歩により、サーバーレスで作ることができる。
(サーバーレスとは、サーバー管理が不要であるという意味。サーバー自体がいらないわけではない。)
準備に必要なのは、プログラムのコードだけ。
コードをLambdaにアップロードすれば、AWSが自動で管理してくれる。
###DynamoDB
最近人気のデータベース
RDSとは別の思想に基づいて作られた。
どんな規模にも対応する高速で柔軟なNoSQLデータサービス。
###SNS
サーバーレスのサービスの一種
メッセージを自動で複製し、あらかじめ登録されているサービスに配ってくれる。
システム側の内容を送ることでできる。
##セキュリティ
###AWSの責任共有モデル
AWSのセキュリティは、AWSだけが頑張るのではなく、お客さんもある程度守る必要があるという考え。
###IAM
認証:ユーザーの登録(IAMユーザー)など。
認可:操作の許可(IAMポリシーに基づいて、認可の操作)
###IAMロール
ヘルメットのようなシステム。あるS3をAさんが使いたいとする。S3・AさんそれぞれにIAMポリシーが設定されているが、このS3を使うときだけIAMロールを引き受けている(S3のヘルメットをかぶっている)時だけ、このS3にアクセスを切り替えられる。
###Inspector
AWSリリースのセキュリティを評価する。
###AWS Shield
DDosから守るシステム。
##コスト管理
###リザーブドインスタンス(RI)
予約して節約
###スポットインスタンス
AWSキャパシティーの中で誰も使っていない空きを最大90%オフで利用できる。
ただし、緊急で大容量が必要な人がいる場合、そちらを優先するため使えなくなることもある。