はい、3ぃさんです
インフラエンジニアになって3年目にしてようやくAWSの案件に入ることができたので、AWSの勉強やっていきたい
AWS初学者やインフラエンジニア1年目の方向けのつもりで、ちょっと前の私向けに記録していくよ
AWSとはクラウドのサービス
AWSとはインフラの各機能を提供するクラウドのサービス
クラウドとはなんぞってことは↓で解説しているのでぜひみてね
サーバやデータベース、ロードバランサーやDNS、VPCなどのインフラを実現するために必要な各機能をブロック単位で提供し
AWSのサービス上で、必要な分を組み合わせて自分の好きな構成で構築できる
AWSで用意されている機能は200以上ありざっと以下のようなサービスが提供されている
| サービスの種類 | サービス例 | サービス概要 |
| コンピューティング | EC2、Lambda | サーバなどのコンピューティング処理をするサービス |
| ストレージ | S3、EBS | データを保存するハードディスクのような役割をするサービス |
| ネットワーキング | VPC、Route53 | 仮想のネットワークを作ってAWSへの接続を提供するサービス |
| データベース・分析 | RDS、DynamoDB | 複数のタイプの DBが用意されており、データ分析のサービスも提供されている |
| セキュリティ | GuardDuty、KMS | AWSのインフラやアプリケーションのセキュリティを強化するサービス |
| マネジメント | IAM、CloudWatch | ID管理やモニタリングをするサービス |
| アプリ結合・連携 | SNS、SQS | メッセージング処理、データの連携をするサービス |
| 移行と移転 | AWS ADS、AWS DMS | Officeやデータセンターの環境からインフラ、データを移行するサービス |
| AWSコスト管理 | Cost Explorer、AWS Budgets | AWS上のコストを確認したり、予測、見積もりをするサービス |
| 開発支援 | CodeCommit、CloudFormation | AWS上でアプリケーションを開発してデプロイするようなサービス |
その他最新テクノロジーも提供されている
これらの機能を持ったサービスを選んで連携させて必要なサービスを構築が可能
それぞれのサービスの内容や構築方法は今後学習していく予定なのでぜひ一緒に勉強してね
AWS グローバルインフラストラクチャ
はじめに
AWSのインフラストラクチャについて
最初説明受けたときはなんのためにそうなっているのかって視点が全く持てなくて
なんで私はこの説明を受けているんだろう ってなっていた記憶があるので
ざっくり説明すると
要は、物理的なサーバが東京にだけどどーんとあるとそこで東京直下地震とか起きて
サーバが壊れてしまったときに
そこで構築していたあらゆるサービスが使えなくなる危険があるわけだ
だってそこにしかないんだもの
そうなると困るのでAWSは工夫して、いろんなとこ
例えば東京だけじゃなくて、世界中にデータセンタ(サーバたくさんあるとこ)を作ってるよ
地震だけじゃなくて他にも危険いろいろあるから、他の危険とか考えて、でもより良いサービスにするためにどうしたらいいか考えたよ
そのためにこんなことしてるよ
AWSでインフラ構築するときはその辺意識して作ってくれないと困っちゃうよ
ってことで一番最初に教わることが多いんだけど
その前提が超初心者だとわからないから
なんかAWSのデータセンタいっぱいあるんだな よくわかんないけど。。。で終わっちゃったんだよね
AWSインフラの構成要素
| リージョン | 東京リージョン、バージニア北部リージョンなど各地域に配置している この中に複数のAZが配置されている |
| AZ (アベイラビリティゾーン) | 基本的なサービスが配置されている 一つ以上のデータセンタで構成されている |
| エッジロケーション | コンテンツ配信をするデータ配信用のサーバが設置されている場所 |
AWSはこれらの構成を更新し続けているため、最新の情報はAWSグローバルインフラストラクチャを確認してね
リージョン
データセンターが集積されている物理的なロケーションのこと
AWSでは北米、南米、欧州、中国、アジアパシフィック、南アフリカ、中東など、複数の地理的なリージョンを整備している
→アジアパシフィックでは東京リージョン、大阪ローカルリージョン、香港リージョンなどがある
各リージョンは1つの地理的エリアにある、隔離され物理的にも分離された複数のAZによって構成される
1つのリージョンにはユーザが利用可能なAZが2つ以上で構成される
その中でユーザが選択できないAZもあり、3つ以上のAZが存在する
最小構成だとこんな感じかな↓

地震など災害発生した際に、二つのリージョンが一度に被災することを防ぐため
リージョンとリージョンはある一定以上離れていることが求められる

また、リージョンによって価格や利用可能なサービスが異なる

バージニア北部で最新のサービスがリリースされても
東京リージョンにすぐにリリースされないという差がある
アベイラビリティゾーン
1つ以上のデータセンターで構成されており、AWSリソースを提供するサーバが設置されている

AZによって、単一のデータセンターでは実現できない高い可用性、耐障害性、および拡張性を備えた本番用システムの運用が可能になる
つまり、1つのAZ(A)に3ぃさんのサービスを作っていたら

たまたまAZ(A)のところに隕石落ちてきて壊れちゃったよってなったときに
3ぃさんのサービスはなくなってしまうんだよ涙

でも、AZ(B)にも実はおんなじ情報あったよって場合は
3ぃさんのサービスを復旧できるわけだ

厳密には、ちょっと違うけど、いろんなところでサービスを分けて構築することで耐障害性を上げるって考え方であちこちにデータセンタがあるんだね
同じリージョンにある各AZはそれぞれ他のAZから物理的に意味のある距離(数キロメートル)がありつつ、100㎞以内に配置されている らしい
ただ、分けて構築して耐障害性を上げることは必要だけど
AWS上で単一AZ内でしか共有されない情報があり、AZ間で連携するための設定などを入れる必要があることも構築の際には気をつけなければならない
エッジロケーション
AWSのAZを構成するデータセンタとは別にコンテンツ配信を実行する高速・広帯域なネットワークロケーションのこと
要は、なるべくユーザに近いネットワークでアクセスを提供するためのサービス
近いことで早く安定したアクセスを実現できる らしい
まとめ
AWSには、複数のサービスがあるよ
それらのサービスを提供するデータセンタが日本にもあるし、世界中にいくつもあるよ
それらのデータセンタはAWS上でリージョンやAZという単位、グループで配置されているよ
AWSで構築する際には、リージョンやAZを選択する場合もあるので
構築する際にはリスクに備えて、それぞれの構成の意味を考えて設計を行う必要があるよ
一応意識しておいてねって内容でした
次回からAWSのサービスごとに学んだことをまとめていくよ
ぜひみてね
んでわ



コメント