前回に引き続きAWSクラウドプラクティショナーについてです。
今回はAWSのコンピューティングサービスについて学習します。
コンピューティングサービス
- Amazon Elastic compute Cloud(EC2):Elasticとは弾力性があるという意味合いの言葉で、需要に応じて提供するサーバの能力を変化させることができる
- EC2の特徴:必要な時に必要な量だけ利用できる、従量課金制、世界中のリージョンから起動可能などこれ以外にも多数存在する
- 1インスタンス=仮想サーバ1台
- EC2の料金は次の3種類:EC2稼働、データ転送、ストレージ
- EC2の稼働料金はOS、リージョン、インスタンスタイプで異なり、1時間単位で課金され、Amazon Linux,Ubuntuでは秒単位で課金される。停止中は課金停止
- データ転送料金はリージョンの外へ転送時に発生、リージョンによって異なり、転送先がインターネット・他リージョンによっても料金が異なる、インターネットからEC2への転送は非課金
- 同じリージョン内でもAZが異なればデータ転送料金は発生
- ストレージ料金は厳密にはEBS(Amazon Elastic Block Store)の料金であり、1GBあたりプロビジョニングした料金が必要
- プロビジョニングとは確保した容量を指す
- 使い始めてから状況を確認した上でインスタンスタイプの変更も可能
- インスタンスタイプはファミリー、世代、サイズの3種類で表記され、性能が低ければコストも低くなるが、処理を早く完了させられるインスタンスの選択が良い
- ファミリーは用途、世代はバージョン、サイズはvCPU、メモリ、ネットワーク、ストレージの性能を指す
- EC2インスタンスはAMI(Amazon Machine Image)から起動する
- AMIはOS、アプリ、データの組み合わせであり、Amazonが用意しているものもあれば、利用者が作成することもでき、同じ構成のAMIを持つインスタンスを複数起動できる
- AWS Marketplaceでは、ソフトウェアやミドルウェアがインストールされた構成ずみのAMIが提供されている
- EC2インスタンスへのトラフィックはセキュリティグループで制御できる
- 1つのセキュリティグループを複数のインスタンスに設定することもできる
- EC2ではキーペアを使った認証を使い、これによりログインしてOSを管理者権限で操作できる
- Amazon Linuxではec2-user,Ubuntuではubuntuというユーザがキーペア使用ユーザとして初期設定されている
- EC2インスタンスには複数の料金オプションが用意されている:オンデマンド、リザーブド、スポット、Dedicated Hosts、ハードウェア戦友、Savings Plans
- ELS(Elastic Load Balancing)で、EC2インスタンスを複数のAZに配置し、ユーザからのアクセスを分散することで障害発生時でもシステム継続が可能
- ELBには3つのタイプがある
- Application Load Balancer:HTTP,HTTPSのリクエストの負荷分散を目的に選択する
- Network Load Balancer:HTTP,HTTPS以外のTCPプロトコルを使用する際に選択する
- Classic Load Balancer:以前のタイプのロードバランサ。以前の構成との互換性のために残されている
- ELBにはヘルスチェックの機能があり、対象として指定されたパスへの接続試行、正常なインスタンスに対するpingで確認できる
- インターネット向けでも内部向けでも作ることができ、IPアドレスがパブリックかプライベートかによって選択できる。
- 複数のAZに配置するようにELBを設定した場合、ELBのノードと呼ばれるインスタンスが複数発生して負荷分散するため、単一障害点にはならない
- クロスゾーン負荷分散という機能があり、複数のAZに負荷分散することでリソースの負荷を均等にすることができる
- Auto Scalingによってインスタンスの数を必要に応じて自動で変化させることができる
- Auto Scalingのように数の増減でのスケーリングを水平スケーリングと呼び、性能の変化させることを垂直スケーリングと呼ぶ
- 垂直スケーリングではインスタンスのサイズ変更によって調整する
- 設計変更が発生し、影響がないか検証が必要であり、変更時はサーバ単位の停止も起こる
- スケーリングによりインスタンスは増減を繰り返すため、EC2インスタンスに情報を持たせないステートレスな設計にされる
- アプリの設定変更に伴いAMI、起動設定、Auto Scalingグループの設定変更など複数の対応が必要となるが、ブートストラップという設計パターンがある
- AWS Lambdaは環境構築などが不要の、ソースコードを用意するだけでプログラムを実行できるサービス
- ソースコードはAWS CodeCommitなどのリポジトリでバージョン管理できる
- ECS(Amazon Elastic Container Service)はコンテナ管理を行うマネージドサービス
- Lightsailは仮想プライベートサーバ
- Batchはマネージド型のバッチ処理実行環境サービス
メモ
AWSの提供するサービスの詳細の部分になります。これまで以上に固有名詞が出てきて覚えるのも大変です。
実際に操作してみないとわからない部分もあるでしょうから、試験前に重点的に確認しておくべきかもしれません。
参考書籍
学習にあたり、以下の書籍を使用しています。
実際に受験する際には、より詳しい内容を読むことができるので購入をお勧めします。
こちらはテキストです。サービス体系や試験の内容が変わっている可能性が高いので、
これに加えてAmazonが無料で提供するWebの学習コンテンツにも触れておくと合格率が高まります。
こちらは模擬問題集です。試験2回分の問題量があります。
やはり実際の問題形式に触れることができるという点でメリットは大きいです。
こちらも試験内容が更新されている可能性が高いので、やはりWebの学習コンテンツを利用した方が良いと思われます。
また、模擬問題集はKindle Unlimitedの対象です。
こちらに登録することで模擬問題集を無料でダウンロードすることができます。
月額1000円必要ですが、月に2冊も読めば十分元は取れるでしょう。
この機会に読書を習慣づけることも兼ねて利用をお勧めします。
2020年8月14日現在、初月0円、2ヶ月で99円のキャンペーンが行われておりお得ですし、もちろん私自身も以前から登録しています。
次はストレージサービス
次回はAWSのストレージサービスについてです。
コメント