#00
#SSH接続でEC2に接続できないときに
IPポート22を介してインバウンドトラフィックを許可するセキュリティグループを設定する
#インターネットからのトラフィックをEC2に届ける
インターネットに面した Application Load Balancer は、ALB を指す外部 DNS を使用して、基盤となる EC2 インスタンスを公開する。
EC2をエンドポイントとしてインターネットに面したALBを起動する
#01
#負荷軽減 ウェブ層のコスト最適化、予想されるトラフィックを処理する
ELB背後のAuto ScalingグループでEC2を起動する
S3n静的コンテンツを指すCloud frontでディストリビューションする
#操作ミスによるEC2インスタンスの削除を防ぐ!終了保護の設定方法
disable-api-terminationオプションを指定
https://dev.classmethod.jp/articles/tsnote-ec2-disable-termination-001/
#高可用性を確保する
可用性(Availability)とは、システムを障害(機器やパーツの故障・災害・アクシデントなど)で停止させることなく稼働し続けること、またはその指標のことをいいます
RDS for PostageSQLデータベースでマルチA-Zを有効化する
Amazon RDS マルチ AZ 配置では、RDS データベース (DB) インスタンスの可用性と耐久性が強化され、プロダクションデータベースのワークロードに適しています。
#配信データをアーカイブする
Lambda SNS SQSを使用する
#不正侵入検知防御システム(IDS/IPS)を導入したい IPSを使用しインターネットからのトラフィックを保護する
インスタンスorリバースプロキシ層にIDS/IPSエージェントを導入する
WAFの特徴は通信データの内容を機械的に解析できる点であり、従来のファイアウォールやIDS・IPSではブロックしきれなかった、ユーザからのリクエストに応えて動的なページを生成するタイプのWebサイトへの攻撃を防ぐことができます。
#2
#データベースの読み込み処理を向上させる Auroraのデータベース
リードレプリカを作成すると負荷軽減できる
#EBSを使用してEC2でデプロイして暗号化するときにアプリケーションを変更せずに満たす方法
AWSの管理キーで暗号化されたEBSストレージボリュームを使用する
#レイテンシーを抑える
クラスタープレイスメントグループ
#フロントエンドのロードバランサーのみインターネットに公開する
ロードバランサー層;パブリックサブネット
アプリケーション層:共有プライベートサブネット
#APIをバックエンドで構築してウェブページからAPIを呼び出すとエラーになる
API GatewayでCORSを有効にする
ブラウザで実行されているスクリプトから開始されるクロスオリジン HTTP リクエストを制限するブラウザのセキュリティ機能
#3
#動画ファイルのアップロードを早くする
マルチパートアップロード
#VPCのデフォルト
デフォルトサブネットはパブリックサブネット、メインルートテーブルがインターネットゲートウェイにルーティングされている
#プロビジョニングや管理を行わずにアプリケーションを出す
API Gateway とLambda
#4
#Management Consoleの権限不足エラーをデコードする
AWS CLI
STSのDecodeAuthorizationMessage API
#5
#ALB アプリケーションサーバー データベースからデータベースから構成されたVPCでプリケーションが稼働していて、限られたIPからのみトラフィックを受け入れるには
X-Forwarded-Forヘッダーを使用する
クライアントのIPアドレスを識別することができる
#SSH を使用してインスタンスに接続している場合 ログインできない
・秘密鍵ファイルが起動時に割り当てられたEC2キーペアに対応していること
・AMI用の適切なユーザー名で接続していることを確認
#UDPベースのアプリケーションのリクエストをルーティングしている際にパフォーマンスを向上させる
Network Load Balancer Global Accelerator
#6
#Cloud Frontを使用していて更新しても更新されない
Cloud Front でィストリビューションで無効化を実行する→キャッシュを無効にする
#2段階認証
SMS MFAを使用した AWS Cognito
#7
#同じリージョンの複数のazのクラスタで複数のEC2が実行されている。パフォーマンスを向上させるには
拡張ネットワーキング
Amazon HVM AMI
#8
#9
#10
#テンプレートに重要なベストプラクティス
ネストされたスタックの操作
ネスト化されたCloud Formationテンプレートをチームに提供する
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html
#11
#マイクロサービスを設計する方法
Lambda関数
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/with-kinesis.html
#本番用VPCでEC2インスタンスへのネットワークアクセスログを記録したい
本番用VPCでVPCフローログを有効にする
#12
#13
#AWS 上で Elastic Load Balancing と Auto Scaling を使用してデプロイされたアプリケーションは、負荷が増加すると Auto Scaling は新しいインスタンスを起動するが、他のインスタンスの負荷は減らない。ユーザーエクスペリエンスの低下の原因
ELB はステートフルで、Cookie ベースのセッションを使用するため負荷が減少しない。そのため、以前に確立されたセッションにリクエストを送信し続けている可能性があり、既存のユーザーエクスペリエンスの低下が発生する。
→Classic Load Balancer のスティッキーセッションを設定
ロードバランサーがユーザーセッションを特定のインスタンスに結び付けるように構成します。こうすることで、同一セッション中の同一ユーザーからの全リクエストが同一のインスタンスへ送信されるようになります。
#14
#インデックスデータ
DynamoDB
#IDフェデレーションとロールベースのアクセス制御
IAMロールとAD Connector
#15
#基盤となる複数のバックエンドサービスに単一のインターフェースを提供することにより、ユーザーインターフェースの機能をその基盤サービスから切り離す。
API Gateway
#16
#1117
#SQSを作成する
CloudFormation
#Amazon S3リソースにアクセス許可をする
バケットポリシー
ユーザーポリシー
#118
#Auto Scalingの終わる順番
インスタンスが最も多いAZ内のインスタンス
#119
#アプリケーションがデータにアクセスする認証方法
・IAMデータベース認証を有効にする
・AWS認証とクーンを使用するデータベースユーザーアカウントを作成する
#プライベートサブネットのインスタンスからインターネットや他の AWS サービスに接続しながら、インターネットからインスタンスへ接続をさせないようにする。
NATゲートウェイ
#120
#Auroraで読み取り負荷が増えた際に使う
Aurora読み取りエンドポイント
#位置情報ルーティングを行う
Route53