AWSの特徴&料金&設定方法&評判(Amazon Web Service)
- はじめに
- 公式情報
- AWSの全般的な特徴&評判
- AWSのSLA(サービス稼働レベル保証)
- クラウドデザインのベストプラクティス
- AWSのコツ
- AWSアカウントを作成したらまずする事
- AWSのユーザー管理: IAM(Identity & Access Management)
- コマンドラインツールの活用
- AWSのネットワーク(VPC/Subnet)の設定
- AWSのサーバーの立ち上げ
- ドメイン周り
- ロードバランサーの設定
- ドメインとELBの結びつけ
- RDS(データベース)の設定
- s3の設定
- AWSのサーバータイプの種類
- AWSサービス一言まとめ
- AWSの無料枠
- ずっと無料
- Amazon DynamoDB
- AWS Lambda
- Amazon SNS
- Amazon CloudWatch
- Amazon Chime
- Amazon Cognito
- Amazon Glacier
- Amazon Macie
- Amazon SES
- Amazon SQS
- Amazon SWF
- AWS CodeBuild
- AWS CodeCommit
- AWS CodePipeline
- AWS Database Migration Service
- AWS Glue
- AWS Key Management Service
- AWS License Manager
- AWS Step Functions
- AWS Storage Gateway
- AWS Well-Architected Tool
- AWS X-Ray
- アカウントを開設後12ヶ月無料
- Amazon EC2
- Amazon S3
- Amazon RDS
- Amazon API Gateway
- Amazon Cloud Directory
- Amazon CloudFront
- Amazon Connect
- Amazon EFS
- Amazon Elastic Block Storage
- Amazon Elastic Container Registry
- Amazon Elastic Transcoder
- Amazon ElastiCache
- Amazon Elasticsearch Service
- Amazon GameLift
- Amazon Lex
- Amazon MQ
- Amazon Pinpoint
- Amazon Polly
- Amazon Rekognition
- Amazon Sumerian
- Amazon Transcribe
- Amazon Translate
- AWS Amplify Console
- AWS Data Pipeline
- AWS Greengrass
- AWS IoT
- AWS IoT Device Management
- AWS OpsWorks for Chef Automate
- AWS OpsWorks for Puppet Enterprise
- Elastic Load Balancing
- AWS IoT Events
- AWS IoT Things Graph
- ずっと無料
はじめに
ここでは、Amazonが提供しているクラウドプラットフォームのAWS(Amazon Web Servuce)について解説して行きます。
Publicクラウドの比較一覧についてはPublicクラウド比較一覧表をご参照下さい。
AWSのVPSにあたるAmazon Lightsailについては別にページがあるのでそちらをご参照下さい。
なお、この記事の筆者は、昔シンガポールにいた時に英語でAWSの資格試験を受けて、AWS Certified Solutions Architect – Associate Level
を取得しました。
AWSの資格試験には以下の様なものがあります。
勉強がてらに受けてみるのも悪くないかと思います。
尚、AWSの資格には有効期限があり、更新するのは面倒だなと感じるかもしれませんが、確かにPublicクラウドは進化が速いので、数年経つと昔の知識のままでは十分な知識とは言えなくなり易いです。
自分のお金だと何度も同じ資格を更新するのは気が重くなりますが、会社がその費用を出してくれるのならば、何度も受けて更新する価値はあるかと思います。
また、技術レベルのキャッチアップを期待する企業側にとってもプラスの行為になるでしょう。
公式情報
AWSの全般的な特徴&評判
これはAWSに限らずのPublicクラウドの特徴も含まれていますが、以下の様な点が挙げられます。
良い点
– Publicクラウドとして先行しており、機能が他に比べ多く、また機能の増加速度も速い。
– 冗長性・拡張性・対障害対策の昨日が充実しており、大規模システムを志向してPublicクラウドを使うのならば、インフラと機能の規模と費用的に選んで間違いがないサービスと言える
– 企業の多くが使っているので、AWS障害は度々世を騒がしますが、AWSが落ちたのなら仕方ない、と、皆と一緒だから大丈夫的な振る舞いが、立場的には可能になる
– 利用者が多いことによる規模の経済効果
L より多くの情報が他Publicクラウドサービスに比べ得やすい
L より多くの連携サービスが利用し易い
L 技術者を採用する時に、既に使っているインフラ(この場合はAWS)の知見を持っている技術者を採用し易く、スムーズに仕事に入って貰い易い
悪い点
– 日本のクラウド・VPS・レンタルサーバーと違い、ネットワークに課金があり、そこが結構高い
– 読み書きの回数、転送量、等々、費用の計算要素が細かく、複雑
– 利用した量に応じて課金されるので、ループ等バグや、ハッカーによる仮想通貨マイニング用乗っ取りが原因で、莫大な料金が請求されるという、所謂クラウド破産的な課金事故が見聞される
– 便利だがManagedサービスを中心に、特有の機能を使えばAWSから他クラウドサービスへの移行が難しくなるという、ベンダーロック度合いが高まってしまう
AWSのSLA(サービス稼働レベル保証)
AWSのサービス稼働レベルは
同一リージョン内の複数のDCにサーバを分散させ使うMulti AZ設定で99.99%
単一サーバで99.0%
となっています。
通常VPSより高価なPublicクラウドを使う理由は、高可用性による信頼度の確保の為になるので、基本的にはMulti AZ利用の設定でシステムを構成しましょう。
クラウドデザインのベストプラクティス
AWS Well-Architected
どのようなクラウド環境・サービス構成にするかは、AWSにはAWSのベストプラクティス的なものがあります。
AWSではこれを
AWS Well-Architectedフレームワーク
として提供しています。
運用上の優秀性
設計原則
– 運用をコードとして実行する
– 小規模かつ可逆的な変更を頻繁に行う
– 運用手順を定期的に改善する
– 障害を予想する
– 運用上のすべての障害から学ぶ
定義
– 組織
– 準備
– 運用
– 進化
セキュリティ
設計原則
– 強力なアイデンティティ基盤の実装
– トレーサビリティの実現
– 全レイヤーでセキュリティを適用する
– セキュリティのベストプラクティスを自動化する
– 伝送中および保管中のデータの保護
– データに人の手を入れない
– セキュリティイベントに備える
定義
– セキュリティ
– Identity and Access Management
– 検出
– インフラストラクチャ保護
– データ保護
– インシデント対応
信頼性
設計原則
– 障害から自動的に復旧する
– 復旧手順をテストする
– 水平方向にスケールしてワークロード全体の可用性を高める
– キャパシティーを推測することをやめる
– オートメーションで変更を管理する
定義
– 基盤
– ワークロードアーキテクチャ
– 変更管理
– 障害の管理
パフォーマンス効率
設計原則
– 最新テクノロジーの標準化
– わずか数分でグローバル展開する
– サーバーレスアーキテクチャを使用する
– より頻繁に実験する
– システムに対する精通の程度を考慮する
定義
– 選択
– レビュー
– モニタリング
– トレードオフ
コスト最適化
設計原則
– クラウド財務管理の実装:
– 消費モデルを導入
– 全体的な効率を測定する
– 差別化につながらない高負荷の作業に費用をかけるのをやめる
– 費用を分析および属性化する
定義
– クラウド財務管理を実践する
– 経費支出と使用量の認識
– 費用対効果の高いリソース
– 需要を管理し、リソースを供給する
– 経時的な最適化
図表で見るベストプラクティス
Independency(疎結合化)
VPCをセキュリティとして明確に独立させ、セキュリティを独立担保させる。
例えば、セオリー通りに
1) Production(本番環境)
2) Staging(検証環境)
3) Development(開発環境)
4) Management(管理用環境)
の4つのVPCを作った場合には、それぞれが通信できないようにして、セキュリティを担保する。
VPCの下にあるサブネットを
1) Public
↓
2) Private
↓
3) Secure
の関係でのみアクセスできるsubnetのセキュリティ設定も、基本となります。
Maitainability(メンテのし易さ)
AWSのマネージドサービスを活用する事で、運用の手間を減らす。
残念な事でもありますが、AWS固有の機能を使うことによるVendor lock(他社サービスに乗換え辛くなる事)を恐れていては、AWSの様なPublicクラウドを活用する意義は大きく損なわれるでしょう。
Scalability(拡張性)
Auto scale等を活用し、ニーズに応じて伸縮自在性なインフラ構成にする。
Aavailability(可用性)
あらゆるものはいつでも壊れる前提で設計する。
Multi-AZ DB(RDS)配置:データを複数AZに同期保存し,障害発生時に自動切り替えさせる
DB: 随時バックアップを作り、万が一の時はそこからリカバリー出来る様にしておく
Visibility(可視化)
ログは「捨てるか正義」 から 「貯めるが正義」 へ
Rcoverability(復旧容易性)
Replicapability(コピー容易性)
新規PJやdev、stgなども、一度構築した資産を活用して、ぱぱっと立ち上げれるようにしておきましょう。
Portability(移動容易性/切替容易性)
本番環境とそうでない環境を簡単に切り替えられるようにしておきましょう。
AWSのコツ
AWS特有のセキュリティ
– 管理画面のログインにデバイスによる2重認証(他にも1人は管理者権限レベルのユーザーを渡す様にして人の冗長性も忘れずに!)
– IAM = Identity and Access Management
– VPC = Virtual Private Cloud
– Security Group
は基本となります。
それぞれ何か分からない方は、十分学んで、セキュリティ対策に活用しましょう。
その上で、AWSとの責任分担モデルを理解し、AWSの必ず設定すべきセキュリティポイントはおさえた上で、AWSでカバー出来ない所は自社でカバーしに行って、抜けが無いようにしていきましょう。
管理画面へのログイン、Webサーバーへの接続、DBへの接続等レイヤは複数あるので、それぞれのレイヤとするべき事をきちんと整理して考えておくようにしましょう。
AWS特有のストレージの使い分け
– EBS
– s3
– Elastic File System
といったストレージの種別がありますが、アクセス速度、冗長性の度合い、特性、価格を把握して、適切に使い分けましょう。
AWS特有のOSを使うかどうか
AWSでインフラを構築し切るつもりなら、RHE系派生のAmazon Linuxが良い…と思っていましたが、段々とソフトのバージョン遅れが目立ってきました。
今なら自分はUbuntuを選びます。
Infrastructure as a Code(インフラをプログラミングする)
再現性を担保する為、出来るだけ、管理画面からの設定ではなく、設定スクリプトを活用して設定していきましょう。
それを支援するためのAPI・ツールがAWSは充実しています。
AWSアカウントを作成したらまずする事
MFA(Multi-Factor Authentication)認証の設定
最初に作ったアカウントは最上位の権限を持っているので、スマホを使ったMFA(Multi-Factor Authentication)認証の設定もしておきましょう。
管理画面の自分のアカウントのところをクリックして、セキュリティ設定を選んで、設定をしていきます。
MFAの設定は、どのユーザーもして貰う様にしておきましょう。
AWSのアカウントが乗っ取られると、仮想通貨のマイニングに活用され、クラウド破産と言われる位、大きく課金されてしまいます。
なお、後述するIAMで新しくユーザーを作り、基本的にはこの最初のユーザ(ルートユーザー)は使わない様にしていきます。
ログインURLのカスタマイズ
IAMで入った画面の上部に、ログインURLが表示されていますが、覚えづらいURLになっているので、自社名を入れたりして、分かり易いURLにカスタマイズしておきましょう。
ルートユーザー以外でも請求書情報を設定によっては見れる様にする
右上の自分の名前をクリック > アカウント > IAM ユーザー/ロールによる請求情報へのアクセス > 編集 > 「IAM アクセスのアクティブ化」をチェックして更新
をして、IAMの設定で、他ユーザーも請求情報にアクセスできる様にしましょう。
利用量に応じて課金金額が増えていくので、コストの把握も、エンジニア側でも必要になります。
AWSのユーザー管理: IAM(Identity & Access Management)
公式文章: https://aws.amazon.com/jp/iam/
説明
IAMは利用開始時から活用するように。
グループ・ポリシーの設定には、良い設計が必要。
フェーズの進行に従って、定期的に最適な構成が何か、というのは見直しましょう。
最初のAWSコンソール画面から入るのは、AWSルートアカウントという急所のアカウントになるので、基本はそちらは使わず、それとは別にそれぞれユーザーアカウントを作って、適宜権限調整をしていく事になります。
IAMのベストプラクティス
– AWSアカウントのルートユーザーアクセスキーをロックする
– 個々のIAMユーザーを作成する
– IAMユーザーへのアクセス許可を割り当てるためにグループを使います。
– 最小限の特権を認める。
– AWS 管理ポリシーを使用したアクセス許可の使用開始
– インラインポリシーではなくカスタマー管理ポリシーを使用する
– アクセスレベルを使用して、IAM アクセス許可を確認する
– ユーザーのために強度の高いパスワードポリシーを設定する。
– MFAの有効化
– Amazon EC2 インスタンスで実行するアプリケーションに対し、ロールを使用する
– ロールを使用してアクセス許可を委任する
– アクセスキーを共有しない
– 認証情報を定期的にローテーションする。
– 不要な認証情報の削除
– 追加セキュリティに対するポリシー条件を使用する。
– AWSアカウントのアクティビティの監視
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/best-practices.html
が参考になる。
グループの作成と設定
例えば
Admin
Billing
Developer
Designer
Tester
を作って、それぞれに必要なポリシーを割り当てましょう。
例えば
AdminsにはAdministratorAccess、Billing
BillingにはBilling
の権限を付与します。
IAM > アクセス管理 > グループ > 新しいグループの作成
で作成します。
ポリシーの作成
MFA(スマホ等デバイスによる2重認証)を追加されるユーザーに強制出来る様にポリシーを作っておきましょう。
ユーザーを作る時にこのポリシーを選んで適用させていきます。
強制用のPolicy
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListActions", "Effect": "Allow", "Action": [ "iam:ListUsers", "iam:ListVirtualMFADevices" ], "Resource": "*" }, { "Sid": "AllowIndividualUserToListOnlyTheirOwnMFA", "Effect": "Allow", "Action": [ "iam:ListMFADevices" ], "Resource": [ "arn:aws:iam::*:mfa/*", "arn:aws:iam::*:user/${aws:username}" ] }, { "Sid": "AllowIndividualUserToManageTheirOwnMFA", "Effect": "Allow", "Action": [ "iam:CreateVirtualMFADevice", "iam:DeleteVirtualMFADevice", "iam:EnableMFADevice", "iam:ResyncMFADevice" ], "Resource": [ "arn:aws:iam::*:mfa/${aws:username}", "arn:aws:iam::*:user/${aws:username}" ] }, { "Sid": "AllowIndividualUserToDeactivateOnlyTheirOwnMFAOnlyWhenUsingMFA", "Effect": "Allow", "Action": [ "iam:DeactivateMFADevice" ], "Resource": [ "arn:aws:iam::*:mfa/${aws:username}", "arn:aws:iam::*:user/${aws:username}" ], "Condition": { "Bool": { "aws:MultiFactorAuthPresent": "true" } } }, { "Sid": "BlockMostAccessUnlessSignedInWithMFA", "Effect": "Deny", "NotAction": [ "iam:CreateVirtualMFADevice", "iam:EnableMFADevice", "iam:ListMFADevices", "iam:ListUsers", "iam:ListVirtualMFADevices", "iam:ResyncMFADevice" ], "Resource": "*", "Condition": { "BoolIfExists": { "aws:MultiFactorAuthPresent": "false" } } } ] }
ユーザーの追加
IAM > アクセス管理 > ユーザー > 新しいユーザーの作成
で、ユーザーを追加する。
API/CLIの利用を許すのならば、
プログラムによるアクセス
をチェックしておく。
その次の画面で、そのユーザーが所属するグループを選んで進めていく。
MFA(スマホ等デバイスを使っての2重認証)のポリシーを適用するのも忘れずに。
ユーザー作成完了した画面で、CLIアクセス用の情報をダウンロードして、利用するユーザーと共有するのも忘れないでおきましょう。
また、アカウントのログイン情報は、パスワードをコピーして、そのユーザーにメールで送信する必要があります。
そして、ログインした後にパスワードを自分変更してもらいます。
IAMで作ったユーザーへのログイン画面の提供
IAMでユーザーを作ったといっても、ログインする画面はAWSのアカウントを作ったものと同じではありません。
他の方も使っていると考えるとユーザーIDにはユニーク性がないですからね。
「Identity and Access Management」
をクリックしたら出てくる、「IAM ユーザーのサインインリンク」という所に書いてあるURL、
または、右上からサポート→サポートセンター
と行って、そこに表示されるアカウント番号を使って、
https://アカウント番号.signin.aws.amazon.com/console
で作るURLが、IAMのユーザーのログイン画面として使えます。
新たに追加したIAMのユーザーには、IDと仮に設定したパスワードと合わせて、そのURLの情報を共有しましょう。
また、自分の方でも、どこにメモしておきましょう。
プロバイダの設定
これを活用する事で、SAML経由でのActive Directory / LDAPとの連携とかが出来るようになる筈です。
CLI(コマンドラインインターフェース)での設定
ここは後述する
コンソール画面からではなく、後述するCLI(コマンドラインインターフェース)から設定する場合には以下のようにやります。
・IAMのグループ生成
aws iam create-group --group-name Admins;
・グループの確認
aws iam list-groups;
で確認。
・ポリシーの適用
aws iam attach-group-policy --group-name Admins --policy-arn arn:aws:iam::aws:policy/AdministratorAccess
・ポリシーの適用状況の確認
aws iam list-attached-group-policies --group-name Admins
・グループの削除(本当に必要なのを消さないように)
aws iam delete-group --group-name Admins;
・「ican」というユーザーを追加
aws iam create-user --user-name ican
・「ican」というユーザーを「Admins」グループに追加
aws iam add-user-to-group --user-name ican --group-name Admins;
・「ican」というユーザーのアクセスキーを作成
aws iam create-access-key --user-name ican;
・ユーザー一覧確認
aws iam list-users;
コマンドラインツールの活用
コンソール画面からサービスの利用・設定は出来ますが、コマンドラインでも使えるようにしておくと、スクリプト化に便利なので使ってみましょう。
インストール
公式文章: https://aws.amazon.com/jp/cli/
にOS毎のインストール方法が書いてあるので、その手順に従ってインストールしましょう。
設定
それから、管理画面で、AWS CLIを使う為に必要な情報を得ましょう。
ユーザーを作る時に使った認証情報を入力していきます。
まず使いたいユーザーについて、IAMの画面でユーザーを選んで、アクションからアクセスキーの作成を選んで、後で入力する情報を入れておきます。
インストールが終わったら以下のコマンドを打ちます。
aws configure
以下のような事が聞かれるので、IAMでダウンロードしたCLI利用用のCSVの情報を参照しながら入れていきます。
AWS Access Key ID [None]: ... AWS Secret Access Key [None]: ... Default region name [None]: ap-northeast-1 Default output format [None]: json
後、結果がJSONで返ってきますが、それをパースして見易くする為、macだったら
brew install jq;
CentOSだったら
sudo dnf install jq;
と打って、jqというソフトを入れておきましょう。
また、EC2をコマンドラインから作成する為には、EC2の画面に行って、左メニューから「キーペア」を選んで、キーペアを作って、.pemファイルを保存しておきます。
このファイルを使って、自分が作ったEC2サーバーに後で入れるようになります。
AWSのネットワーク(VPC/Subnet)の設定
プライベートIPアドレスの範囲
まず
Productoin
Staging
Development
Management
用のVPCを作りましょう。
なお、所謂プライベートのIPアドレスの範囲は
クラスA: 10.0.0.0~10.255.255.255 (10.0.0.0/8)
クラスB: 172.16.0.0~172.31.255.255 (172.16.0.0/12)
クラスC: 192.168.0.0~192.168.255.255 (192.168.0.0/16)
となり、その範囲で設定します。
通常その範囲で作れば問題ありませんが、他のアカウントの環境ともVPC経由同士でローカル通信をさせたい場合には、ローカルIPアドレスの重なりを避ける必要があります。
VPCとサブネットの設定
ネットマスクとサブネットと結果入れることが出来るホスト数は以下の様な関係になります。
ネットマスクとサブネットの関係を見ながら設定する。
IP/CIDR | ネットマスク | ホスト数 |
---|---|---|
a.b.c.d/32 | 255.255.255.255 | 1 |
a.b.c.d/31 | 255.255.255.254 | 2 |
a.b.c.d/30 | 255.255.255.252 | 4 |
a.b.c.d/29 | 255.255.255.248 | 8 |
a.b.c.d/28 | 255.255.255.240 | 16 |
a.b.c.d/27 | 255.255.255.224 | 32 |
a.b.c.d/26 | 255.255.255.192 | 64 |
a.b.c.d/25 | 255.255.255.128 | 128 |
a.b.c.0/24 | 255.255.255.000 | 256 |
a.b.c.0/23 | 255.255.254.000 | 512 |
a.b.c.0/22 | 255.255.252.000 | 1,024 |
a.b.c.0/21 | 255.255.248.000 | 2,048 |
a.b.c.0/20 | 255.255.240.000 | 4,096 |
a.b.c.0/19 | 255.255.224.000 | 8,192 |
a.b.c.0/18 | 255.255.192.000 | 16,384 |
a.b.c.0/17 | 255.255.128.000 | 32,768 |
a.b.0.0/16 | 255.255.000.000 | 65,536 |
自分は例えば以下の様な設定で構築しています。
VPC (Production): 10.0.0.0/21
L Subnet (Public1): 10.0.0.0/24
L Subnet (Private1): 10.0.1.0/24
L Subnet (Secure1): 10.0.2.0/24
L Subnet (Admin1): 10.0.3.0/24
L Subnet (Public2): 10.0.4.0/24
L Subnet (Private2): 10.0.5.0/24
L Subnet (Secure2): 10.0.6.0/24
L Subnet (Admin3): 10.0.7.0/24
VPC (Staging): 10.0.8.0/21
L Subnet (Public1): 10.0.8.0/24
L Subnet (Private1): 10.0.9.0/24
L Subnet (Secure1): 10.0.10.0/24
L Subnet (Admin1): 10.0.11.0/24
L Subnet (Public2): 10.0.12.0/24
L Subnet (Private2): 10.0.13.0/24
L Subnet (Secure2): 10.0.14.0/24
L Subnet (Admin2): 10.0.15.0/24
VPC (Development): 10.0.16.0/21
L Subnet (Public1): 10.0.16.0/24
L Subnet (Private1): 10.0.17.0/24
L Subnet (Secure1): 10.0.18.0/24
L Subnet (Admin1): 10.0.19.0/24
L Subnet (Public2): 10.0.20.0/24
L Subnet (Private2): 10.0.21.0/24
L Subnet (Secure2): 10.0.22.0/24
L Subnet (Admin2): 10.0.23.0/24
VPC (Management): 10.0.24.0/21
L Subnet (Public1): 10.0.24.0/24
L Subnet (Private1): 10.0.25.0/24
L Subnet (Secure1): 10.0.26.0/24
L Subnet (Admin1): 10.0.27.0/24
L Subnet (Public2): 10.0.28.0/24
L Subnet (Private2): 10.0.29.0/24
L Subnet (Secure2): 10.0.30.0/24
L Subnet (Admin2): 10.0.31.0/24
セキュリティグループの設定
Public用途のSubnetは80と443だけネット側には開け、
PrivateのSubnetはPublic側からのアクセスだけポート開けて、
SecurityはPrivateからのアクセスだけポートを開けて、
それに加えAdmin Subnetからは他Subnetへのアクセスが出来、特定のIPアドレスからのsshアクセスも許容させ、入り口・管理用として使う。
AWSのサーバーの立ち上げ
キーペアの設定
ec2 > ネットワーク&セキュリティ > キーペア
でまずキーペアを作りましょう。
AWSでキーペアを作って、それをダウンロードして使うのもありですが、自分の今使っているものを使いたい場合には
アクション > インポート
で表示される画面で、
~/.ssh/id_rsa.pub
の中身を貼り付けて、保存する形でキーを登録しましょう。
そうすると、そのキーが最初からrootユーザーに組み込まれた形で、サーバーを立ち上げられる様になれ、簡単にログインが可能になります。
ec2サーバーの種別の選択と設定と立ち上げ
まず、管理画面の右上のリージョンを確認して、自分が利用を希望するリージョンになっているかどうかを確認した上で作業を開始しましょう。
日本国内にサーバーを設けたいのなら、「東京」が選ばれている必要があります。
ステップ1 AMI の選択
)。
OSはLinux系でAWSメインでインフラを構築していくのなら、Amazon Linuxがお勧めです。
コスパを優先するのなら、CPUがARMのタイプを選びましょう。
なお、インスタンスのスペックは後で変更する事は可能ですが、x64系ならx64系、ARM系ならARM系の種別でしかスペック変更は出来ないので、その点後悔しない選択をする様にしましょう。
ステップ2 インスタンスタイプの選択
選ぶサーバーとしては、ec2のt2 microが初めてアカウントを作った時の無料対象なので、お試しor初めてなら、それを活用する所から初めてみましょう。
無料トライアル対象に2021/01時点でなっているt4g.microもあり。
実際、コスパはt4gの方が高いという数値がAWSからは示されています。
立ち上げられるサーバーの種類は色々ありますが、一般的にコスパを優先してトライから始めるのなら、バースト機能依存の難しさはありますが、t系が候補になるかと思います。
種別 | vCPU | ECU | メモリ (GiB) | インスタンスストレージ (GB) | Linux/UNIX の料金 |
t4g.nano | 2 | 該当なし | 0.5 GiB | EBS のみ | 0.0054USD/時間 |
t4g.micro | 2 | 該当なし | 1 GiB | EBS のみ | 0.0108USD/時間 |
t4g.small | 2 | 該当なし | 2 GiB | EBS のみ | 0.0216USD/時間 |
t4g.medium | 2 | 該当なし | 4 GiB | EBS のみ | 0.0432USD/時間 |
t4g.large | 2 | 該当なし | 8 GiB | EBS のみ | 0.0864USD/時間 |
t4g.xlarge | 4 | 該当なし | 16 GiB | EBS のみ | 0.1728USD/時間 |
t4g.2xlarge | 8 | 該当なし | 32 GiB | EBS のみ | 0.3456USD/時間 |
t3.nano | 2 | 変数 | 0.5 GiB | EBS のみ | 0.0068USD/時間 |
t3.micro | 2 | 変数 | 1 GiB | EBS のみ | 0.0136USD/時間 |
t3.small | 2 | 変数 | 2 GiB | EBS のみ | 0.0272USD/時間 |
t3.medium | 2 | 変数 | 4 GiB | EBS のみ | 0.0544USD/時間 |
t3.large | 2 | 変数 | 8 GiB | EBS のみ | 0.1088USD/時間 |
t3.xlarge | 4 | 変数 | 16 GiB | EBS のみ | 0.2176USD/時間 |
t3.2xlarge | 8 | 変数 | 32 GiB | EBS のみ | 0.4352USD/時間 |
t3a.nano | 2 | 変数 | 0.5 GiB | EBS のみ | 0.0061USD/時間 |
t3a.micro | 2 | 変数 | 1 GiB | EBS のみ | 0.0122USD/時間 |
t3a.small | 2 | 変数 | 2 GiB | EBS のみ | 0.0245USD/時間 |
t3a.medium | 2 | 変数 | 4 GiB | EBS のみ | 0.049USD/時間 |
t3a.large | 2 | 変数 | 8 GiB | EBS のみ | 0.0979USD/時間 |
t3a.xlarge | 4 | 変数 | 16 GiB | EBS のみ | 0.1958USD/時間 |
t3a.2xlarge | 8 | 変数 | 32 GiB | EBS のみ | 0.3917USD/時間 |
t2.nano | 1 | 変数 | 0.5 GiB | EBS のみ | 0.0076USD/時間 |
t2.micro | 1 | 変数 | 1 GiB | EBS のみ | 0.0152USD/時間 |
t2.small | 1 | 変数 | 2 GiB | EBS のみ | 0.0304USD/時間 |
t2.medium | 2 | 変数 | 4 GiB | EBS のみ | 0.0608USD/時間 |
t2.large | 2 | 変数 | 8 GiB | EBS のみ | 0.1216USD/時間 |
t2.xlarge | 4 | 変数 | 16 GiB | EBS のみ | 0.2432USD/時間 |
t2.2xlarge | 8 | 変数 | 32 GiB | EBS のみ | 0.4864USD/時間 |
ステップ3 インスタンスの設定
VPCとサブネットは、今まで設定したものを、用途に合わせて選びます。
Webサーバの本番用なら、上の設定だと、VPCはProd、サブネットはPrivateを選びます。
サブネットは、Privateならどれでも良いですが、2台目は1台目と異なるサブネットを選ぶ=DCが異なる、をする事で、冗長性を担保しましょう。
自動割り当てパブリックIPは有効を選びましょう。
設定ではプレイスメントグループは、複数台でシステムを構築するのならば、通常物理的に独立した領域に分散されるspreadを選ぶと良いでしょう。
各サーバーの通信速度を最小限にしたい場合には、clusterを選択しましょう。
Hadoop、Cassandra、Kafkaと言った協調型大規模分散システムの場合には、partitionを選びましょう。
IAMのロールは、今特にセットするものがなくても、何かしら作って割り当てておいて、あとで権限調整を出来る様にしておきましょう。
クレジット仕様は「無制限」を選んでおきましょう。これを設定していないと、クレジットを使い果たすと、サーバーの性能が大幅にダウンします。
ステップ4 ストレージの追加
ディスクの種類と容量を調整します。
速度にそれ程ニーズがなければ、汎用SSDのままで良いでしょう。
容量は後から増やすのは簡単ですが、減らすのは大変というところもあるので、実験的に始める時には最小容量8GBで始めて、状況に応じて増やしていっても良いでしょう。
無料枠でやりたい場合には、そこに表示される無料枠の容量を超えない様な設定にする様に気をつけましょう。
ストレージの追加では、終了時にストレージを削除する設定にするかどうかは、自分の用途に合わせてよく考えた上で決めましょう。
後で消す事が出来るので、迷うならチェックボックスをOffにしておきましょう。
ステップ5 タグの追加
設定しなくても良いですが、後々サーバーをフィルタする時に役立ちます。
自分は
Environment
PJ
Role
といった値を設定しています。
ステップ6 セキュリティグループの設定
既に設定済みの適切なセキュリティグループを選びましょう。
Public領域にLoad Balancerを置き、Private領域にWebサーバーを置く構成にするのなら、Private領域用の設定を選びます。
ステップ7 確認と作成
表示されている情報に誤りがないか確認してサーバーを立ち上げましょう。
なお、作成を押すと、キーを選ぶポップアップが出てくるので、ここで既に登録済みのキーを選びましょう。
これにより、そのキーを登録してあるPCからこれから立ち上げるサーバーにSSHログインが出来る様になります。
なお、外部からsshログインに使うアカウントIDはOS毎に異なるので気をつけましょう。
Amazon Linux 2 または Amazon Linux AMI の場合は、ユーザー名は ec2-user
CentOS AMI の場合、ユーザー名は centos
Debian AMI の場合は、ユーザー名は admin
Fedora AMI の場合、ユーザー名は ec2-user または fedora
RHEL AMI の場合は、ユーザー名は ec2-user または root のどちらか
SUSE AMI の場合は、ユーザー名は ec2-user または root のどちらか
Ubuntu AMI の場合は、ユーザー名は ubuntu
ssh -l ec2-user 作ったサーバーのPublic IPアドレス
Elastic IPとの紐付け
Elastic IPと紐付けをしていないと、インスタンスを停止して、再起動するとPublic IPアドレスが変わってしまいます。
これは外部からのアクセス時に/etc/hostsなどでIPとそのインスタンスを紐づけていると面倒な事になります。
そういう場合にはElastic IPと紐付けた方が良いという事になりますが、Elastic IPアドレスに紐付けたインスタンスは稼働させていないのと、Elastic IP自体も課金されてしまうので注意して下さい。
逆に言えば、Elastic IPと紐付けてるインスタンスを稼働させている限りElastic IPアドレスは無料なので、恒常的に動かし、外部からアクセスするサーバーの場合には紐付けておきましょう。
一番合理的なのは、1台だけ紐付けておいて、後はそのサーバーを踏み台に、後はPrivate IPアドレスの方でアクセスするのが、セキュリティ・ネットワークコスト的にも良いという事にはなりますが。
2台目以降の立ち上げ
用意されてるAMI(Amazon Machine Image)からのサーバーの立ち上げをここではしていますが、2台目からは、基本的には既存のサーバーのAMIから作り始めた方が良いです(OS updateで時間がかかったり+そこで消費する帯域分、余計なお金がかかってしまうので)。
立ち上げた一台目のサーバーを色々触ってある程度完成したら、後続のサーバー立ち上げにも使える様に、AMIをAWSのec2の管理画面で該当サーバーを選んでから右上のメニューで
アクション > イメージとテンプレートの作成 > イメージを作成
と選んで、そこからAMIを作りましょう。
暫くするとAMIが出来、それを選んで、同じ状態のサーバー立ち上げが出来る様になります。
これはオートスケールやサーバー障害時のリカバリーでも必要になるので、新たな版をリリースする時には、その後にAMIを作るというフローを入れておくと良いでしょう。
ドメイン周り
ドメインの取得
ドメインの取得自体は、AWS以外でやった方が安くなるので、
===============
例
.jp ドメイン
スタードメインだと2360円
AWSだと$90
ドメイン価格比較は
最安ドメイン比較
を参照
===============
出来たらドメインは別サービスで取得して、DNSサーバーだけAWSの方は使う様な設定にしましょう。
Route 53に取得したドメインを追加
Route 53に取得したドメインのhosted zoneを追加します。
そしたらNSレコードが表示されるので、そこに表示されているネームサーバーを、ドメインレジストラの設定画面の方で、使うネームサーバーとして指定しましょう。
証明書の作成
Certificate Managerで、取得したドメインに対してのSSL証明書を作ります。
基本的には楽をする為
*.ドメイン名
とサブドメインを全てカバーするワイルドカード証明書を作りましょう。
途中Route53にレコードを作りますか、というのは、全て対応して作っていきましょう。
ロードバランサーの設定
ロードバランサーの種類の選択
基本的には機能が一番高度なApplication Load Balancerを選べば良い。
ルールを定義することで、このドメインの時はこのサーバー群にトラフィックを流すといった設定が出来るので、便利。
手順1 ロードバランサーの設定
Webシステムならリスナーとしてhttpsとhttpのポートを開けておこう。
プロダクション用途なら
VPCはProd用
サブネットはPublic用
のを選ぼう。
手順2 セキュリティ設定の構成
Certificate Managerで作った証明書を選んで設定しよう。
手順3 セキュリティグループの設定
public用途のセキュリティグループを選ぼう。
手順4 ルーティングの設定
インスタンスを対象にしてターゲットグループを設定する。
インスタンス側にはHTTP(80)で会話させる。
手順5 ターゲットの登録
インスタンスを選んで追加する
手順6 確認
結果を確認して、問題なければ、作成ボタンを押す。
ドメインとELBの結びつけ
設定方法
Route53の画面に行き、ホストゾーン > ドメイン を選択
レコードを作成
を押して、ウィザードに切り替えるを選択
シンプルなレコードを定義を選び、作成したロードバランサーを設定する。
障害時のFail over設定
本来ならLoad Balancerのターゲットグループ内で、落ちたインスタンスが勝手に落ちてくれるのがベストですが
・それが何らかの理由で出来ない場合
・異なるLoad BalancerやクラウドサービスでFail loverさせたい場合
には、DNSレベルでのFail Over処理をする必要があります。
なお、その場合、ドメインとIPレコードの結びつけを短くしたいですが、Route 53の最小は60秒です(設定上はそれ以下で設定できますが60秒より小さくは実際にはならない)。
NSレコードを選んで、そこで設定出来る数値に60を設定します。
ホストレコードは色々なタイプがありますが
・フェイルオーバー
を選びます。
同じホストレコードに対して2つレコードをその上で作ることになりますが
片方をプライマリー
片方をセカンダリー
にして
・プライマリーの方はヘルスチェックをオン
・セカンダリーの方はヘルスチェックをオフ
と選びます。
なお、ヘルスチェックのルールも、それに合わせて短くなるように設定します。
テストとしては、プライマリーのDNSに紐づいているサーバー(LB)の方をダウンさせ、60秒程のダウンの後、セカンダリーに紐づけられたサーバーに繋がって復活する事を確認すれば、OKです。
なお、ドメインからTTLの設定状況を確認したい場合には
“`
dig +nocmd +noall +answer +ttlid A $ドメイン名
“`
で確認する。
TTLの秒数自体は、どんどん減っていってループする形なので、60になるのは何度もコマンドを叩いていって、0になった直後に増える時にコマンドを打つことで確認できる。
Route 53でのレコード一覧
プライマリー設定したDNSレコード
セカンダリー設定したDNSレコード
Route53のヘルスチェックの設定
RDS(データベース)の設定
オプショングループとパラメーターグループの設定
値は今は変えないにせよ、後で変えれる様に、先に独自のオプショングループとパラメーターグループを作って、DBを作る時にそれを指定出来る様にしましょう。
パラメーターグループでは、以下の設定はしておきましょう
MySQL8の場合
default_collation_for_utf8mb4
の値が
utf8mb4_0900_as_ci
になっていますが、これだと
てぃ==てい==でい
が成り立ってしまうので
utf8mb4_general_ci
を選びましょう。
ここは、そもそもデータベース・テーブルを作る時に指定すれば良いので、もし間違えていてもアプリ側で問題解決すれば問題ないですが(+もっと多くの選択肢を得られる)。
また、日本語での検索を可能にする為
ft_min_word_len = 2
もセットしておきましょう。
なお、全てのテーブルの文字コードを後から変更したい場合には
例えば
character=utf8mb4
collate=utf8mb4_unicode_ci
に変更したい場合は
SELECT CONCAT("ALTER TABLE `", TABLE_NAME,"` convert to character set utf8mb4 collate utf8mb4_unicode_ci;") AS mySQL FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA="$データベース名" AND TABLE_TYPE="BASE TABLE";
で表示されるSQLをコピーして実行しましょう。
またデータベースの方も
alter database データベース名 character set utf8mb4 collate utf8mb4_unicode_ci;
といった形で変更しておきましょう。
DBの種別の選択
Auroraを選ぶかRDSを選ぶか。
そもそもアプリのDB要件で、まずは判断。
Auroraの方がそうではないRDSに比べてDBの対応範囲が種類・バージョン共に少ないので、アプリの要件をDBがAuroraも満たしていれば、初めてどちらにするか悩むという事になります。
性能的にはAurolaの方が良いという事にはなりますが、RDSの方が安いので、より多くの料金を払うだけのメリット・許容幅があるかどうかは、まず大きな判断材料になります。
DBの設定
RDSの設定は
– 標準作成
– 簡単作成
がありますが、簡単作成だと、重要な設定ポイントが抜けてしまうので、標準作成で作りましょう。
DBのバージョンはSelectboxをクリックして、最新版を選ぶ様にしましょう。
適切なVPCを選び、セキュリティグループはDB用のSecureなセキュリティグループを選びましょう。
アベイラビリティゾーン(AZ)は、Webサーバーが1台なら、Webサーバーと同じAZを選びましょう。
追加設定をクリックして、自分が作った
– DBパラメータグループ
– オプショングループ
を設定しましょう。
ログのエクスポートでは
– エラーログ
– スロークエリログ
を選んでおきましょう。
「マイナーバージョン自動アップグレードの有効化」は、設定を推奨されているとはいえ、適用される時にDBが落ちるので、個人的にはOFFを選びます。
メンテナンスウィンドウ(=自動更新)の時間はUTCで表記されているので、日本時間で考えるには -9時間 して設定をして下さい。例えば月曜日の3:00 AMに適用されたいのなら、UTC時間では日曜日の20:00を選びます。
暗号化は、それによるパフォーマンスダウンも気になるかとは思いますが、してなければPublicクラウドベンダーの内部の人がDiskを直読み取りできてしまい、それで中身が読めてしまう可能性も生まれてしまうので、出来れば暗号化しておきましょう。
一般的に速度の低下はそこ迄でもないとは言われています。
書き込み用DBと読み込み用DBを分け負荷分散をするにはリードレプリカの作成が有効です。
勿論、アプリ側もそこの適切な使用分けが必要&コストが更にかかりますが。
リードレプリカを置く所は、それが一台ならば、「ネットワーク通信速度+DC間通信費用避け」と「DC冗長性の為DC間通信+速度低下も厭わない」のどちらをとるかという事になりますが、ひとまずは主となるWebサーバー+マスターのDBの組と同じZoneにして置く様にしています。
問題なければここでDBの作成を押します。
s3の設定
AWSが提供するObject Storageというファイルシステム。
特徴としては
– 容量あたりの単価が安い
– 1リクエストではファイルを全て読み込む(頭から必要な所まで読んで、というファイルには向いていない。全て読み込む画像とかに最適)
– AWSに管理はお任せのマネージド型のファイルシステム
– 競合もs3互換のAPIを提供してる
という特徴があります。
バケットという入れ物を作り、そこに対するアクセス権限を設定していくことになります。
シークレットキーでアクセスさせるという方法もありますが、
サーバー側からアクセスさせる場合にはIAMで特定のロールを持たせたサーバーはs3にアクセスできるといった、サーバー自体への権限認定が一番オペレーション上楽かと思います。
バケット名は他ユーザーとも重なる事ができないので、一番楽なのは自分だけが使っていて識別し易いもの、ということで、自分の場合はドメイン名を使っています。
この名付けのルールは、静的ファイルをs3経由で提供する時に役だったりします。
SES(Simple Email Service)の設定
route53で使える様にしたドメインからメールを遅れる様に設定していく。
メール送信の為のDNSレコードの設定を、自動的にガイドしながら作ってくれるのが、一つの大きなメリット。
後は、デフォルト状態だと、一日200通、毎秒1通しか送れないという制限がかかってしまっているので、その解除申請をするメールを送るのを忘れない様に。
メール送信には、メール送信に使うIAMユーザーのCredentialを使うが、既存のユーザーではなく、メール送信専用のIAMユーザーを作って、設定するのが良いでしょう。
AWSのサーバータイプの種類
汎用
汎用インスタンスは、バランスの取れたコンピューティング、メモリ、ネットワークのリソースを提供し、多様なワークロードに使用できます。
利用検討の基本となるサーバー種別群となる
A1 | 包括的な Arm エコシステムによってサポートされるスケールアウト型の Arm ベースのワークロードに最適で、大幅なコスト削減を実現 |
T4g | CPUクレジット制。Arm ベースの AWS Graviton2 プロセッサを搭載していて、T3 インスタンスよりも最大40%高いコストパフォーマンスを発揮 |
T3 | CPUクレジット制 |
T3a | CPUクレジット制。T3より10%程コスパが良いと言われてる |
T2 | CPUクレジット制。インテルXeonプロセッサ |
M6g | ArmベースのAWS Graviton2プロセッサを使用。価格/性能比は現世代のM5インスタンスよりも最大40%向上 |
M5 | Intel Xeon® Platinum 8175M プロセッサを搭載した最新世代の汎用インスタンス |
M5a | AMD EPYC 7000 シリーズプロセッサを搭載した最新世代の汎用インスタンスです。M5a インスタンスは、同等のインスタンスタイプに比べて最大 10% のコスト削減を実現 |
M5n | 持続的な全コアターボ CPU 周波数最大 3.1 GHz、最大シングルコアのターボ周波数最大 3.5 GHz を備えた第 2 世代インテル Xeon スケーラブルプロセッサ (Cascade Lake) の搭載 |
M4 | M5の前世代 |
コンピューティング最適化
コンピューティング最適化インスタンスは、高パフォーマンスプロセッサの恩恵を受けるコンピューティングバウンドなアプリケーションに最適
C6g | ArmベースのAWS Graviton2プロセッサを使用。現在の世代のC5インスタンスよりも最大40%高い料金パフォーマンスを提供 |
C5 | 低いコンピューティングあたりの価格率でコスト効率性が高い優れたパフォーマンスを実現 |
C5a | 幅広いコンピューティング集中型ワークロード向けに、優れた x86 のコストパフォーマンスを提供 |
C5n | C5n インスタンスの最大100Gbpsのネットワーク帯域幅および増量されたメモリは、C5インスタンスを凌駕 |
C4 | C5の前世代 |
メモリ最適化
メモリ最適化インスタンスは、メモリ内の大きいデータセットを処理するワークロードに対して高速なパフォーマンスを実現するように設計されています
R6g | ArmベースのAWS Graviton2プロセッサを使用。現在の世代のR5インスタンスよりも最大40%高い料金パフォーマンスを提供 |
R5 | vCPU ごとに R4 よりも 5% 多いメモリを提供し、最も大きいサイズでは 768 GiB のメモリが提供されます。さらに、R5 インスタンスは R4 と比較して GiB ごとの価格が 10% 低く、CPU パフォーマンスも最大 20% 高くなっています |
R5a | メモリバウンドワークロードに最適な最新世代のメモリ最適化インスタンスで、AMD EPYC 7000 シリーズプロセッサを搭載しています。R5a インスタンスは、同等のインスタンスよりも GiB メモリあたり最大 10% 低いコストを実現 |
R5n | より優れたネットワークスループットおよびパケット率パフォーマンスを活用できるアプリケーションにおいて理想的 |
R4 | R5の前世代 |
X1e | インスタンスタイプの中でもRAM 1GBあたりの価格が最も低いインスタンスの1つ |
X1 | インスタンスタイプの中でもRAM 1GBあたりの価格が最も低いインスタンスの1つ |
ハイメモリ | クラウドにおける SAP HANA の本番デプロイメントを含む、大規模なインメモリデータベースの実行専用に構築されています |
z1d | 高周波z1dインスタンスは、どのクラウドインスタンスよりも高速な最大4.0GHzの持続的な全コア周波数を提供 |
高速コンピューティング
高速コンピューティングインスタンスでは、ハードウェアアクセラレーター (コプロセッサ) を使用して、浮動小数点計算、グラフィックス処理、データパターン照合などの機能を、CPU で実行中のソフトウェアよりも効率的に実行します
P4 | 最大8つのNVIDIA A100 Tensor Core GPU |
P3 | 5120のCUDAコアと640のTensorコアがペアとなったNVIDIA Tesla V100 GPUを最大8つ提供 |
P2 | 汎用 GPU コンピューティングアプリケーション用に設計されています |
Inf1 | 最大 16 の AWS Inferentia チップ |
G4 | NVIDIA T4 Tensor Core GPUs |
G3 | 2048個の並列処理コアと8 GiBのビデオメモリが搭載された、NVIDIA Tesla M60 GPU |
F1 | フィールドプログラマブルゲートアレイ(FPGA)によるカスタマイズ可能なハードウェアアクセラレーションが提供 |
ストレージ最適化
ストレージ最適化インスタンスは、ローカルストレージの大規模データセットに対する高いシーケンシャル読み取りおよび書き込みアクセスを必要とするワークロード用に設計されています。ストレージ最適化インスタンスは、数万 IOPS もの低レイテンシーなランダム I/O オペレーションをアプリケーションに提供するように最適化されています。
I3 | 低コストで高いIOPSを実現 |
I3en | EC2 においてGBあたりの料金が最も安価 |
D2 | 最大48TBのHDDベースのローカルストレージが特徴となっていて、高いディスクスループットを実現しています。ディスクスループットパフォーマンスあたりの価格は Amazon EC2では最小 |
H1 | 最大16TBのHDDベースのローカルストレージを備えており、高ディスクスループット、およびバランスの取れたコンピューティングとメモリを実現 |
AWSサービス一言まとめ
多数のサービスがありますが、自分にとって役立ちそうなものだけまず見てみるのが良いでしょう。
全てを触れる必要はありません。
コンピューティング
- EC2
EC2=Elastic Compute Cloud、つまりはAmazonにおけるサーバ - Lightsail
設定・課金がよりシンプルなサーバ(=VPS) - Lambda
サーバーレスのリクエストベース課金のプログラム実行環境 - Elastic Load Balancer(ELB)
アプリケーションの着信トラフィックの複数の Amazon EC2 インスタンスへの自動分散 - Batch
バッチ処理をマネージドのサーバレス環境で行える - Elastic Beanstalk
デプロイ支援サービス - Serverless Application Repository
サーバーレスアプリケーション用のマネージド型リポジトリ - AWS Outposts
オンプレ等AWS以外の自前の所でAWSのサービス利用が物理的に可能になる - EC2 Image Builder
イメージ管理プロセスを自動化するためのワンストップショップ
ストレージ
- S3
安全性と耐久性を持つスケーラブルなオブジェクトストレージインフラストラクチャ - Elastic Block Storage(EBS)
汎用 (SSD) ストレージまたは磁気ストレージの任意の組み合わせ - Elastic File System(EFS)
EC2インスタンス用のシンプルでスケーラブルな共有ファイルストレージサービス - FSx
Windows用の共有ファイルシステム、高性能共有ファイルシステムであるLustreファイルシステムを使える - S3 Glacier
安全で耐久性に優れた長期的なオブジェクトストレージ - Storage Gateway
シームレスなローカルの統合と最適化されたデータ転送を備えた、ハイブリッドクラウドストレージ - AWS Backup
AWSのサービス全体でバックアップを集中管理および自動化
データベース
- RDS
MySQL、PostgreSQL、MariaDB、Oracle BYOL または SQL Server のためのマネージド型Relational Databaseサービス - DynamoDB
シームレスなスケーラビリティを備えた高速で柔軟なNoSQLデータベース - ElastiCache
インメモリキャッシュのデプロイ、運用、スケーリングをクラウド内で簡単に実行できるウェブサービス - Neptune
クラウド向けに構築された高速で信頼性の高いグラフデータベース - Amazon QLDB
透過的で変更・削除不可能かつ暗号的に検証可能なトランザクションログを提供するフルマネージド型台帳データベース。ログは信頼された中央機関が所有 - Amazon DocumentDB
高速でスケーラブルかつ高可用性の MongoDB 互換データベースサービス - Amazon Keyspaces
スケーラブルで可用性の高い Apache Cassandra 互換のマネージドデータベースサービス - Amazon Timestream
IoT および運用アプリケーションに適した、高速かつスケーラブルなサーバーレス時系列データベースサービスです。リレーショナルデータベースの最大1000倍の速度と10分の1のコストで、1日あたり数兆ものイベントを簡単に保存し、分析できます
移行と転送
- AWS Migration Hub
AWSへの移行を簡素化し高速化する - Application Discovery Service
オンプレミスデータセンターに関する情報を収集することにより、エンタープライズのお客様の移行プロジェクト計画を支援 - Database Migration Service
最小限のダウンタイムでデータベースを移行できるサービス - Server Migration Service
オンプレミスワークロードを AWS に移行する - AWS Transfer Family
SFTP、FTPS、FTP を使用した、Amazon S3 へのシンプルかつシームレスなファイル転送 - AWS Snow Family
エッジでデータを収集して処理し、AWS との間でデータを移行する、非常に安全なポータブルデバイス - DataSync
オンプレミスストレージシステムと AWS ストレージサービス間で、および AWS ストレージサービス間でのデータの移動を簡素化、自動化、および高速化するオンラインデータ転送サービス
ネットワーキングとコンテンツ配信
- VPC
AWS クラウド内で論理的に分離したセクションをプロビジョニングし、お客様が定義する仮想ネットワークで AWS リソースを起動できます - CloudFront
低レイテンシーかつ速いデータ転送速度で、エンドユーザーにコンテンツを配信するウェブサービス - Route 53
可用性と拡張性に優れたクラウドのドメインネームシステム (DNS) ウェブサービス - API Gateway
スケールを問わない API の公開、維持、監視、保護 - Direct Connect
AWSとデータセンター、オフィス、またはコロケーション環境との間にプライベート接続を確立することができます - AWS App Mesh
AWS App Mesh はアプリケーションレベルのネットワークを提供し、さまざまな種類のコンピューティングインフラストラクチャにわたり、お客様のサービスが相互に通信することを容易にするサービスメッシュ - AWS Cloud Map
クラウドリソース検出サービス - Global Accelerator
AWSのグローバルネットワークインフラストラクチャを介して、ユーザーのトラフィックを送信するネットワークサービスで、インターネットユーザーのパフォーマンスを最大 60% 向上できます
開発者用ツール
- CodeStar
継続的デリバリーのツールチェーン全体を数分で設定でき、コードのリリースをすばやく開始できます - CodeCommit
高度にスケーラブルなマネージド型ソースコントロールサービス - CodeArtifact
ソフトウェア開発のための安全かつスケーラブルで費用対効果の高いアーティファクト管理 - CodeBuild
クラウドでのコードの構築とテストを行う完全マネージド型構築サービス - CodeDeploy
コードデプロイを自動化してアプリケーションのアップタイムを管理する - CodePipeline
速度と信頼性に優れたアプリケーション更新を実現する継続的な配信サービス - Cloud9
コードを記述、実行、デバッグできるクラウドベースの統合開発環境 (IDE) - CloudShell
ブラウザーからAWSリソースへのShellでアクセスできる - X-Ray
アプリケーションの分析とデバッグ
ロボット工学
- AWS RoboMaker
クラウド規模でのロボット工学アプリケーションのシミュレートとデプロイ
サポート
- AWS IQ
オンデマンドのプロジェクト業務のために AWS 認定サードパーティーのエキスパートを探し出し、安全にコラボレーションし、支払いも済ませることができます - Managed Services
お客様に代わりAWSを操作することで、AWS Landing Zone のセキュリティとコンプライアンス、さまざまなコンプライアンスプログラムの要件 (HIPAA、HITRUST、GDPR、SOC、NIST、ISO、PCI) に準拠するために役立つ機能、実証済みのエンタープライズ運営モデル、継続的なコストの最適化、毎日のインフラストラクチャ管理を提供します - Activate for Startups
AWSクレジット、AWS サポートプランクレジット、およびトレーニングなどのさまざまな特典をスタートアップ企業に提供し、ビジネスの成長を支援します
ブロックチェーン
- Amazon Managed Blockchain
フルマネージド型のサービスで、一般的なオープンソースフレームワークである Hyperledger Fabric や Ethereum* を使用して、スケーラブルなブロックチェーンネットワークを簡単に作成し管理できます
衛星
- Ground Station
衛星通信のコントロール、衛星データの処理、衛星運営のスケーリングを可能にする完全マネージド型サービス
量子コンピューティング
- Amazon Braket
フルマネージド型の量子コンピューティングサービスであり、研究者やデベロッパーがテクノロジーの使用を開始し、研究と発見を加速するのに役立ちます
管理とガバナンス
- AWS Organizations
AWS リソースをスケーリングする際に、環境を一元管理および統制する - CloudWatch
AWSのクラウドリソースとアプリケーションをモニタリング - AWS Auto Scaling
パフォーマンスとコストを最適化するためのアプリケーションスケーリング - CloudFormation
Infrastructure as Code でクラウドプロビジョニングを高速化する - CloudTrail
ユーザーアクティビティと API 使用状況の追跡 - Config
AWS リソースの設定を評価、監査、審査できるサービス - OpsWorks
Chef や Puppet を使って運用を自動化する - Service Catalog
AWS 製品カタログを作成、整理、管理する - Systems Manager
AWSリソースの運用実態を把握して迅速に対応 - AWS AppConfig
Config管理の支援 - Trusted Advisor
AWS 環境を分析し、推奨ベストプラクティスを「コストの最適化」「パフォーマンス」「セキュリティ」「耐障害性」「サービスの制限」のカテゴリで提供します - Control Tower
新しいAWSアカウントを数クリックだけでプロビジョニングでき、しかもアカウントは貴社全体のポリシーに準拠しているという安心感が得られます - AWS License Manager
サードパーティーのライセンス使用の管理、検出、レポートのために事前にルールを設定する - AWS Well-Architected Tool
アーキテクチャをレビューし、AWS Well-Architected Tool を使ってベストプラクティスを導入する - Personal Health Dashboard
AWS 環境をモニタリング、管理、自動化、最適化するためのテクノロジーとツール - AWS Chatbot
Slack チャンネルや Amazon Chime チャットルームで AWS のリソースを簡単にモニタリングおよび操作できるようにしてくれるインタラクティブエージェント - Launch Wizard
3rd Partyのアプリの立ち上げ支援 - AWS Compute Optimizer
ワークロードに最適な AWS リソースを推奨し、機械学習を使って過去の使用率メトリクスを分析することで、コストを削減し、パフォーマンスを向上します - Resource Groups & Tag Editor
リソースのグループ化とタグ付けによる管理支援 - Amazon Grafana
複数ソースからのデータを視覚化して分析するためのスケーラブルでセキュアなオンデマンド Grafana ワークスペースを簡単に作成できる完全マネージド型サービス - Amazon Prometheus
監視サービスPrometheusの完全マネージド型サービス - AWS Proton
コンテナおよびサーバーレスアプリケーションのための初の完全マネージド型アプリケーションデプロイサービス
メディアサービス
- Kinesis Video Streams
分析、機械学習 (ML)、再生、およびその他の処理のために、接続されたデバイスから AWS へ動画を簡単かつ安全にストリーミングできるようになります - MediaConnect
高品質なライブ動画伝送サービス - MediaConvert
ブロードキャストグレードの機能を備えたファイルベースの動画変換サービス - MediaLive
高度なブロードキャスティング機能と高可用性を実現しながら、ライブイベントにも 24 時間年中無休のチャネルにも適したストリームを従量課金制の料金体系で簡単にセットアップできます - MediaPackage
インターネットデバイスに配信する動画の準備や保護を簡単に実行する - MediaStore
メディア向けに最適化された AWS ストレージサービス - MediaTailor
サーバー側の広告挿入を使って、ビデオコンテンツのパーソナライズと収益化を簡単に実行 - Elemental Appliances & Software
動画処理と配信用オンプレミスソリューション - Amazon Interactive Video Service
素早く簡単にセットアップできるマネージド型のライブストリーミングソリューションであり、インタラクティブな動画エクスペリエンスの作成に最適 - Elastic Transcoder
クラウドのメディア変換サービスです。高度なスケーラビリティ、使いやすさ、高い費用効率性を実現する完全マネージド型メディアトランスコーディングサービス
Machine Learning(機械学習)
- Amazon SageMaker
ML専用に構築された幅広い一連の機能をまとめて提供することにより、データサイエンティストとデベロッパーが高品質の機械学習 (ML) モデルを迅速に準備、構築、トレーニング、およびデプロイするのを支援 - Amazon Augmented AI
人による機械学習予測のレビューを簡単に導入 - Amazon CodeGuru
MLを活用した推奨事項を使用して、コードレビューを自動化し、アプリケーションのパフォーマンスを最適化 - Amazon Comprehend
機械学習を使用してテキスト内でインサイトや関係性を検出する自然言語処理 (NLP) サービス - Amazon Forecast
機械学習の経験なしで使用できる Amazon.com と同じテクノロジーに基づいた正確な時系列予測サービス - Amazon Fraud Detector
機械学習と20年を超えるAmazonの不正検出の専門知識を活用したフルマネージド型のサービスであり、潜在的な不正行為を特定して、お客様がより多くのオンラインの不正行為をより迅速に摘発できるようにします - Amazon Kendra
機械学習を原動力とする高精度のインテリジェント検索サービス - Amazon Lex
音声やチャットテキストに対応するチャットボットを構築 - Amazon Personalize
リアルタイムのパーソナライズされたユーザーエクスペリエンスを大規模かつより高速に作成 - Amazon Polly
文章をリアルな音声に変換するサービス - Amazon Rekognition
機械学習を使用して画像と動画の分析を自動化 - Amazon Textract
印刷されたテキスト、手書きの文字、およびデータを事実上すべてのドキュメントから簡単に抽出 - Amazon Transcribe
自動音声認識を使用した音声のテキスト変換機能をアプリケーションに追加 - Amazon Translate
高速で高品質な言語翻訳を手ごろな価格で提供するニューラル機械翻訳サービス - AWS DeepComposer
AWS DeepComposer キーボードを使うと、メロディがほんの数秒で完全にオリジナルな楽曲に変身します - AWS DeepLens
開発者のための深層学習対応ビデオカメラ - AWS DeepRacer
あらゆるレベルのデベロッパーがクラウドベースの 3D レーシングシミュレーターを使って機械学習を実践的に学べます - AWS Panorama
あらゆるカメラに機械学習技術を搭載するデバイス - Amazon Monitron
機械の状態モニタリングサービスで、潜在的な障害の検出、および開発中の誤りの追跡により、予知保全を実施し、予期しないダウンタイムを低減できます - Amazon HealthLake
医療従事者、健康保険会社、あるいは製薬企業などが、ペタバイト規模の医療データを保存、変換、クエリ、分析できるようにする、HIPAA適合のサービス - Amazon Lookout for Vision
コンピュータービジョン (CV) を使用して視覚表現の欠陥や異常を発見する機械学習 (ML) サービス - Amazon Lookout for Equipment
機器の異常な動作を検出する API ベースの機械学習 (ML) サービス - Amazon Lookout for Metrics
機械学習 (ML) を使用して、売上高や顧客獲得率の急激な低下など、ビジネスおよび運用の時系列データの異常 (標準からの外れ値など) を自動的に検出および診断
分析
- Athena
インタラクティブなクエリサービスで、Amazon S3 内のデータを標準 SQL を使用して簡単に分析できます - Amazon Redshift
データウェアハウス、運用データベース、およびデータレイクにあるペタバイト規模の構造化データと半構造化データを、標準的なSQLを使用してクエリおよび組み合わせることができます - EMR
Apache Spark、Hive、Presto、その他のビッグデータフレームワークを簡単に実行してスケール - CloudSearch
ウェブサイトやアプリケーションに豊富な検索機能を簡単に追加できます - Elasticsearch Service
完全マネージド型で安全かつスケーラブルなElasticsearchサービス - Kinesis
動画とデータストリームをリアルタイムで容易に収集、処理、分析 - QuickSight
スケーラブルでサーバーレス、組み込み可能な、機械学習を活用したクラウド向けのビジネスインテリジェンス(BI)サービス - Data Pipeline
データ駆動型ワークフローに対するオーケストレーション - AWS Data Exchange
クラウド内のサードパーティデータを簡単に検索、サブスクリプション、使用できるようになります - AWS Glue
簡単かつ柔軟でコスト効率の良い抽出、転送、ロード (ETL) のサービス - AWS Lake Formation
安全なデータレイクを数日で簡単にセットアップできるサービス - Managed Streaming for Apache Kafka(MSK)
完全マネージド型で可用性が高くセキュアな Apache Kafka サービス - AWS Glue DataBrew
データのクリーンアップと正規化を 80% 高速化できる視覚的なデータ準備ツールであり、ビジネスから得られる価値に、お客様がより集中できるようにするもの
セキュリティ、ID、およびコンプライアンス
- IAM
AWSのサービスとリソースへのアクセスを安全に管理 - Resource Access Manager
AWS のリソースを任意の AWS アカウントまたは AWS 組織内で簡単かつ安全に共有できるサービス - Cognito
ウェブアプリケーションおよびモバイルアプリに素早く簡単にユーザーのサインアップ/サインインおよびアクセスコントロールの機能を追加できます - Secrets Manager
ライフサイクルを通じてデータベース認証情報、API キー、その他のシークレットを簡単にローテーション、管理、取得する - GuardDuty
インテリジェントな脅威検出と継続的なモニタリングで AWS のアカウント、ワークロード、データを保護 - Inspector
自動化されたセキュリティ評価サービスにより、 AWS にデプロイされたアプリケーションのセキュリティとコンプライアンスの改善をサポート - Amazon Macie
機械学習とパターンマッチングを使用して AWS の機密データを検出して保護する、フルマネージドのデータセキュリティとデータプライバシーのサービス - AWS Single Sign-On
複数の AWS アカウントおよびビジネスアプリケーションへのシングルサインオン (SSO) アクセスを一元管理 - Certificate Manager
パブリックとプライベートの SSL/TLS 証明書を簡単にプロビジョニング、管理、デプロイして、AWS のサービスと内部接続リソースで使用 - Key Management Service
データの暗号化に使用される暗号化キーの作成と管理を容易にするマネージド型サービス - CloudHSM
AWS Cloud でのマネージド型ハードウェアセキュリティモジュール (HSM) - Directory Service
複数の階層を持つデータ向けの、完全マネージド型でクラウドネイティブなディレクトリ構築サービス - WAF & Shield
セキュリティ侵害、リソースの過剰消費といった一般的なウェブの脆弱性からウェブアプリケーションまたは API を保護するウェブアプリケーションファイアウォール - AWS Firewall Manager
多くのアカウント、アプリケーションにわたって中央でファイアウォールを設定、管理 - Artifact
AWSのコンプライアンスレポートにオンデマンドでアクセスできる無料のセルフサービスポータル - Security Hub
セキュリティアラートの一元的な表示および管理を行い、セキュリティチェックを自動化する - Detective
セキュリティデータを分析および視覚化して、潜在的なセキュリティ問題の根本原因を迅速に把握する - AWS Audit Manager
AWS の使用状況を継続的に監査して、リスクとコンプライアンスの評価方法を簡素化する - AWS Signer
AWS Lambda 用のコードの信頼性と整合性を確実にするためのフルマネージド型のコード署名サービス
モバイル
- AWS Amplify
フロントエンドウェブおよびモバイルのデベロッパーが、AWS によるスケーラブルなフルスタックアプリケーションをビルドできる - Mobile Hub
モバイルアプリの開発プロセスを支援 - AWS AppSync
GraphQL APIの開発を容易にする、完全マネージド型サービス - Device Farm
デスクトップブラウザーと AWS クラウドでホストされている実際のモバイルデバイスでテストすることにより、ウェブおよびモバイルアプリケーションの品質を向上 - Amazon Location Service
位置情報・地図系サービスを提供
拡張現実 (AR) とバーチャルリアリティ (VR)
- Amazon Sumerian
バーチャルリアリティ、拡張現実、および 3D アプリケーションの構築と実行
アプリケーション統合
- Step Functions
AWS Lambda 関数および AWS の複数のサービスを、ビジネスに不可欠なアプリケーション内に簡単に配列することができるサーバーレスの関数オーケストレーター - Amazon AppFlow
Salesforce、Marketo、Slack、および ServiceNow などの Software-as-a-Service (SaaS) アプリケーションと、Amazon S3 や Amazon Redshift などの AWS サービスとの間で、たった数回のクリックでデータを安全に転送できるフルマネージド統合サービス - Amazon EventBridge
独自のアプリケーション、統合 Software-as-a-Service (SaaS) アプリケーション、および AWS のサービスからのデータを使用して、アプリケーションを簡単に接続することを可能にするサーバーレスイベントバス - Amazon MQ
AWSでメッセージブローカーの設定や運用を簡単に行えるようにしてくれる、 Apache ActiveMQ および RabbitMQ 向けのマネージド型メッセージブローカーサービス - Simple Notification Service(SNS)
高速で柔軟な完全マネージド型のプッシュメッセージングサービス - Simple Queue Service(SQS)
コンピュータ間でやり取りされるメッセージを格納するためのスケーラブルなキュー - Amazon Simple Workflow(SWF)
クラウドアプリケーション用のタスクコーディネーションとステート管理サービス - Managed Workflows for Apache Airflow (MWAA)
AWSでApache Airflowのオープンソースバージョンを簡単に実行し、抽出、変換、読み込み (ETL) ジョブとデータパイプラインを実行するワークフローを構築可能な、フルマネージドサービス
AWS コスト管理
- AWS Cost Explorer
AWS のコストと使用量を経時的に可視化、把握、管理 - AWS Budgets
予算のしきい値を超えたときにアラートを発信するカスタム予算を設定 - AWS Marketplace Subscriptions
ビジネスを営むために必要なソフトウェアソリューションを検索、テスト、デプロイできる精選されたデジタルカタログ
カスタマーエンゲージメント
- Amazon Connect
あらゆる規模の顧客窓口を構築できるシンプルなクラウド型コンタクトセンター - Pinpoint
モバイルアプリケーション向けのターゲットプッシュ通知サービス - Simple Email Service(SES)
デベロッパーが任意のアプリケーションでメールを送信できるようにする、費用対効果の高い、柔軟でスケーラブルなメールサービス
ビジネスアプリケーション
- Alexa for Business
Alexaを仕事で使う - Amazon Chime
非常に優れた音声とビデオの品質を備えたフラストレーションフリーの会議を実現できます - WorkMail
セキュリティに優れた企業向け E メールおよびカレンダーのマネージド型サービスで、デスクトップとモバイルの既存のEメールクライアントアプリケーションに対応 - Amazon Honeycode
コードを記述せずにウェブ & モバイルアプリを構築
エンドユーザーコンピューティング
- WorkSpaces
マネージド型でセキュアなサービスとしてのデスクトップ (DaaS) ソリューション - AppStream 2.0
デスクトップアプリケーションを任意のコンピュータに安全に配信 - WorkDocs
コンテンツの作成、ストレージ、コラボレーション用の安全なフルマネージド型サービス - WorkLink
従業員が自分の携帯電話から社内のウェブサイトやウェブアプリケーションに安全かつ簡単にアクセスできるようにする、フルマネージド型サービス - IoT
デバイスをクラウドに接続 - IoT Core
デバイスを簡単かつ安全にクラウドに接続します。数十億個のデバイスと数兆件のメッセージを確実にスケールします - FreeRTOS
低電力小型エッジデバイスのプログラミング、デプロイ、保護、接続、管理を簡単にするマイクロコントローラー向けのオープンソースかつリアルタイムのオペレーティングシステム - IoT 1-Click
シンプルなデバイスで AWS Lambda 関数をトリガー - IoT Analytics
膨大な量の IoT データの高度な分析を簡単に実行および操作できる完全マネージド型サービス - IoT Device Defender
IoT デバイスの保護に役立つ完全マネージド型サービス - IoT Device Management
接続デバイスを大規模にオンボード、編成、監視、リモート管理 - IoT Events
IoTセンサーやアプリケーションで発生したイベントを容易に検出し対応できるようにする、完全マネージド型のIoTサービス - IoT Greengrass
インターネットに接続されたデバイスでローカルのコンピューティング、メッセージング、データキャッシュ、同期を行う - IoT SiteWise
産業機器からデータを大規模に収集、モデル化、分析、視覚化できるマネージドサービス - IoT Things Graph
さまざまなデバイスやウェブサービスを容易に視覚的に接続してIoTアプリケーションを構築できるサービス
ゲーム開発
- Amazon GameLift
簡単、高速、コスト効果の高い専用ゲームサーバーのホスティングサービス
コンテナ
- Elastic Container Registry(ECR)
Docker イメージを保存および取得出来る完全マネージド型のコンテナレジストリ - Elastic Container Service(ECS)
フルマネージド型のコンテナオーケストレーションサービス - Elastic Kubernetes Service
AWSクラウドまたはオンプレミスで Kubernetes アプリケーションを開始、実行、スケーリングする柔軟性を支援
AWSの無料枠
以下のタイプの無料枠が提供されています。
特にずっと無料は認識して、うまく活用していきましょう。
ずっと無料
Amazon DynamoDB
– 25GB のストレージ
– 25個のプロビジョニングされた書き込みキャパシティーユニット (WCU)
– 25個のプロビジョニングされた読み込みキャパシティーユニット (RCU)
– 1か月あたり最大2億リクエストの処理が十分に可能。
AWS Lambda
– 1,000,000 件/月の無料リクエスト
– 1か月あたり最大 320 万秒のコンピューティング時間
Amazon SNS
100万件の発行
10万件の HTTP/S 配信
1,000 件のメール配信
Amazon CloudWatch
10 カスタムメトリクスおよび 10 アラーム
100 万件の API リクエスト
5 GB のログデータの取り込みおよび 5 GB のログデータのアーカイブ
毎月最大 50 メトリクスのダッシュボード 3 個
Amazon Chime
無制限の Amazon Chime ベーシックの使用
Amazon Cognito
ユーザープール機能には、毎月50,000 MAU の無料利用枠があります。
10 GB のクラウド同期ストレージ。サインアップから 12 か月で有効期限が切れます。
毎月 1,000,000 回の同期操作。サインアップから 12 か月で有効期限が切れます。
Amazon Glacier
10 GB/月の Amazon Glacier データ取得が無料当該月のいつでも無料利用枠を使用できます。これはスタンダードの取り出しが対象となります。
Amazon Macie
コンテンツ分類エンジンの処理1GB
100,000件のイベント
Amazon SES
1か月あたり 62,000 件の送信メッセージを、Amazon EC2 インスタンスから直接、または AWS Elastic Beanstalk 経由で Amazon SES を呼び出す際に任意の受取人に送信できます。
1,000 件の受信メッセージ/月
Amazon SQS
100万のリクエスト
Amazon SWF
10,000 件のアクティビティタスク
30,000 日のワークフロー日
1,000 回の実行
AWS CodeBuild
1 か月あたり 100 ビルド分のビルド。build.general1.small コンピューティングタイプを使用
AWS CodeCommit
1 か月あたり 5人のアクティブユーザー
1 か月あたり 50GB/月のストレージ
1 か月あたり 10,000Gitのリクエスト
AWS CodePipeline
1 アクティブパイプライン/月
AWS Database Migration Service
Amazon DMS のシングル AZ の dms.t2.micro インスタンス 750 時間分の使用
50 GB の汎用 (SSD) ストレージ
AWS Glue
AWS Glue データカタログへのオブジェクトの保存 100 万件
AWS Glue データカタログへのリクエスト 100 万件/月
AWS Key Management Service
1 か月あたり 20,000 件の無料リクエスト
AWS License Manager
無制限 – 好きな数だけルールを設定して、サードパーティーのライセンス使用を管理しましょう
無料のインスタンスで費用をかけずに AWS License Manager を使用しましょう。デフォルト環境で提供されるリソースよりも多くのリソースが必要なアプリケーションには、通常の AWS レートが適用されます。
AWS Step Functions
4,000 回の状態遷移/月
AWS Storage Gateway
アカウントあたり最初の100GBは無料
AWS への転送料金なし
AWS Well-Architected Tool
この無料ツールを使用するには、まずワークロードを定義し、Well Architected フレームワークの 5 つの柱について一連の質問に答えます。その後、AWS Well-Architected Tool で、AWS ベストプラクティスを使用した、クラウド向けのアーキテクチャを設計する方法についての計画を確認できます。
AWS X-Ray
1か月あたり 100,000 件の記録されたトレース
1か月あたり 1,000,000 件のトレースのスキャンまたは取得
アカウントを開設後12ヶ月無料
Amazon EC2
750 時間/月の Linux、RHEL、または SLES t2.micro インスタンスの使用
750 時間/月の Windows t2.micro インスタンスの使用
Amazon S3
5 GB の標準ストレージ
20,000 件の Get リクエスト
2,000 件の Put リクエスト
Amazon RDS
750 時間/月の db.t2.micro データベース使用 (適用可能な DB エンジン)
20 GB の汎用 (SSD) データベースストレージ
20 GB のデータベースバックアップおよび DB スナップショット用ストレージ
Amazon API Gateway
100 万回の API コール受信/月
Amazon Cloud Directory
1 GB のストレージ/月
10,000 回の整合性のある API コール読み込みおよび書き込み/月
100,000 回の結果整合性のある API コール読み込み/月
Amazon CloudFront
50 GB のデータ送信
200 万件の HTTP および HTTPS リクエスト
Amazon Comprehend
Amazon Connect1 か月あたり 90 分の Amazon Connect 使用量
そのリージョンのローカル直通ダイヤルイン (DID) 番号*
1 か月あたり 30 分のローカルインバウンド DID コール*
1 か月あたり 30 分のローカルアウトバウンドコール*
米国リージョンの場合、1 か月間の無料通話番号の使用、1 か月あたり 30 分の米国インバウンド無料通話コール*
Amazon EFS
5 GB のストレージ
Amazon Elastic Block Storage
30 GB の Amazon EBS: 汎用 (SSD) ストレージまたは磁気ストレージの任意の組み合わせ
200 万 I/O (磁気 EBS の場合)
1 GB のスナップショットストレージ
Amazon Elastic Container Registry
500 MB/月のストレージ
Amazon Elastic Transcoder
20分のオーディオトランスコーディング
20分の SD トランスコーディング
10分の HD トランスコーディング
Amazon ElastiCache
750 時間の cache.t2micro ノード使用
毎月継続的に実行するのに十分な時間
Amazon Elasticsearch Service
1か月あたり750時間のシングル AZ の t2.small.elasticsearch インスタンス
1か月あたり10GBのオプションの EBS ストレージ (マグネティックまたは汎用)
Amazon GameLift
125 時間/月の Amazon GameLift c4.large.gamelift オンデマンドインスタンスの使用
50 GB の EBS 汎用 (SSD) ストレージ
Amazon Lex
1か月あたりの 10,000 件のテキストリクエスト
1か月あたり 5,000 件の音声リクエスト
Amazon MQ
750 時間の単一インスタンスの mq.t2.micro ブローカー/月
1 GB のストレージ/月
Amazon Pinpoint
1か月あたり 5,000 人の無料利用対象ユーザー
1か月あたり 1,000,000 件の無料プッシュ通知
1か月あたり 100,000,000 件のイベント
Amazon Polly
500万文字/月
Amazon Rekognition
1か月あたり 5,000 件の画像分析
1か月あたり最大 1,000 個の顔メタデータの保存
Amazon Sumerian
初年度に無料で毎月 100 ビューがある 50 MB の公開シーン。
Amazon Transcribe
60分/月
Amazon Translate
1か月あたり 200 万文字
AWS Amplify Console
構築およびデプロイ – 1 か月あたり 1,000 ビルド/分
ホスティング – 1 か月あたり 5 GB 保管および 15 GB 提供
AWS Data Pipeline
3個の低頻度の前提条件
5個の低頻度のアクティビティ
AWS Greengrass
3台のデバイスは無料
AWS IoT
1 か月あたり 250,000 件のメッセージ (公開または配信)
AWS IoT Device Management
50 リモートアクション/月
AWS OpsWorks for Chef Automate
7,500 ノード時間 (10 ノード相当)/月
AWS OpsWorks for Puppet Enterprise
7,500 ノード時間 (10 ノード相当)/月
Elastic Load Balancing
750 時間/月のロードバランサー時間分を Classic load balancer と Application load balancer の間で共有
15 GB の Classic Load Balancer でのデータ処理
15 LCU の Application Load Balancer 使用
AWS IoT Events
AWS アカウントを作成した日から 12 か月間は月あたり 2,500 回のメッセージ評価。
AWS IoT Things Graph
AWS アカウントを作成した日から 12 か月間は月あたり最初の 5,000 ステップが無料です。