ホーム
Sponserd by↑転職したい人向け、ベンチャー企業の採用動画があります

簡単な言葉でAWSの主要なサービスを説明してみる

こんにちは。

2ヶ月間放置したブログなのですが、サービスリリースに合わせて触らざるを得なかったAWSについて書いていきます。

この記事の対象は、

○AWSのサービスにイマイチピンときてない人 ○全く知らない人

かなと思います。

EC2ってなんやねん

(仮想的に作られた)サーバーです。

仮想的っていうところがイマイチピンとこないと思うのですが、別に知らなくても良いです。

ようするに「何でも屋」です。

LaravelもRailsも使えるし、ファイルも置ける、データベースも、重い変換処理も、全部この中で実行させることができます。

大抵の場合、フロントマンとしてユーザーと直に繋がる部分(ユーザーが見てる部分)を担当することになると思います。

大事なことは、

○ CPU・メモリを後で増やすことが簡単 ○ 複製が簡単

ということです。

ユーザーの同時接続が増えて、処理が遅いと感じたらすぐに強く出来る、サーバーを増やせるということです。

ハイパーミニマムスタートするなら、EC2+S3でスタートすれば良いと思います。

S3ってなんやねん

ファイル置き場です。

シンプルストレージサービス略してS3。

AWSを使うのであれば、とりあえずファイルは全てこの中に入れるように作れば良いと思います。

逆に特別な理由があるときにEC2に保存して、溜めずに削除する仕組みにすべきだと思います。

RDSってなんやねん

データベースです。

EC2にもデータベースを置くことは出来ますが、その部分をこっちに担当させるということです。

データベースサーバーは別で用意した方が良い点があって

○データベースの処理がボトルネックになっている場合ここを強くすれば良い

ってことです。

最小でも2000円かかる部分なので、ミニマムスタートであれば着けなくても良いかもです。

ロードバランサー(ALB)ってなんやねん

EC2を複数台にして負荷分散させるやつです。

AさんはEC2(A)、BさんはEC2(B)に振り分けるのを自動でやってくれるやつです。

ターゲットグループでEC2を指定すればすぐ反映されるので、増やすのも、一時的に外すのも簡単に出来ます。

Lambdaってなんやねん

呼ばれたときだけ起きる仮想サーバー

EC2は常に働いているのに対して、lambdaは呼ばれたときだけ起きて作業してまた眠ります。

「作業の時間に対して課金が発生」します。

EC2の一部の処理をこっちで担当させたり、サーバーレスアプリで「サーバーがあったら楽なのに」部分を担当させたりできます。

RDSと連携するにはRDS proxyを使わないと使い物にならないので別途約1500円かかります。

EBSってなんやねん

外付けハードディスクのことです

AWSの場合、増やしたり減らしたりが簡単です。

EC2やRDSで見かけると思います。

Route53ってなんやねん

ドメインとかIPとか設定するやつ

住所みたいな感覚だと思います。

ドメインをALBとかEC2とかにくっつけたいときに使うやつです。

Certificate Managerってなんやねん

SSL(Https化)したいときに使うやつ

「証明書の発行」みたいな言い回しになるみたいですが、つまりHttps化したいときに使うやつです。

最初はALBやCloudFrontに使う可能性が高いかなと思います。

CloudFrontってなんやねん

データをキャッシュ化させて通信容量を減らすやつ。通信する方向を変えるやつ。

難しい。説明が難しい。

普段 ユーザー→EC2→S3 でファイルを取ってきたところを、

ファイルの情報をキャッシュ化してCloudFrontにおいておくと、ユーザー→CloudFrontっていう手順で持ってこられます。

強そうなエンジニアが「それCDN化したほうがよくない?」って言ってきたらコレです。

セキュリティグループってなんやねん

この人は味方ですよ、と教えてあげるやつ

このEC2とこのRDSは味方だから接続を許可するっていうのを設定する場所です。

基本的に全解放するのは、ユーザーが使える部分になります。つまり、ALBか(ALBを使わない場合は)EC2かCloudFrontになるのでは?と思います。

このセキュリティグループを「動いた!」と言って全解放しまくるのは良くないということです。

例えば、EC2に接続する方法をssh+IPに設定した方が良いとか。

接続エラーは大体この設定が間違っている感じになりますが、多分最初はみんな慣れるのが大変だと思います。

IAM(ロール)ってなんやねん

サービスを触って良い人を指定するやつ

EC2担当官に対して、EC2のどの機能を触って良いかを指定してログイン用のIDとパスワードを渡すのを指定する部分になります。

ムズイ。

他には、AWSと外部サービスを連携するときに使います。

外部サービスのシークレットにIDとパスワードを保存させて、それを参照して接続を許可するみたいな、そういう設定をする場所です。

ムズイです。

SESってなんやねん

サーバーからメールを送信したい人が使うやつ

メール送信したいなら、使うことになると思います。

VPCってなんやねん

セキュリティで頑張りたいやつ

仮想プライベートネットワークのことなのですが、「同じVPCを指定してないサービスからは接続をしない」みたいなことをするところです。

CloudWatchってなんやねん

ログを出すやつ

EC2はEC2内でログを出せるのですが、Lambdaのようなサービスはこっちにログが出ます。

CodeDeployってなんやねん

デプロイの自動化で使うやつ

デプロイ作業を人がやるとミスる可能性があるので、自動化させるやつです。

ソースを書く→ビルドする→テストする→デプロイ→監視→上手く稼動したら前のやつは削除

こんな感じのやつに使います。

この記事が分かりやすいです。

https://aws.amazon.com/jp/builders-flash/202005/awsgeek-ci-cd/

まとめ

ざっくりとした説明でした。

気になった部分はぜひ掘り下げてみてください!