サービスレベル
グローバルサービス:S3
リージョンサービス:VPC, ELB
AZサービス:EC2, RDS
VPC・サブネットと他リソースの関係性
コスト比較
DB
Aurora > RDS > DynamoDB
※DynamoはLambdaのように実行時のみ課金されるため、コストを抑えやすい
コンピューティング
EC2 > ECS > Lambda
権限管理
迷ったらロール系の選択肢
本番環境と遠隔のDR(ディザスタリカバリ)環境の自動化
本番環境と遠隔DR環境を別リージョンに構築して、切替管理をRoute53で実施する
IPフローティング
障害発生時にEIPを自動で待機系に切り替える。(route53の機能の一部
他社アプリから自社AWSリソースへのアクセス許可
異なるAWS アカウントが有するリソースへのアクセスを委任する方法として、クロスアカウントアクセス許可とIAMロールを設定することが必要。これによって、特定のアカウントにある特定のリソースを別アカウントのユーザーと共有します。
VPCエンドポイント
インターネットを介さずに、VPC内のサービスからVPC外のAWSサービスに接続することができる。これにより、同一リージョン内であれば通信料が発生しないため、コスト対策に有効

Lambda / RDS 間のコネクション最適化
RDSプロキシ
を利用する。
RDSエンドポイントの代わりにRDSプロキシを利用することで、コネクションを効率化できる。
DynamoDBのデータ変更履歴を保持する
DynamoDB
ストリームを利用する
DynamoDBストリーム
- 変更履歴の保持
- データ変更時にLambda起動が可能
- 異なるリージョンへのレプリケーション
DynamoDB ユースケース
- WEBセッション管理
- メタデータ保存
- 各データ項目最大40kb
- 自動でマルチAZ冗長化
S3データの解析
サービス | 特徴 |
---|---|
S3 Select | S3オブジェクトに対してSQLクエリで検索できる |
Athena | Athena SQLクエリを利用して、検索・分析を実行できる |
Macie | 機械学習により、S3の機密情報を検出。フルマネージド。 |
Redshift Spectrum | S3オブジェクトに対して、Redshiftから直接クエリを実行できる |
S3のデータ保護
管理者でも削除させない → コンプライアンスモード
管理者は削除できても良い → ガバナンスモード
エイリアスレコード
Aレコード:IPv4
AAAAレコード:IPv6
MXレコード;メールサーバーを紐づける
CNAME:ドメインを別のドメイン名に紐づける
EC2インスタンス起動時にスクリプト実行
ユーザーデータ
設定を利用する
S3データ転送の高速化
Amazon S3 Transfer Acceleration
EFS→Linux, FSx→Windows
Auto Scaling
- スケジュールドスケーリングポリシー
特定の時間帯にスケーリング実施 - 動的スケーリングポリシー
CPU使用率など、インスタンスの状態によってスケーリングを実施
Auto Scaling キャパシティ
- 最小キャパシティ
- 最大キャパシティ
- 希望するキャパシティ
SCP(Service Control Policies
IAM の上位に位置するもので、組織レベルでのアクセス制御を実施
SCP と IAM それぞれのポリシーにで明示的に許可され
かつ 明示的に拒否されていない
場合に、IAMユーザーやIAMロールはそのリソースに対する操作が許可される
VPC CIDR
/28 ~ /16 の範囲で指定可能
/24:255個
/15:127個
デフォルト上限
VPC:5
サブネット:200
EIP:5
EBS
Delete on Terminate: EC2インスタンスが終了する際にEBSボリュームを残すかどうか
EBSユースケース
スループット最適化 HDD(st1)
ビッグデータ処理
データウェアハウス
ログ処理
プロビジョンド IOPS SSD(io1)
RDBMS
I/O負荷の高いNoSQLデータベースとリレーショナルデータベース
EBSとEFSの違い
-
用途
EBS:主に単一のEC2インスタンスにデータを保存するために使用。ブロックストレージ。
EFS:複数のEC2インスタンスからアクセスできるネットワークファイルシステムです。複数のインスタンスでファイルを共有したり、同時にアクセスしたりする必要がある場合 -
接続台数
EBS:1台のEC2インスタンスと接続可能
EFS:複数のEC2インスタンスと接続可能 -
耐久性
EBS:単一のAZ内で冗長化
EFS:複数のAZで冗長化 -
拡張性
EBS:手動でボリューム拡張可能
EFS:自動でボリューム拡張可能
EBSとインスタンスストア
・接続
EBS:EC2インスタンスストアとネットワーク接続
インスタンスストア:ホストコンピュータのストレージを利用
・耐久性
EBS:単一のAZ内で冗長化
インスタンスストア:冗長化されない
・拡張性
EBS:ボリューム拡張可能
インスタンスストア:ボリューム拡張不可能
・料金
EBS:従量課金
インスタンスストア:無料
複数のEC2インスタンスで同じEBSをアタッチしたい
プロビジョンドIOPS
EBS ボリューム暗号化
スナップショットのコピーコマンド(ec2 copy-snapshot)に「--encrypted」オプションを渡すことで暗号化されたスナップショットを作成
EFS パフォーマンスモード
とりあえず汎用モードを選んでおけばOK
既存のオンプレ MS Active Directory を利用して、AWS認証
AWS Directory Service の AWS Managed MS AD を利用して、既存のMS Active Directory(MS AD AWSのIAMユーザー認証を統合して、シングルサインオンを実現
サイト間VPN
オンプレ側にカスタマーゲートウェイ
を設置
AWS 側に仮想プライベートゲートウェイ
を設置
EIP
使われていない(起動中のEC2にアタッチされていない)EIPは課金される
※EC2が起動していればEIPとしては課金されない。IP枯渇を防ぐため
1つのリージョンで最大5個
セキュリティグループ
デフォルト動作:インバウンド全て拒否、アウトバウンド全て許可
セキュリティグループとACL
セキュリティグループはステートフルで、ネットワークACLはステートレスで
ステートフルは、ルールで許可された通信の戻りの通信も自動的に許可
ステートレスは、通信の行き(アウトバウンド)と戻り(インバウンド)で、ルールの設定が必要
セキュリティグループ | ACL |
---|---|
インスタンス単位 | VPC / サブネット単位 |
ステートフル インバウンド許可すれば、自動的にアウトバウンドも許可扱い |
ステートレス ンバウンド許可だけではアウトバウンド許可されない |
許可のみを IN/OUT で指定 | 許可/拒否 を IN/OUT で指定 |
デフォルトでは同じグループ内通信のみ許可 | デフォルトで全ての通信を許可 |
Amazon Data Lifecycle Manager (Amazon DLM)
Amazon EBS ボリュームに保存されたデータをバックアップする自動化された手順です。 Amazon DLM を使用してライフサイクルポリシーを作成し、スナップショット管理を自動化します。
Redshift プライマリクラスターがダウンしたでも即座に利用できるようにする
クラスターのクロスリージョンスナップショット
を利用する
Amazon Certificate Manager (ACM) を利用したHTTPS化
ACM を利用する場合、EC2にインストールするのではなくELBにインストールする
AWSアカウントのログを追跡したい
CloudTrail
使用率の高い全てのEC2インスタンスを検出したい
Trusted Advisor
世界中の〇〇
CloudFrontが正解になりがち
Amazon Transcribe
音声のテキスト変換
Amazon Comprehend
感情分析