コンピューティング
AWSコンピューティングサービスについての備忘録
サービスの概要・特徴・料金などを簡潔(できれば)に記載します。
Amazon EC2(Amazon Elastic Compute Cloud)
概要
安全でサイズ変更可能なコンピューティング性能をクラウド内で提供するウェブサービス
特徴
- AZサービス
- ウェブサービスのインターフェイスを使用して、さまざまなオペレーティングシステムのインスタンスを起動できる
- オンデマンド・リザーブド・スポットの3料金体系
- オンデマンド料金においてAmazon Linux、Ubuntuは、秒単位(最小60秒)の課金
Amazon EC2 スポットインスタンス
概要
EC2インスタンスをオンデマンド料金と比べ最大 90% の割引価格で利用できるインスタンス
特徴
- Amazon EC2 Auto Scaling の統合
- ワークロードの停止/休止と再開
- スポットインスタンスの中断 2 分前に発行される終了通知機能
- 永続リクエスト
- Amazon EMR との統合
- Amazon CloudFormation の統合
- Amazon ECS の統合
ユースケース
- ワークロードが途中中断しても問題ないケース
- ビッグデータと分析
Amazon EC2 Auto Scaling
概要
アプリケーションの可用性を維持するうえで役立ち、お客様が定義した条件に応じて EC2 インスタンスを自動的に追加または削除できる
特徴
- リージョンサービス
- Amazon CloudWatch メトリクスに基づいて動的にスケールすることができる
- 定義したスケジュールに従って予測どおりにスケールすることができる
- 動的スケーリングと予測スケーリングを一緒に使用すると、迅速にスケールできる
スケーリングできるリソース
- Amazon EC2 インスタンス
- Amazon EC2 スポットフリートのインスタンス
- ECS サービス
- DynamoDB テーブルまたはグローバルセカンダリインデックスで、プロビジョニングされている読み込みおよび書き込みキャパシティー
- Aurora リードレプリカ
手動スケーリング
Auto Scaling グループの希望する容量を更新したり、Auto Scaling グループにアタッチされているインスタンスを更新
スケジュールに基づくスケーリング
スケジュールに基づいたスケーリングにより、予想可能な負荷の変化に対する独自のスケーリングスケジュールを設定
動的なスケーリング
- Target tracking scaling
- 特定のメトリクスのターゲット値に基づいて、グループの現在の容量を増減
- Step scaling
- アラーム超過のサイズに応じて変動する一連のスケーリング調整値 (ステップ調整値と呼ばれる) に基づいて、グループの現在の容量を増減
- Simple scaling
- 1 つのスケーリング調整値に基づいて、グループの現在の容量を増減
Amazon SQS に基づくスケーリング
Amazon Simple Queue Service (Amazon SQS) キューの需要の変化に応じて Auto Scaling グループをスケールする
Amazon EC2 Container Registry
概要
完全マネージド型の Docker コンテナレジストリです。このレジストリを使うと、開発者は Docker コンテナイメージを簡単に保存、管理、デプロイできます
特徴
- Amazon Elastic Container Service の統合
- Docker のサポート
Amazon Elastic Container Service(Amazon ECS)
概要
Docker コンテナをサポートする拡張性とパフォーマンスに優れたコンテナオーケストレーションサービス
特徴
- AWS が独自開発したコンテナ管理サービス
- AWS Fargate のサポート
- Docker のサポート
- コントロールプレーン
- データプレーンは、EC2とFargate
Amazon Elastic Kubernetes Service
概要
可用性が高く、スケーラブルで安全な Kubernetes サービス
特徴
- マネージド型 Kubernetes コントロールプレーン
- データプレーンは、EC2のみ
Amazon Lightsail
- 仮想プライベートサーバーを起動および管理
AWS Batch
- あらゆる規模でバッチジョブを実行
AWS Elastic Beanstalk
- ウェブアプリを実行および管理
AWS Fargate
- サーバーやクラスターを管理することなくコンテナを実行
AWS Lambda
概要
イベント発生時にお客様のコードを実行し、基盤となるコンピューティングリソースをお客様に代わって管理する、サーバーレスコンピューティングサービス
特徴
- 実際に使用したコンピューティング時間に対する料金のみ
- カスタムロジックを使って AWS の他のサービスを拡張することや、AWS の規模、パフォーマンス、セキュリティを活用して運用する自社のバックエンドサービスを作成することができる
- Lambda関数(ファンクション)、AWS Lambdaで実行するアプリケーション
- Java、Go、PowerShell、Node.js、C#、Python、Ruby のコードをサポート
- VPC内のリソースへインターネットを経由せずにアクセス可能
- 同時実行数は、セーフガードとしてアカウントに対してデフォルト1,000となる。実績に応じて制限緩和申請が可能
環境
- 64MBごとに128MBから3008MB間で設定可能
- タイムアウトの最大900秒(15分)まで設定可能
制限
- インバウンドネットワーク接続はブロックされる
- アウトバウンドはTCP/IPとUDP/IPソケットのみ
- ptraceシステムコールはブロックされる
- TCP25番ポートのトラフィックはブロックされる
AWS Outposts
- AWS インフラストラクチャをオンプレミスで実行
AWS Serverless Application Repository
- サーバーレスアプリケーションを検索、デプロイ、公開する
VMware Cloud on AWS
- カスタムハードウェアを使用せずにハイブリッドクラウドを構築