●Amazon SQS キューの詳細設定
SQSではキューを利用する際にさまざまな機能を利用することが可能。
ユースケースに応じて使い分ける必要がある
・遅延キュー
キューへの新しいメッセージの配信を数行間遅延させることができる機能(0秒から15分で設定)
可視性タイムアウトとの違いは、キューが発行された直後から見えなくなるということ。またキュー全体に効果がある。
・優先度付きキュー
キューの処理順序に優先度をつけることができる
これにより、優先対応があるタスクを最初に処理するようにワークフローを設定できる
・デッドレターキュー
このキューは、正常に処理(消費)できないメッセージを別のキューへと移動させる。
処理不能なキューが蓄積されるのを防ぎつつ、処理できなかった理由を後で解析できる。
●AWS ENI(Elastic Network Interface)
VPCに対してネットワークインターフェースを追加する役割をになうのがENI
ENIは物理的な環境におけるNIC(Network Interface Card)
AWSの場合はENIに対して、IPアドレスの登録やMACアドレスの登録、セキュリティグループの登録など、必要な設定を行うことによりネットワークインターフェースを作成し、これを仮想インスタンスに取り付けたり、取り外したりすることをすべてWebブラウザ上で実現することができます。
●AWS KMSが適用できる対象サービス
Alexa for Business
Amazon EMR
Amazon S3
Amazon Athena
Amazon FSx for Windows File Server
Amazon SageMaker
Aurora
Amazon Glacier
Amazon Simple Email Service
Amazon CloudWatch Logs
Amazon Kinesis Data Streams
Amazon Relational Database Service
Amazon Comprehend
Amazon Kinesis Firehose
Amazon Simple Notification Service
Amazon Connect
Amazon Kinesis Video Streams
Amazon Simple Queue Service
Amazon DocumentDB
Amazon Lex
Amazon Translate
Amazon DynamoDB
Amazon Lightsail
Amazon WorkMail
Amazon DynamoDB Accelerator
Amazon Managed Streaming for Kafka(MSK)
Amazon WorkSpaces
Amazon EBS Amazon MQ
AWS Backup
Amazon EFS
Amazon Neptune
AWS Certificate Manager
Amazon Elastic Transcoder
Amazon Personalize
AWS Cloud9
Amazon Elastic Transcoder
など
●AWS X-Ray
本番環境や分散アプリケーション(マイクロサービスアーキテクチャを使用して構築されたアプリケーションなど)を分析およびデバックできる
・リクエスト動作の確認
AWS X-Rayでは、アプリケーション全体で転送されるユーザーリクエストがトレースされる
アプリケーションを構成する個々のサービスやリソースによって生成されるデータが集計されるため、アプリケーションの実行状況をエンドツーエンドで確認できる
・アプリケーションの問題の検出
AWS X-Rayを使うと、アプリケーションの実行状況についてのインサイトを収集して、問題の根本原因を調べることができる
X-rayのトレース機能を使ってリクエストのパスを辿ると、パフォーマンスの問題の原因と、問題に関係するアプリケーション内の場所を特定できる。また、 X-rayには注釈機能があり、トレースにメタデータを付加できる
トレースデータにタグをつけてフィルタリングすることができるため、パターンを発見して、問題を診断することができる
※メタデータ:付帯情報が書いてあるデータ(データに対する説明が書いてあるもの)
・アプリケーションのパフォーマンスの向上
AWS X-Rayを使うと、パフォーマンスのボトルネックを特定できる
X-Rayのサービスマップにより、アプリケーション内のサービスやリソースの関係をリアルタイムで表示できる。
高いレイテンシーが発生している場所を簡単に検出し、サービスのノードとエッジのレイテンシーのディストリビューションを視覚化し、アプリケーションのパフォーマンスに影響を与える特定のサービスやパスをドリルダウンすることができる
●EBSボリュームの種類
SSD(ソリッドステートドライブ)
メモリーチップを媒体にした記録、読み出しを行う装置
HDDと同じストレージ(外部記録装置)としてパソコンに接続して、OSやアプリケーションソフトなどを記録する
SSDは、読み込み速度が高速なため、OSの起動がわずか1分程度で完了するのでストレスなくPCを利用することができる
HDD(ハードディスクドライブ)
内部で回転する円盤にデータを書き込み及び、読み出しを行う装置
パソコンなどの代表的なストレージ(外部記憶装置)の一つで、1台あたりの容量が大きく、また、容量単にの単価が安いため、多くのパソコンに採用されている。
▼SSD
■汎用SSD
・ユースケース
仮想デスクトップ
低レイテンシーを要求するアプリ
小〜中規模のデータベース
開発環境
・サイズ
1GB~16TB
■プロビジョンドIOPS
・ユースケース
高いI/O性能に依存するNoSQLやアプリ
10000IOPSや160MB/s超のワークロード大規模DB
NitroシステムAmazon EC2インスタンス、EBS最適化インスタンスタイプで高速化
・サイズ
4GB~16TB
▼HDD
■スループット最適化HDD
・ユースケース
ビッグデータ処理
DWH(データウェアハウス)
大規模なETL処理やログ分析
ルート(ブート)ボリュームには利用不可
・サイズ
500GB~16TB
■コールドHDD
・ユースケース
ログデータなどアクセス頻度が低いデータ
バックアップやアーカイブ
ルート(ブート)ボリュームには利用不可
・サイズ
500GB~16TB
ETL
Extract(抽出)
Transform(変換)
Load(格納)
●ハードウェア占有インスタンス
・専用HWのVPCで実行される EC2インスタンス
・ホストHWのレベルで、他のAWSアカウントに属するインスタンスから物理的に分離する
・同じAWSアカウントのインスタンスとはHWを共有する可能性がある
●Dedicated Host
・ EC2インスタンス容量を完全にユーザー専用として利用できる物理サーバー
・サーバーにバインドされた既存のソフトウェアライセンスを利用可能
●Bare Metal
・アプリケーションが基盤となるサーバーのプロセッサーとメモリーに直接アクセス可能なインスタンス
・AWSの各種サービスとの連携が可能でOSが直接下層のハードウェアにアクセス可能
●AWS IoT Core
インターネットに接続されたデバイスから、クラウドアプリケーションやその他のデバイスに簡単かつ安全に通信するためのマネージド型クラウドサービス
AWS IoT Coreでは数十億個のデバイスと数兆件のメッセージをサポートしており、それらのメッセージをAWSエンドポイントや他のデバイスに確実かつセキュアに処理してルーティングする
AWS IoT Coreを使用すれば、アプリケーションがインターネットに接続されていない場合でも、すべてのデバイスを常に追跡して通信できる
●AWS Storage Gateway
オンプレミス環境のストレージをAmazon S3に接続して拡張するサービス
AWS Storage Gatewayを利用することでオンプレミス環境とS3とを統合して、ハイブリッド構成を実現することができる。ハイブリッドクラウドストレージでは、クラウド上のデータをオンプレミス上でも使用できる
データは、Amazon S3 Amazon S3Glacier Amazon S3 Glacier Deep Archive Amazon EBSなどのAWSのクラウドストレージサービスに永続的に保存される
●エッジロケーションの機能
・コンテンツ配信
・キャッシュ蓄積
・データ転送高速化
エッジロケーションは、コンテンツ配布のためのデータセンターの世界的なネットワーク
CloudFrontを利用する際に使用するロケーションとなっており、世界中に200箇所以上存在しており、グローバルなコンテンツ配信が可能となっている
世界中の主要都市のほとんどに位置しており、CloudFront(CDN)にキャッシュを蓄積して、エンドユーザーにコンテンツを配布して待ち時間を短縮するために使用される
●AWS Direct Connect
プレミスからAWSへの専用ネットワーク接続の構築するソリューション
AWS Direct Connectを使用すると、AWSのVPCからデータセンター、オフィス、またはコロケーション環境のネットワークに対してプライベート接続を確立することができる
●VPCエンドポイント
PrivateLinkを使用するAWSサービスやVPCエンドポイントサービスにVPCをプライベートに接続する機能
エンドポイントはVPCのインスタンスとサービスの間で通信を可能にするVPCコンポーネントであり、冗長性と高可用性を備え、水平にスケールされる。
ネットワークトラフィックに対する可用性のリスクうや帯域幅の制約はない
VPCエンドポイントにはインターフェースエンドポイントとゲートウェイエンドポイントの2つのタイプがある
・インターフェースエンドポイント(PrivateLink型)
インターフェースエンドポイントは、サポートされるサービスを宛先とするトラフィックのエントリエンドポイントとして機能するプライベートIPアドレスをもつElastic Network Interface
・ゲートウェイエンドポイント
ゲートウェイエンドポイントは、サポートされるAWSサービスを宛先とするトラフィックのルートテーブルで、ルートのターゲットとして指定するゲートウェイ
Amazon S3とDynamoDBとの連携に利用される
●セキュリティの設計原則、ベストプラクティス
▼7つの設計原則
強固な認証基盤の整備
追跡可能性の実現
全レイヤーへのセキュリティ適用
セキュリティのベストプラクティス自動化
転送中および保管中のデータの保護
データに人を近づけない
セキュリティイベントに対する準備
▼6つのベストプラクティス
Identity and Access Management
アイデンティティとアクセス管理
発見的統制
インフラストラクチャ保護
DDos攻撃を緩データ保護
インシデント対応
●AWS暗号化方式
▼SSE-S3
・S3の標準暗号化方式で簡易に利用可能
・暗号化キーの作成・管理をS3側で自動で実施
・ブロック暗号の1つである256ビットのAdvanced Encryption Standard(AES-256)を使用してデータを暗号化
・サーバーサイド暗号化として利用されている
▼SSEーKMS
・AWS KMSに設定した暗号化キーを利用した暗号化を実施
・ユーザー側でAWS KMSを利用して暗号化キーを作成・管理することが可能
・クライアント独自の暗号キーを利用可能
・サーバーサイド暗号化として利用されている
▼SSE-C
・ユーザーが指定したキーによるサーバー側の暗号化(SSEーC)を使用することが可能
・利用設定や管理が煩雑になるのがデメリット
・サーバーサイド暗号化として利用されている
▼クライアントサイド暗号化(CSE:Client Side Encryption)
・クライアント側の暗号化では、Amazon S3に送信する前にデータを暗号化する方式
・AWS KMSなどを利用して暗号化キーを作成・実施
・アプリケーション内に保存したマスターキーを使用
・クライアントサイドの暗号化はユーザー側が用意したキーによって、クライアント内で暗号化したオブジェクトをS3ni登録するので、暗号化されたオブジェクトはユーザー以外に復号化が不可能よってサーバーサイド暗号化として利用できない
●ALB(Application Load Balancer)の特徴
・L7にだけ対応
・URLのパスに基づいてルーティングが可能なパスベースルーティングが可能
・WebSocketとHTTP/2のリクエストを受け付けるL7に対応
・1インスタンスに複数ポートを登録可能
・ EC2インスタンスをターゲットグループに割り当てる際、複数ポートを個別のターゲットとして登録することが可能なため、ポートを利用するコンテナをロードバランシング可能
・ターゲットグループでのヘルスチェックが可能
・アクセスログの情報追加
・ EC2と同様に削除保護が可能
・ALB自体が自動的にキャパシティを増減