今回の記事ではクラウドサービスプラットフォームとして知られるAWS(Amazon Web Services)で使用されている各種リソースについてまとめた備忘録としての内容になります。
こちら随時キャッチアップした内容を追記していきます。また、内容に一部誤りがある場合や、必須の事項についてあれば、お手数ですが、ページ下部のコメントからご教示していただければ幸いです。
何より私自身が現在AWSを学習しておりますが、なかなかイメージしずらいリソースやそもそものリソースの役割を忘れてしまうため、今回こちらの記事を作成しております。
では早速、まとめていきます。(※紹介している順番について、特に意味はありません)
AWS アクセスキー
AWSのアクセスキーは、AWSのサービスにプログラムからアクセスするために必要な認証情報
主な特徴と用途は以下の通り
- 目的:
- AWS APIやCLIツールを使用してAWSリソースにプログラム的にアクセスするため
- 構成:
- アクセスキーIDとシークレットアクセスキーのペアで構成されます
- アクセスキーID:
- 公開部分で、アカウントを識別するための文字列(例:AKIAIOSFODNN7EXAMPLE)
- AWSに対してどのアカウントからのリクエストかを示す
- シークレットアクセスキー:
- 非公開部分で、パスワードのような役割を果たす
(例:wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY) - リクエストの認証に使用され、絶対に他人に漏らしてはいけない
- 非公開部分で、パスワードのような役割を果たす
- クレデンシャル:
- アクセスキーIDとシークレットアクセスキーを合わせて「クレデンシャル」と呼びます
- AWSサービスへのアクセスを認証するための情報全般を指す用語
- セキュリティ上の注意:
- アクセスキーは長期的な認証情報であるため、適切に管理する必要があります
- 可能な限り、IAMロールなどの一時的な認証情報の使用が推奨されます
- 使用例:
- AWS CLIの設定
- SDKを使用したアプリケーションの開発
- 外部ツールからのAWS連携
アクセスキーは強力な認証手段ですが、セキュリティリスクも伴うため、適切な管理と使用が重要です。可能な限り、IAMロールや一時的な認証情報の使用を検討することが推奨されています。
アクセスキーの作成は、右上のメニューから「セキュリティ認証情報」を選択

マシンイメージ(AMI)
EC2インスタンス起動時に必要な情報を含む、事前設定済みの仮想マシンイメージ
情報とは、OS,CPU,メモリなど。またAMIを作成する前にインストールしていたソフトウェアなどもAMI作成後にインストールされた状態である。ApacheやTomcatなど,,,etc
EBS
EC2にアタッチされているブロックストレージ(ボリュームとも呼ぶ)
スナップショットを増分バックアップとして、S3に保存 / EC2と同じAZ内で使用すること
EC2にEBSをマウントする手順について
※デフォルトでは一つのEBSがアタッチ・マウントされている
1.EBSをEC2にアタッチする
※アタッチのイメージ→EC2にEBSを物理的にくっつけたような
※マウントのイメージ→EC2で使用するOSにEBSを認識させる
2.EC2でlsblkコマンドを実行
→ブロックデバイスの一覧を確認(マウントされていないもの含む)
3.アタッチしたEBSのファイルシステムを作成
sudo mkfs -t ext4 /dev/xvdf
4.マウントポイントとなるディレクトリを作成する
sudo mkdir /mnt/ebs
5.EBSのファイルシステムをマウントポイントにマウントする
sudo mount /dev/xvdf /mnt/ebs
これでEC2でEBSが使用可能となる。
なおEC2再起動後も自動的にマウントするには、/etc/fstabにファイルにEBSのUUIDなどを設定しておく。詳しくは、こちら
※インスタンスストア
EC2インスタンス用の一時的なブロックレベルストレージ(揮発性ストレージ:インスタンスの停止や終了時にデータが失われる)
EBSが永続的なストレージを提供するのに対し、インスタンスストアは一時的なストレージを提供します。インスタンスストアはEBSよりも高いI/O性能を提供しますが、データの永続性はありません。
IAM
IAMを使用することで、だれが(認証)、どのリソースに(認可)どのような操作を行うかを制御することができる。最小特権の原則:ユーザーには必要なものへのアクセス権のみを付与する
IAMユーザー
AWSリソースにアクセスするための個別のアカウント
グローバルなサービスであり、どの場所からでもアクセスすることができる
IAMグループ
複数のIAMユーザーをまとめて管理するためのグループです。グループに対してポリシーを設定することで、グループ内のすべてのユーザーに同じ権限を付与できます
IAMロール
ポリシーを複数アタッチして、権限をひとまとめにする一時的なアクセス許可の際に用いるアタッチできる対象:AWSリソース , ユーザー , アプリケーション , 外部のアイデンティティ
AWSのサービスにアクセス許可を委任するロールの作成
IAMポリシー
AWSリソースに対する操作の許可・拒否の権限を表したもの。JSON形式で記述する
・AWS管理ポリシー
AWS側で予め用意されているポリシー(編集不可)
・カスタマー管理ポリシー
ユーザーが作成し、管理するIAMポリシー
※ちなみに以下はAWS公式から抜粋

AWS Aurora
MySQLとPostgreSQLとの完全な互換性を備えたデータベース
Aurora のスループットは MySQL の 5 倍、PostgreSQL の 3 倍
EC2からAuroraにアクセスするためには、クライアントソフトが必要
こちら
一つのセキュリティーグループでAurora Primary(更新)/Aurora Replica(参照)に適用される
分散型ストレージアーキテクチャを採用 → コンピューティングとストレージを分離している
コンピューティング(データベースインスタンス)
SQLクエリの実行
Aurora Primary(データ更新)/Aurora Replica(データ参照)として機能
Primaryがダウンしたら、Replicaが自動的にPrimaryに昇格するフェイルオーバー機能を有する
ストレージ(データの保存先)
少なくとも3つの異なるAZに同期的にデータを管理している
AZはサブネットグループとして、グループ化しておく
AWS SQS(Amazon Simple Queue Service)
フルマネージド型のメッセージキューイングサービスシステム
コンポーネント間でメッセージ(データ)を直接送信せず、キューを挟むことで疎結合を実現し、メッセージ(データ)の送受信の際に単一障害点を防ぐことができる
メッセージの送信者をプロデューサー、受信者をコンシューマーとして、非同期にてメッセージの送受信を行なう。送受信の関係は、一対一
メッセージは処理されるまでキューに保存される
KMS(Key Management Service)を使ってメッセージを暗号化することも可能
キューの種類
1.スタンダードキュー:メッセージの受信順序が保証されていない
2.FIFOキュー(先入れ先出し): メッセージの受信順序が保証される
CloudShell
AWSマネジメントコンソールから起動させることができるコンソール
AWS Well-Architectedのひとつである単一障害点について
そのリソースが止まると、システム全体が止まるような部分
サーバーレス
インフラストラクチャの部分を意識しなくてもよい。サーバーが存在しないという意味ではない
※インフラストラクチャとは、プロビジョニング・高可用性・スケールメリットなど
※プロビジョニングとは、ITインフラやリソースを準備・設定すること
スループット
一定時間の処理能力を表す
AWS SNS(Simple Notification Service)
パブリッシャーからサブスクライバーへのメッセージ配信を提供するフルマネージドのメッセージングサービス / Push型通信方式を採用 / 送受信の関係は、多対多
メッセージは一時的に保存され、配信後は削除される
メッセージは非同期通信により、パブサブ間での疎結合化を実現し、影響を少なくできる。
(流れ)
パブリッシャー → SNS(トピック) → サブスクライバー
例えば、CI/CDの通知メールを例にすると…
CodeDeployの前に、デプロイ承認の通知を受け取る場合に、CodeStar Notifications(パブリッシャー)からSNSのトピックにメッセージがプッシュされ、そのメッセージがトピックからEmail受信者(サブスクライバー)へと配信される
※AWS CodeStar Notificationsは、AWS開発者ツール(CodeCommit、CodeBuild、CodeDeploy、CodePipelineなど)のイベントを監視し、通知を送信するためのサービス
トピック
メッセージの入れ物。パブリッシャーはトピックにメッセージを発行する
トピックタイプ
・スタンダード
メッセージの順序は保証されない/メッセージが重複して配信される場合がある
・FIFO(先入れ先出し)
メッセージが発行された順序と同じ順序で配信される/メッセージの重複はなし
サブスクリプション
そのメッセージを受け取るための設定。トピックとエンドポイントを結びつける
エンドポイント
主にEmail , SMS , HTTP/HTTPS , SQS , Lambda , Kinesis Data Firehose などがある
A2A(Application to Application)
特定のAWSリソースに対して、メッセージを送信することができる。
例)AWS SNSからAWS Lambdaをメッセージを通して呼び出すことができる
A2P(Application to Person)
携帯電話番号、Eメールアドレスなどにユーザー通知を提供する
AWS CloudFront
世界中に分散配置されたエッジロケーションを利用し、オリジンサーバ〜のコンテンツをキャッシュすることにより、クライアントからのリクエスト・レスポンスを高速に行う。またエッジロケーション内のコンテンツを利用することにより、オリジンサーバーへの負荷軽減となる。
フィールドレベル暗号化
ユーザーから送信されるリクエスト内の特定の機密データ(例:クレジットカード番号、社会保障番号など)だけを選択して暗号化(最大10個)を行う。復号は指秘密鍵を持つアプリケーションやAWSリソースだけがデータの復号を行うことができます。
WAF
CloudFrontと連携して使用されるWAFはCloudFrontと同じくエッジロケーション内に作成されます。これはオリジンサーバーに通信が到達する前に、リクエストしたユーザーにより近い場所で不正アクセスや攻撃をブロックし、セキュリティとパフォーマンスを両立するためです。
OAC
CloudFrontからのみS3などのオリジン(配信元)へのアクセスを許可する手法です。これにより、オリジンアクセスへのセキュリティ強化が行われます。KMSによるサーバーサイド暗号化に対応しています。また広範なHTTPメソッド(GET,POST,PUT,DELETEなど)をサポートしています。
署名付きURL
CloudFrontで配信するプライベートコンテンツ(S3などに保存された非公開ファイルなど)に、特定のユーザーだけが一定期間アクセスできるようにするための一時的なURLです。
署名付きURLには有効期限やアクセス可能なファイルパスなどの情報が含まれており、CloudFrontはURLが正しく署名されているか、有効期限内かなどを検証します。
署名の仕組みは、アプリケーション側で秘密鍵を使ってURLに署名し、CloudFront側では公開鍵で署名を検証します。CloudFrontのキーグループに登録した公開鍵で署名が正しいことを確認し、改ざんされていないことを保証します
CloudFrontに作成する証明書はリージョンがバージニア北部でしか作成できない
Elastic Beanstalk
アプリケーションを迅速にデプロイすることを可能にし、かつその管理を担うPasS(Platform as a Service)リソースである。インフラの詳細を気にせずに、アプリケーション開発に集中できる
例)アプリケーションコード(warファイルなど)をアップロードするだけで、自動的に実行環境を構築してくれる
対応言語:Java、.NET、PHP、Node.js、Python、Ruby、Goなど主要な言語・フレームワークをサポート
CloudFormation
JSONまたはYAML形式で記述されたテンプレートでAWSの様々なリソースを構築できる。
Infrastructure as Code (IaC)の一つ
開発者は開発環境と本番環境を簡単に複製し、一貫性を保ちつつ、繰り返し維持することが可能
AWS Service Catalog
CloudFormationのテンプレートを製品として登録し、他のAWSユーザーへ共有するサービス
AWS Outposts
AWSインフラストラクチャやサービスをオンプレミスに拡張して利用できるフルマネージドサービス
AWS Outpostsとは
AWS Outpostsの仕組み
AWS Direct Connect(DX)
オンプレミスのデータセンターやオフィスからAWSリソースにインターネット経由せず、専用線でプライベートな接続を提供するサービスです。具体的にはオンプレミスとAWSの接続を中継するDirect Connectロケーション(物理的なデータセンター)を利用します。
単一障害点(SPOF)にも配慮するための設計としては、オンプレミスから複数のDirect Connectロケーションへの接続を行うことで可用性を高めることができます。
特徴
1.プライベートな通信経路(専用線接続)なため、低レイテンシーを実現
2.大容量のデータ転送が可能
3.インターネットを介さないため、高いセキュリティを保持
4.帯域幅が広い、通信速度が速い

ネットワークACL
サブネットレベルでアクセス制御可能なステートレスファイアウォール
(特徴)
1. サブネットごとに適用
2. デフォルトは全通信を許可
3. 明示的に通信許可/拒否ルールを設定(特定のIPからのアクセスを拒否)
4. セキュリティグループよりも先に評価される
※EC2インスタンスのファイアウォールはセキュリティーグループ
デフォルトでは全てのトラフィックをDenyしており、ステートフル
NIC(ネットワークインターフェースカード)
コンピュータをネットワークに接続するための回路基板
ENI(Elastic Network Interface)
EC2インスタンスに割り当てられているIPアドレスの実体
プロビジョニング
ITインフラやリソースを準備・設定すること
責任共有モデル
クラウドのセキュリティをお客側とAWS側で責任を分けておくこと
Well-Architected フレームワーク(6つ)
・パフォーマンス効果
・セキュリティ
・信頼性
・持続可能性
・コスト最適化
・運用上の優秀性(オペレーショナル・エクセレンス)
S3
データをバケットと呼ばれるコンテナにオブジェクトとして保存する。
一つのオブジェクトサイズは最大5TB / 一回の操作でアップデートできるデータサイズは5GB / ストレージ容量は無制限である。オブジェクトとはデータ、メタデータ(データの種類・使用方法)、キー(一意の識別子)で構成されている。全てのオブジェクトにURLが発行されている。
8つのストレージクラスを選択することができる

S3に管理されたオブジェクトがコスト効率よく保存されるように管理するにはライフサイクルを作成すること。ストレージのライフサイクル管理について
S3のホスティングサービス
S3では静的ファイルをホストすることできるため、S3をウェブサーバーのように利用できる
これによりサービス停止中やメンテナンス中であることをユーザーに知らせるSorryページなどで利用できる
またVueJSやReactなどのSPAフレームワークで作成されたアプリケーションは静的ファイルとしてビルドされ、そのままS3のホスティングサービスで使用することができる
※ホスティングサービスを使用するためには、すべてのユーザーに読み取り許可ポリシーを付与する必要がある。詳細はこちら
また動画、写真、音楽のアップロードとダウンロードをホスティングする、メディアホスティングの機能も有する
バージョニング:バケット内にある単一のオブジェクトの複数のバージョンを保持できるようになる。誤って更新・削除に対しても、簡単に復旧することができる(デフォルトでは無効)
Amazon S3 Object Lambda
Amazon S3からオブジェクトを取得する際(GET、HEAD、LISTリクエスト)に、AWS Lambda関数を使ってそのデータを動的に加工・変換できる機能です。これにより、S3に保存された元データを変更せず、アプリケーションに返すタイミングでのみデータをカスタマイズできます
Amazon S3 Transfer Acceleration
S3バケットへのファイル転送(アップロードやダウンロード)を、特に地理的に離れた場所からでも高速化するための機能です。仕組みは、ユーザーがデータをS3バケットに転送する際、最寄りのCloudFrontエッジロケーション(AWSが世界中に配置している中継サーバー)にデータを送信します。その後、AWSの高速なバックボーンネットワークを経由して、目的のS3バケットにデータが届けられます。
オブジェクトロック
S3に保存されたオブジェクトに対して、更新・削除を制限する機能です。
・コンプライアンスモードは、ルートユーザー含めて全てのユーザーが設定期限まで、オブジェクトの更新・削除などを行うことができない設定です。
・ガバナンスモードは、一般のユーザーは、オブジェクトの更新・削除などを行うことができませんが、特別な権限(s3:BypassGovernanceRetention)を持つユーザーは、行うことができます。
リーガルホールド(無制限ロック)
リーガルホールドを設定すると、保持期限に関係なくオブジェクトを無期限に保護できます。解除には権限が必要です。
S3バッチオペレーション
S3バケット内の大量のオブジェクトに対して一括で処理を実行できるフルマネージドサービスです。数十億個、エクサバイト規模のデータを対象に、単一リクエストでさまざまな操作を実施できます。
対応アクション
・オブジェクトのコピー
・タグの追加・削除・置換
・アクセスコントロールリスト(ACL)の設定
・S3 Glacierからの復元
・Lambda関数の呼び出し(カスタム処理)
・オブジェクトロックの設定 など
EFS
リージョンレベルで使用可能なLinuxベースのファイルシステムを提供する
複数のインスタンス(EC2)から同時にアクセスできる(読み取り・書き込み)
自動的にスケールアップ・ダウンするため、容量管理は不要
バックアップとレプリケーションを自動的に行う
マウントターゲット(AZに作成)経由でEC2からEFSにアクセスできる
オンプレミス上で使用するにはAWS Direct ConnectもしくはAWS VPNを使用する
ネットワークファイルシステム(NFSv4)のプロトコルを使用
EFSに接続するEC2インスタンスはNFSクライアントをインストールする
NFSインストールコマンド:sudo yum install -y amazon-efs-utils
EFSマウントターゲットを作成する際には、セキュリティグループをアタッチする
セキュリティグループはNFSクライアントとしてファイルシステムにアクセスできるEC2インスタンスを指定する
EFSのセキュリティグループにはインバウンドのルールが必要(タイプ:NFS)
EC2インスタンスにEFSをマウントする
sudo mount -t efs -o tls efs-id:/ data
-t efs :ファイルシステムのタイプをEFSとして指定する
-o tls :マウントオプションとしてTLSを指定。データ転送時の暗号化が有効となる
efs-id :マウントするEFSファイルシステムのID。これは一意の値となる
data :ローカルマシン上(この場合、EC2)のマウントポイント(ディレクトリ)を指す
AWS RedShift
ビックデータの分析に使用できるフルマネージドのデータウェアハウジングシステム
多くのリソースからデータを収集し、データ全体の関係性や傾向を理解するのに役立つ機能を提供する
集計・分析したデータはBIツールとして使用される、QuickSightを通して確認することができる
AWS DMS
既存のデータをセキュアにかつ簡単にAWS RDSへと移行できる
オンプレミス(ソースDB)からRDS(ターゲットDB)への移行も可能
ソースDBはデータを移行中も通常通り、運用可能である(ダウンタイムを最小限)
ソースDBとターゲットDBの種類(MySQLとOracleなど)が異なっていてもよい
移行手順
1.SCT(AWS Shema Conversion Tool)を利用して、スキーマ構造、データ型、データベースコードを変換する
2.DMSで移行する
ユースケース
1.本番環境のデータを開発環境へ移行
2.複数のDBをひとつのDBに統合する
3.継続的レプリケーション
Amazon ElastiCache
フルマネージドのインメモリ型キャッシュシステムを提供するふつうデータはハードディスクに保存され、データのI/Oが行われますが、インメモリ型ではデータをメモリに一時保存するので、ハードディスクと比較して、データのI/Oが高速に行うことができる。
※実際の挙動としては、データはElastiCacheがプロビジョニングしたEC2インスタンス(ノード)のメモリ(RAM)上に保存されます。
主にRDSやDynamoDBの前面に設置して使用され、データベースへのクエリの回数を減らし(負荷を下げる)、コストダウンとなる。需要に応じて、スケールアップ/ダウンできるスケーラビリティも備えている。インメモリデータストアとしてRedisとMemcashedを採用している
- Memcached
データを超高速でキャッシュし、高パフォーマンスを提供する。データの永続性やレプリケーション機能はない。シンプルなキャッシュ用途として使用される。 - Redis
データをキャッシュし、高パフォーマンスを提供する。データの永続化やバックアップ、レプリケーション、自動フェイルオーバーなど高可用性機能を持つ。
キャッシュ戦略
・ライト(write)スルー戦略
データベースへのデータ書き込みや更新が行われるたびに、同時にキャッシュにも書き込みます。この戦略では、キャッシュのデータが常に最新の状態を保たれるため、データの整合性が維持されます。しかし、書き込み性能が若干低下する可能性があるのと、アクセスされないデータがキャッシュに蓄積されるというデメリットもあります。
・遅延読み込み戦略
データベースへの書き込みを優先し、必要な時にのみキャッシュにデータを書き込みます。アプリケーションがデータを要求した際には、まずキャッシュを確認します。キャッシュにデータが存在する場合、そのデータをアプリケーションに返します。データが存在しない場合には、データベースからデータを取得し、そのデータをアプリケーションに提供した後でキャッシュに書き込みます。この方法では要求されたデータのみがキャッシュされるため、リソースの無駄遣いを減らすことができますが、キャッシュとデータベース間で一時的なデータの不一致が生じる可能性があります。また、キャッシュミス(キャッシュからデータを取得できなかった)した場合には、データ取得に時間がかかることがあります。
AWS Organizations
複数のアカウントを組織単位(OU)にグループ化
複数ユーザーへの一括請求でコストダウンとなる
SCP:AWS Organizations内のアカウントや組織単位(OU)に対して、AWSサービスやアクションの使用を許可または制限するためのポリシー
AWS Artifact
AWSが提供するコンプライアンス関連のドキュメント管理サービス(無料)
監査アーチファクト(インシデントが発生した際に残される痕跡)を検索できる
AWS WAF
保護されているWebアプリケーションリソースに転送されるHTTP(S)リクエストを監視できるWebアプリケーションファイアウォールです
以下の攻撃から保護
・SQLインジェクション
・クロスサイトスクリプティング
・OSコマンドインジェクション
・DDoS攻撃
WAFを適用できるサービス
・CloudFront
・Application Load Balancer(ALB)
・API Gateway
AWS WAF WebACLsについては、こちら
AWS Shield
DDoS攻撃対応
AWS Shield Standard
無料で使用でき、一般的な悪意のあるネットワークトラフィックを検出し、保護する
保護対象:Amazon CloudFront 、 Amazon Route 53
AWS Shield Advanced
有料で使用でき、詳細な悪意のあるネットワークトラフィックを検出し、保護する
保護対象:EC2、ELB、CloudFront、Global Accelerator、Route 53
AWS Inspector
OSやソフトウェアの脆弱性管理に関するセキュリティ対策のソリューション
ネットワーク接続性やパッケージの脆弱性を継続的にスキャンして、結果を確認できる
対象リソース:EC2, Lambda, ECRコンテナなど
※オンプレミスやほかのクラウドサービスは対象外
一部機能には、SSM Agentをインストールする必要がある
これは、EC2インスタンス上のソフトウェアパッケージとその詳細情報を収集する役割を果たす
AWS GuardDuty
AWSインフラストラクチャやリソースのネットワークトラフィックやログデータを分析し、潜在的な脅威や異常なアクティビティを監視・検出・通知する
GuardDutyで検知した情報をEventBrigeでフィルタリングし、SNSを通してユーザーにメール通知を行うこともできる
検出するデータソース
VPC Flow log , Route53 Logs , AWS CloudTrail , S3データイベント
AWS KMS
データの暗号化に使用する暗号鍵を安全に管理するサービス
1 . カスタマーマネージドキー(CMK)
ユーザーが作成し、完全に制御できる鍵
用途:特定のアプリケーションやデータに対する暗号化
2 . AWSマネージドキー
AWSが作成し、管理する鍵 / ユーザー側での管理は不要 / 無料で使用
用途:特定のAWSのサービス(S3、RDSなど)のデフォルトの暗号化
例:S3バケットのデフォルト暗号化に使用される鍵
3 . カスタマーデータキー(CDK)
CMKを使用して生成される一時的な鍵
用途:大量のデータや大きなファイルの暗号化
メトリクス
AWSリソースのパフォーマンスや稼働状況を監視するために収集される数値データを指す
メトリクスの対象としては、CPU使用率やメモリ使用量など。CloudWatchなどで使用される
高可用性
サーバーに障害が発生しても業務を継続的に稼働できる能力が高いこと
Amazon RDSの自動バックアップについて
AWS CloudWatch
AWSリソースに対してメトリクスを収集し、そのメトリクスから取得したデータがしきい値を超えた場合にアラートを出す。AWS SNSと統合されており、アラートを発報したタイミングでLambdaなどを実行することができる。
AWS側であらかじめ定義されているメトリクスを「標準メトリクス」と呼ぶ。EC2のCPUUtilizationなどである。標準メトリクスではカバーしきれない、メモリなどのメトリクス収集は、「カスタムメトリクス」として、EC2などへCloudWatchAgentをインストールすることで、収集することが可能です。
CloudWatch自体はVPC内に作成されるサービスではなく、AWSグローバルサービスとしてAWSの管理領域(コントロールプレーン)で動作しています。そのため、VPC内のリソース(EC2など)からCloudWatchへデータを送信する場合は、インターネット経由もしくはVPCエンドポイント(インターフェイス型)を作成し、プライベートネットワーク経由でCloudWatchやCloudWatch Logsに安全にアクセスできるように設定する。
※一つのアラームには、基本一つのメトリクスしか指定できない
CloudWatch Metrics
CPUやディスクIO,メモリ使用量などのメトリクスを収集することができる
→CloudWatch Alarmsを利用してLambdaやAmazon SNSなどのリソースを実行させることができる
CloudWatch Alarm(アラームとアクション)
メトリクスの値に応じて、SNSなどを利用してメール送信などのアクションを実行することができる。複数のメトリクスが閾値を超えたときにアラームを出したい場合は「複合アラーム」を作成する
CloudWatch Logs
ログの可視化
→各サーバーのログを一つに集約することでログの確認が容易となる
サブスクリプションフィルター
収集したログを直接、別サービス(Data FirehoseやLambda、OpenSearch Service)へと転送できる。
~EC2内のapacheログをCloud Watchで監視する方法~
・監視対象のEC2にログイン
・コマンドを実行(sudo yum install awslogs)
EC2インスタンス上のログをCloudWatchに送信するためのパッケージ
・ルートユーザーで/etc/awslogsディレクトリに移動して、以下のファイルを編集する
awscli.conf → ap-northeast-1
awslogs.conf → 最終行に以下を追加し、保存する
[HttpAccessLog]
file = /var/log/httpd/access_log
log_group_name = HttpAccessLog
log_stream_name = {instance_id}
datetime_format = %b %d %H:%M:%S
[HttpErrorLog]
file = /var/log/httpd/error_log
log_group_name = HttpErrorLog
log_stream_name = {instance_id}
datetime_format = %b %d %H:%M:%S
・awslogsデーモンをEC2が再起動した際に、自動的にawslogsデーモンをが立ち上がる
sudo systemctl enable awslogsd
・awslogsデーモンのステータスを確認
sudo systemctl status awslogsd
・awslogsデーモンの起動
sudo systemctl start awslogsd
・EC2インスタンスからCloudWatchにログを送るためにポリシーを追加する
・ロールの作成→ポリシーを設定(CloudWatchAgentServerPolicy)
・EC2インスタンスにロールを設定 →【アクション→セキュリティ→IAMロールの変更】
・awslogsdデーモンを再起動
sudo systemctl restart awslogsd
これでapacheのログをCloudWatchから監視できるようになる
※AWS Budgetsはコスト管理を行い、AWS CloudWatchはリソースのパフォーマンスを監視するツールである
その他、EC2などのCPUに対して、負荷をかけるコマンド
$ top
$ yes > /dev/null &
$ kill [processid]
AWS CloudTrail
ユーザーがAWSリソースに対して行ったAPI操作(だれが、いつ、どこで、どのように)をログ(json形式)に記録する監査サービス。またログはリージョンごともしくは全リージョンに一括して取得する設定ができる。長期に保存したい場合は、S3に保管する
記録対象となる動作
マネジメントコンソール、CLI、APIが操作として記録される
CloudTrailで取得したログは、90日しか残らないため、ログデータをS3に格納しておく。ログはJSON形式で保存され、gz形式でS3に保存される。またAWS KMSを利用して、ログデータを暗号化して保存しておくオプションもある。
CloudTrailはユーザーの監視を行っており、ConfigはAWSリソースの設定を監視している
AWS Trusted Advisor
AWS環境を自動監視、最適化するための推奨ベストプラクティスを提供
5つの柱をもつ(コスト最適化、セキュリティ、パフォーマンス、耐障害性、サービスの制限)
AWS Budgets
コスト管理を行い、予算(しきい値)を上回るコストが予想された場合、アラートを発生させる。
アラートは、メールやSNSのほかにSlack等のアプリでも通知を受け取ることが可能。また、しきい値を超えたときのアクションとして、特定のEC2やRDSインスタンスなどの停止設定が可能で、これによりさらなるコスト発生を抑制できる。
AWS Budgets によるコストの管理
予算アクションを設定する
AWS Report
定期的にAWS Budgetsで設定した予算のパフォーマンスをモニタリングし、それをレポートとしてまとめ配信するサービス。一回の配信で0.01$かかる。
AWS Cost Explorer
AWSが提供するコスト管理ツールで、AWSサービスの利用料金や使用状況をグラフやレポートで「見える化」し、分析できるサービスです。
コストと使用状況の可視化
月別・日別・サービス別・アカウント別など、さまざまな観点でAWSのコストとリソース使用状況をグラフや表で確認できます
過去データの分析と将来予測
最大過去12か月分のデータを表示・分析でき、今後12か月分のコスト予測も自動で行われます
レポート作成とエクスポート
分析結果をカスタムレポートとして保存したり、CSV形式でエクスポートできます
AWS Config
AWSリソース構成の変更を継続的に評価・モニタリング・記録して、変更管理を簡素化する
例)リソースに対する設定・変更・削除などが実施された場合に、その操作履歴を保存しておく
保存先はS3 / SNSでユーザーへ通知可能
EC2のパッケージ脆弱性を評価したい場合は、EC2にAmazon Inspectorエージェントをインストールして情報を収集する
CloudTrailはユーザーの監視を行っており、ConfigはAWSリソースの設定を監視している
AWS Cloud Adoption Framework(AWS CAF)
AWSへのクラウド導入フレームワーク
クラウド導入時、それぞれどういう視点で見る必要があるのかというのが記載されています。
以下の6つになります。
- ビジネス
- IT戦略やビジネスリスクについて求められる
- 人員
- スタッフのリソース管理や組織変更管理について求められる
- ガバナンス
- プログラム・プロジェクト管理やライセンスについて求められる
- プラットフォーム
- アーキテクチャや開発について求められる
- セキュリティ
- インシデントへの対応やインフラのセキュリティについて求められる
- オペレーション
- モニタリングやレポートと分析について求められる
AWS Snow ファミリー メンバー
データをAWSの内外に物理的(ネットワークを経由せず)に転送する
AWS SageMaker
機械学習(ML:Machine Learning)に必要なモデルの構築、トレーニング、デプロイするためのフルマネージド型のサービスです。
AWS CodeWhisperer
コードの記述中にコードのレコメンデーションを受け、コード内のセキュリティ問題を特定する
AWS Trascribe
音声のテキストを変換する
AWS Fraud Detector
不正の可能性があるオンラインアクティビティを特定する
AWS Lex
音声とテキストによるチャットボックスを作成する
AWS Textract
電子化したドキュメントからテキストデータを自動抽出する機械学習サービス
AWS Well-Architected フレームワーク
運用上の優位性、セキュリティ、信頼性、パフォーマンス効率、コスト最適化、持続可能性
※ベストプラクティスを提示するツール → AWS Well-Architected Tool
Nat GateWay
Public Subnetに配置されたNat GateWayを利用して、Private Subnetからインターネットへの通信(アウトバウンドトラフィック)を可能にする。その際のインターネットからPrivate Subnetへの通信は防ぐ(インバウンドトラフィック)
フェイルオーバー
稼働中DBが停止した場合、稼働中DBとデータを同期していた待機DBに自動的に切り替えること
ARN(Amazon Resource Name)
AWSリソースを一意に識別するための名前です。
例えばS3の特定のバケットにポリシーを付与する場合はそのバケットのARNを指定します。
TeraTermからEC2へのファイル送信はTeraTermの
オプション機能を使えば、簡単にできる(受信も可能)
高可用性
システムなどにおいて、サービス提供ができなくなる事態の発生頻度が少ないことを指す
ITIL(Information Technology Infrastracture Library)
ITサービスマネジメントにおけるベストプラクティス(成功事例)をまとめたドキュメント
ITSM(IT Service Management)
顧客のニーズに合致した適切なITサービスを提供するマネジメント活動全般のこと
セキュリティグループはステートレス
nslookup コマンドを使用するとIPアドレスからドメイン名を取得することができる(逆も可能)
ACL(Access Control List)
特定のIPアドレス、プロトコル、ポート番号などに基づいてトラフィックを許可または拒否します。ルーター、スイッチ、ファイアウォール、ファイルシステムなど、様々なネットワークデバイスやシステムで使用される。
ASN(Autonomous System Number)
大規模なネットワークを管理している事業者などに対して割り当てられる一意の識別子
KDDI→2516 , docomo→9605 , SoftBank→18069など
BGP(Border Gateway Protocol)
大規模なネットワークを管理しているAS同士で通信する際に使用するプロトコル
ELBのSSL Termination
ELB(Elastic Load Balancer)がクライアントとの間でSSL/TLS通信を終端し、
バックエンドのEC2インスタンスとは暗号化されていない通信を行う機能
(特徴)
・クライアントからのHTTPSリクエストをELBで受け取り、SSL/TLS通信を終端する
・ELBがSSL証明書の確認と暗号化/復号化処理を行う
・EC2インスタンス側でSSL/TLS処理を行う必要がなくなるため、インスタンスの負荷を軽減できる。
・ELBからバックエンドのEC2インスタンスへは通常HTTP(80ポート)で通信します(必要に応じて、ELBとEC2間の通信も暗号化可能)
・SSL証明書の管理がELB側で一元化されるため、複数のEC2インスタンスそれぞれに証明書を設定する手間が省けます
・AWS Certificate Manager(ACM)と統合して、無料のSSL/TLS証明書を利用できます
ELB
ネットワークトラフィックを分散させる / Connection Drainig機能が便利
ターゲットグループ
ELBからトラフィックを受け取る対象となるリソース(EC2,コンテナ,IPアドレスなど)の集合
リスナー
クライアントからELBへの接続用のプロトコルとポート番号を設定する
リスナーで受けたリクエストに対して、ターゲットグループへのルーティングが指定される
動作の流れ
クライアント → リスナー(ELB) → ターゲットグループ → 個々のターゲット(EC2など)
SSL Termination
ELBにACMで発行した証明書をアタッチすることで、ELBでSSL/TLS通信を終端させる
これにより、ELBが通信の暗号化の管理を行い、EC2などのバックエンドサーバーの負荷が軽減する
※ELBにACMで作成した証明書をアタッチするには、ELBに対応するドメイン名を登録しておく必要がある
使用料金に関してはこちら
【ELBの設定手順】
ここでELBの設定手順で個人的にわかりにくかった部分を紹介しています。
1. ターゲットグループの作成
下記の意味は、ELBから対象のリソース(EC2など)への通信方法を定義している

また、ターゲットグループの作成で対象のリソースへのヘルスチェックの設定も行える
今回のヘルスチェックのリクエストは、ELBから指定されたEC2インスタンスに対して、HTTP GETリクエストを「/」パスに送信するよう設定しています。パスは変更可能です。
下記の設定でApacheのドキュメントルート(ここでは/var/www/html/index.html)にあるファイルをヘルスチェックの対象ファイルとして設定していることになります。
※Apacheを起動させていないとヘルスチェックがUnhealthyとなる。

他のもろもろの設定を行い、ターゲットグループを作成すると以下のようになる。
作成直後は、まだELBと紐づいていないので、「未使用」状態となっている。

2.ELBのセキュリティグループを作成
インバウンドルールを外部トラフィックから許可するよう設定

※今回は証明書を発行しないという前提のため、HTTPS(ポート:443)は設定していない
3.ELBの作成(ALB)
リスナーとルーティングの設定

※ここでHTTPSプロトコルをリスナーで設定すると、ACMの設定が必要となる(今回は設定なし)
4.セキュリティグループの編集(EC2)
ELB対象リソースのセキュリティグループをELBからの通信のみ許可する設定に変更する
そのため今回はEC2のインバウンドルールを変更

EC2インスタンスのApacheを起動させると、ヘルスチェックがHealthyとなり、かつELBのDNS名からアクセスするとApacheの画面が表示されます。
Lambda
イベント駆動型アーキテクチャ/同期処理と非同期処理
サーバーのプロビジョニングなし(OSのパッチ適用、自動スケールアップなど)
料金ベース → 実行回数 + 実行時間
確保するメモリの量を設定
タイムアウト値→最大900秒(15分)
IAM Roleからポリシーをアタッチさせる必要がある
VPCアクセス
LambdaからVPCのプライベートサブネットに接続したい場合に設定する。これにより、Lambda関数がサブネット毎に接続用のENI(Elastic Network Interface)を作成して、プライベートサブネット内のAWSリソースへアクセスします。
VPCアクセスを設定したLambda関数は、ENIを作成したサブネットへアクセスできるようになる代わりに、インターネットへアクセスできなくなります。
Layers
サーバーレス設計(参考)
https://aws.amazon.com/jp/serverless/patterns/serverless-pattern/
Amazon API GateWay
サーバーをプロビジョニング・管理することなく、APIを作成・管理できるマネージドサービス
可用性の担保、スケーリング、APIキー管理といったAPI開発で必要なことを実装可能
リソースでAPIの構造を作成し、ステージでそのAPIをデプロイする(HTTPリクエスト用のURL発行)
Rest API と WebSocketに対応/リクエストベースの料金体系
API GateWayのデプロイタイプ(配置場所)としては、エッジ、リージョン、プライベート(VPC内)
API GateWayのキャッシュ機能(キャッシュヒット)
API GAteWayのスロットリング4種
【リクエスト/レスポンス構造】
Method Request(GET,POST,DELETE,PUTなど)
↓
Integration Request(HTTP,LAMBDA,MOCK)
↓
Endpoint(バックエンド側の処理部分)
↓
Integration Response
↓
Method Response(STATUS CODE,RESPONSE BODY)
公式チュートリアル
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/services-apigateway-tutorial.html
AWS Certificate Manager(ACM)
AWSクラウド上でSSL/TLS証明書の発行や自動更新ができるマネージドサービス
リージョンはバージニア北部にすること
(特徴)
・無料で証明書が発行できる
・有効期限が過ぎた証明書を自動更新してくれる
・複数の証明書を一元管理できる
・他のAWSサービスとの統合が簡単にできる
AWS Cloud9
ブラウザからコードを記述、実行、デバックが可能/クラウドベースのIDE
料金はEC2インスタンス + EBS分の料金
※2024年7月29日より、新規作成したAWSアカウントや、これまでCloud9を利用していなかったAWSアカウントで、Cloud9コンソールにアクセスできなくなっている模様
Amazon EC2 Auto Scaling
EC2インスタンスを自動的に追加または削除することでアプリケーションの可用性維持、コスト最適化に役立つ。※起動テンプレートを用いて、スケーリングを実施する
①スケージュールに基づくスケジューリング
②需要の変化に動的に応する動的スケーリングを用いて柔軟なスケーリングを実現
①②については予測ができるか、できないかでどちらを実現させるか策定する。もしくは組み合わせて行うことにより、柔軟に対応できる
※動的スケーリングについては、スケーリングポリシー(ターゲット追跡スケーリングなど)を設定することターゲット追跡スケーリングを作成するとCloudWatchにアラームが追加される
EC2のCPU使用率を故意にあげるコマンド(テストのため):stress -c 1
その他に、異常なEC2インスタンスを置き換える
(簡単な手順)
1.起動テンプレートを作成
2.Auto Scalingグループを作成
AWS System Manager
AWS System Managerは、AWSやオンプレミス、マルチクラウド環境のノード(サーバーや仮想マシンなど)を一元的に管理・運用するための包括的な管理ツール群です。
公式ドキュメント
System Managerを使ってサーバ管理を行う設定
(前提)サーバを”マネージドインスタンス”にする
(※System Managerで管理されているサーバをマネージドインスタンスと呼びます)
1.(対象のサーバに)SSM Agentの導入
(SSM AgentがSystem Managerと連携することでマネージドインスタンスとなる)
→Amazon Linux , macOS , SUSE Linux , Ubuntu Server , Windows Server のオフィシャルイメージにはプリインストール済みである。
2.SSM Agentからのアウトバウンド経路を用意(IGWもしくはVPCエンドポイント)し、System Managerとの経路を確保する
3.IAMロールの付与
→AmazonSSMManagedInstanceCoreポリシーを持ったIAMロールをEC2にアタッチする
上記の内容でEC2(マネージドインスタンス)を作成する
↓
Systems ManagerのFleet Managerからマネージドインスタンスを確認する
System Manager環境のセットアップ
IAMロールの作成→マネージドインスタンスの作成
SSM Agentを最新状態に維持する必要がある
→SSM Agentのバージョンが古いとSystems Managerの最新機能が使えない
→自動更新を行う(Fleet Managerの設定から自動更新を設定可能)
インベントリデータ管理の課題
→AWSのコンピューティング環境におけるリソース(EC2など)のメタデータ(OSやインストールされているアプリケーションのバージョン)を収集し、管理する。
Session Manager
・インバウンドポートを解放せずに、ノード(サーバーや仮想マシン)に接続。SSHなども不要
・プライベートサブネットへのインスタンスにもセキュアにアクセス可能
・サーバでの操作ログはS3またはCloudWatch Logsで保存可能(対象のロールにCloudWatch等へのアクセスポリシーを設定する必要あり)
Run Command
・ノード上でリモートコマンドを実行。複数サーバーに対して一括でコマンドを実行できる
・実行した結果はマネジメントコンソールもしくはS3バケットにて確認ができる
→48,000文字以内であればマネジメントコンソールで確認できるが、それ以上となればS3での出力設定が推奨される
Parameter Store
設定データや機密情報を安全に保存・管理するためのサービス
パスワード、データベース接続文字列、APIキーなどを集中管理できる
IAMと統合されており、アクセス制御が可能 / KMSと連携して値を暗号化できる
利用の流れ
1. Parameter Storeにデータベース接続情報などを保存
2. アプリケーションコードからParameter Storeの値を参照
3. 接続情報を動的に取得し、データベースに接続
Patch Manager
・大規模なノード群に対しOSやソフトウェアのパッチを自動適用
Automation
運用タスクの自動化(例:インスタンスの起動・停止・スナップショット作成など)
State Manager
・定義された状態を保つためのプロセスを自動化
・状態維持を目的とした定期処理を行うためのフレームワーク
Inventry
・OS上のアプリケーション一覧など構成情報を記録、可視化
・最短30分ごとに定期的なデータ収集
※マネージドノートとは、Systems Managerと連携するように設定された任意のマシンを指す
Route53
AWSが提供するスケーラブルで高可用性のドメインネームシステムサービスです。
デフォルトでは4台のNSサーバーが作成されている。
アクティブ/パッシブ(フェイルオーバー)
ヘルスチェックとフェイルオーバー機能
ウェブサーバーや他のリソースの正常性を監視し、問題が発生した場合にはトラフィックを代替のリソースにリダイレクトすることができます。アプリケーションの可用性を高めることができます
指定したドメイン名のネームサーバーのリストが簡潔に表示される
【Linux】
dig ドメイン名 NS +short
dig ドメイン名 SOA +short
【Windows】
nslookup
set type=NS
ドメイン名
※静的ページの際にS3を使用する場合、バケットの名前をドメイン名と同じにする必要がある
VPCエンドポイント
インターネットを経由せずに、VPC内のリソースとAWSサービス(S3,Route53,CloudWatchなど)間でプライベートに接続するための仕組みです。これにより、セキュリティを強化しつつ、インターネットゲートウェイやNATデバイスを使用せずに通信が可能となる。またプライベートな接続のため、低レイテンシーな通信となる。
・インターフェース型(Private Link):実態はENI(セキュリティグループを設定する)
→プライベートネットワークを利用する
・ゲートウェイ型:ルートテーブルに自動設定される。対象はS3,DynamoDBのみ
関連:https://docs.aws.amazon.com/ja_jp/vpc/latest/privatelink/gateway-endpoints.html
AWS PrivateLink
AWSのサービス、他のAWSアカウントのVPC内のサービス、およびサポートされているAWSマーケットプレイスパートナーサービスに対して、VPCエンドポイントを使用してセキュアでプライベートな接続を提供するAWSのサービスです。これにより、インターネットを経由せずにAWSのプライベートネットワーク内で通信が完結し、高いセキュリティと低レイテンシーを実現します
VPC Flow logs
VPCを流れるネットワークトラフィックのログ(単位:VPC,サブネット,ENI)を取得するサービス
ログの保存先は、S3もしくはCloudWatch
※S3でのログを確認する場合は、AWS Athenaを使用する
CloudWatch Logsへのフローログの発行 について
VPC Flow logsがCloudWatchに対してログを送信するなどの権限(IAMロール)を作成する必要がある/信頼ポリシーも確認する
AWS Network Firewall
VPC環境向けに設計されたフルマネージド型のネットワークセキュリティサービスです。VPC内のネットワークトラフィックを詳細に制御・保護し、企業のセキュリティ要件に柔軟に対応できる。
ウェブフィルタリング・ドメイン/URLフィルタリング
危険なドメインやIPアドレスへのアクセスをブロックし、Webフィルタリングも可能
侵入検知・防止(IDS/IPS)
悪意のある通信や異常なトラフィックを検出・遮断する
ログと可視化
S3、CloudWatch Logs、Kinesis Firehoseなどにアラートログやフローログを出力し、トラフィックの可視化と監査を実現する
一元管理
AWS Firewall ManagerやAWS Organizationsと連携し、複数VPC・アカウントにまたがる一元的なポリシー管理が可能
Amazon EventBridge
AWSリソースの状態変化やスケジュールに応じてアクションを実行するイベント駆動型のサーバーレスサービスです。アプリケーションコンポーネント間どうしをゆるやかに結合(疎結合)し、システム間の自動化を行うことができる。
※イベントとは、システムやアプリケーションで発生した状態の変化や出来事を指す。
・EC2インスタンスを決まった時間に起動と停止を行う
・S3バケットにファイルがアップロードされたとき
・アプリケーションで新規ユーザーが登録されたとき
Event buses
- AWSサービスやアプリケーション、サードパーティ(SaaS)などからイベントを受信するルーター
- 受信したイベントは、イベントバスに関連付けられたルールによって評価され、条件に合致する場合に指定されたターゲット(AWS Lambda、SNS、SQSなど)へ通知される
- ルール設定時に、イベント内容を変換する(フィールドの追加・削除や値の変更)ことも可能
- 1つのイベントが複数のルールに合致する場合、それぞれのルールに設定されたターゲットへ同時に通知される(最大5つの同時通知が可能)
Pipes
- Event busesと同じどちらもイベントを中継・処理するサービス
- ただし、Pipesは、ポイントツーポイント(単一ソース→単一ターゲット)を採用しており、シンプルな構成でエンリッチメントやフィルタリングなどの高度な処理を標準で提供している
※エンリッチメントとは、イベントデータをターゲットに送信する前に外部サービス(例:Lambdaなど)で取得し、イベント内容を拡張する機能
Scheduler
- サーバーレスなスケジューリング機能を備えたサービスであり、スケジュール(繰り返し・1回限り)に基づいてタスクが実行される
- 270以上のAWSサービス、6,000以上のAPI操作をターゲットに指定可能
- 少なくとも1回(at-least-once)の配信を保証し、リトライやデッドレターキュー(DLQ)の設定も可能
Amazon EventBridge スケジューラとは
AWS RDSの自動停止機能を作成してみた【EventBrige Scheduler + Lambda】
【5分で簡単!】Amazon EventBridge SchedulerでRDSの自動定期停止を実装してみた
Client VPN Endpoint
クライアントからVPCに対して、セキュアな通信を可能にする。EndpointとVPC内のサブネット内にあるENIと関連付ける。クライアント側にVPN用のソフトウェアが必要である(適切なものを選択)
Site-to-Site VPN(サイト間VPN)
インターネット上に仮想的なVPNトンネル(IPsec)を構築し、オンプレミスとAWS VPC間の通信を暗号化・保護する仕組みです。高可用性のため、通常は2つのVPNトンネルが利用されます。VPNトンネルを経由したネットワークトラフィック情報は、Amazon CloudWatchで収集できます。
オンプレミス側
カスタマーゲートウェイ(オンプレミスのルーター)
※ユーザー管理のため、カスタマーゲートウェイが一つの設定であると単一障害点(SPOF)になりえる。そのため、代替え機などを用意しておく。
AWS
VPCにVGW(Virtual Private Gateway)をアタッチする
※冗長化された高可用性設計となっているため、単一障害点(SPOF)にはならない。

AWS Site-to-Site VPNとは
AWS Site-toSite VPNの仕組み
AWS Transit Gateway(TGW)
複数VPCとオンプレミスネットワークを中央ハブで接続する。Transit Gatewayは、拡張性の高いクラウドルーターとして機能し、新しい接続は一回だけ行われる
AWS DataSync
オンプレミスとAWSクラウド、またはAWS内のストレージサービス間で、大量のデータを安全かつ高速に転送・同期できるフルマネージド型のオンラインデータ転送サービスです。データ転送には、SSL/TLSを使用しており、データは暗号化されています。
オンプレミス側のデータをAWSのストレージサービスへと転送・同期させる場合は、オンプレミス側にDataSyncエージェントをインストールしておく必要があります。
ファイルなどのデータを移行する際に、除外パターンも設定可能です。
AWS Transfer Family
AWS ストレージサービスとの間でファイルを転送できる安全な転送サービスです。
SFTP/FTPS/FTP/AS2といった「プロトコル互換」を重視したファイル転送サービスです。既存のファイル転送クライアントや社外パートナーとの互換性を維持しつつ、Amazon S3やEFSへのファイル受け渡しを実現します。大規模なデータ移行には最適化されていませんが、日常的なファイル交換や従来のワークフロー移行に最適です。
マネージドワークフローは、ファイルのアップロードやダウンロードをトリガーとして、処理を自動実行できる機能です。実行可能な処理には、ファイルのコピーやタグ付けなど基本的な処理に加えて、Lambda関数の呼び出しがあります。Lambda関数でカスタマイズ可能なアクションを定義し、ファイルをダウンロードしたあとにデータの変換、分析、データベースへの転送などの処理を自動化できます。
AWS Global Accelerator
クライアントと地理的に近いエッジロケーションを通して、AWS独自のネットワークを通ることにより、通信の最適化を行っています。Global Acceleratorには静的IPv4アドレスが2つ付与されており、クライアントはこのIPアドレスにアクセスすることでGlobal Acceleratorからの通信を受け取るALBなどのリソースのIPアドレスを気にする必要がなくなります。また複数のリージョン間での負荷分散を行うことができます。
公式ドキュメント
AWS Global Accelerator の仕組みの概要
IP Anycast(アイピーエニーキャスト)
共通のサービス用IPアドレスを、複数のホストで共有する仕組みです。
JPRSより
WebSocket
・クライアントとサーバー間でリアルタイムの双方向通信を可能にするネットワーク通信技術
・双方向通信が可能(※HTTPはクライアントからサーバーへの一方向通信)
・一度接続を確立すると、長期間維持される(高いリアルタイム性をもつ)
エクスポネンシャル・バックオフ(Exponential Backoff)
通信先サーバーに過度の負担をかけないようにするためのリトライ手法
クライアントが通信に失敗した際に要求間の遅延を増やしながら定期的に再試行するアプローチ
ChefとPuppet
どちらもサーバーやインフラストラクチャの構成管理を自動化するためのツール
インフラストラクチャをコードとして管理する(Infrastructure as Code)
※CloudFormationはAWS専用のIaCツール
アクセスキー
AWSのサービスやリソースにプログラム的にアクセスするための長期的な認証情報
アクセスキーIDとシークレットアクセスキーの二つで構成されている
リバースプロキシ
クライアントとWebサーバーの間に配置され、クライアントからリクエストを受け取り、それをWebサーバーに転送する中継サーバーのようなもの。メリットとして、負荷分散、セキュリティ強化、パフォーマンス向上、高可用性などがあげられる
AWS SAM
ローカルでLambda関数の作成・実行をテストできる。
IaC(Infrastracture as Code)でのサーバレス環境を構築できる
AWS Application Composer
サーバーレスアプリケーションを視覚的に設計し、SAMテンプレートを作成できる
※VSCodeでも操作可能(拡張機能をインストール)
※初期段階で構成図(設計)をすり合わせることができるため、齟齬や認識を合わせることができる
AWS Step Function
複数のAWSサービスをサーバーレスでワークフローとして管理することができ、アプリの構築と更新を迅速に行うことができる。専用のGUI(Workflow Studio)を介して、視覚的にワークフローを作成することができます。
ワークフロータイプ
・標準ワークフロー
最長1年間の連続実行が可能で、長い期間をかけて実行される大規模なバッチ処理や業務プロセスに最適です。実行が完了したあとでも90日以内なら実行履歴をフルで取得できるため、障害対応や監査の際に詳細なトレースを確認できます。明示的にRetry動作を指定しない限り、同じタスクや状態が重複実行されることはないので、決済処理など重複が許されない処理に向いています(exactly-onceモデル)。料金は、ワークフロー内でどれだけ「状態遷移」が発生したかに基づいて課金されます。実行の各ステップが完了するごとにカウントされるしくみです
・Expressワークフロー
最大5分の実行制限があるものの、膨大な数のリクエストを高速に処理できるよう最適化されています。IoTデバイスからの連続的なデータ取り込みや、ストリーミングデータの迅速な変換などリアルタイム性が求められるケースに活用されています。ワークフロー実行中に生成された履歴エントリのみが保持されるので、継続的な監査やトラブルシューティングにはCloudWatch Logsなどの外部ログサービスを併用する必要があります。実行方法によって2つの実行モデルがあり、非同期Expressワークフローでは同じ処理が複数回実行される可能性があり、同期Expressワークフロー処理は多くても1回のみ実行されます。料金は、実行回数(ワークフロー単位)、実行の合計時間、実行時のメモリ消費量に応じた従量課金制であり、短い処理を高頻度で行う場合にコスト効率よく利用できます
AWS SES(Simple Email Service)
Emailの送信に限定されるクラウドベースのメール送信サービス
Amazon QuickSight
クラウドベースのビジネスインテリジェンス(BI)サービス
BI ツールでは、ビッグデータや各種データソースから洞察を抽出し、分析した結果を視覚的で簡易的な形式で表示することが可能
※様々なデータソースへとアクセスして、データを抽出・加工して表示する
Amazon DynamoDB
サーバーレスのフルマネージド NoSQL データベースであり、あらゆる規模で 1 桁ミリ秒のパフォーマンスを実現している。 キーとバリューでデータ管理を行う。
コスト最適化
・標準テーブルクラス
デフォルトのテーブルクラスであり、大半のワークロードに推奨されます。スループット(読み書き)コストが低いため、頻繁にアクセスされるテーブルや、アクセスコストがストレージコストよりも大きい場合に最適です。ストレージコストは標準-IAより高めですが、アクセス頻度が高いデータに最適です
・標準IAテーブルクラス(Infrequent Access)
アクセス頻度が低いデータ向けに設計されたテーブルクラスです。ストレージコストが標準クラスより最大60%安価ですが、読み書きリクエストのコストは約24%高くなります。代表的な用途は、アプリケーションログ、古いソーシャルメディア投稿、注文履歴、過去のゲーム実績など、長期間保存するが参照頻度が低いデータです
高可用性
・単一障害点(SPOF)に配慮された構成になっており、3つのAZにデータが自動的に配置される。
バックアップ
「オンデマンド」と「ポイントインタイムリカバリ(PITR)」を利用した方法がある。
オンデマンドは、ユーザー自身が任意のタイミングでマネジメントコンソールなどからフルバックアップを作成する。PITRは差分バックアップを自動的に行う。リカバリ時は35日前までさかのぼることができる。
読み取り整合性
データベースからデータを読み取る際に「どれだけ最新のデータを確実に取得できるか」を制御する仕組みです。
DynamoDB Streams
テーブルに対して行われた直近の24時間の変更(追加や更新、削除)をログに保存する機能です。
非同期で動作するため、テーブルへの影響はない。
グローバルテーブル
DynamoDBのテーブルを複数のリージョンにまたがって利用できるサービスです。複数のリージョンにDynamoDBテーブルが自動的にレプリケートされ、ユーザーは地理的に近いリージョンのDynamoDBテーブルへ高速な読み込みと書き込みが可能になります。データのレプリケーションは通常1秒以内に完了し、リージョン間のデータ冗長化によって高可用性が確保されます。
Amazon DynamoDB Accelerator(DAX)
DynamoDBの処理速度を大幅に速くすることを目的としてフルマネージドサービス
インメモリキャッシュを用いることでメモリ内にデータをキャッシュし、高速にデータが取得できる
DynamoDBへのアクセス回数が減るなどのメリットもある。
Amazon CloudHSM
AWS CloudHSMは、AWSクラウド上で提供されるクラウドベースのハードウェアセキュリティモジュール(HSM)サービスです。HSMは、暗号化オペレーションを安全に実行し、暗号化キーを物理的に保護する専用ハードウェアです。CloudHSMを利用することで、自社専用のHSMインスタンス上で暗号鍵の生成・保管・管理・利用を行えます。
RDS
わずか数回のクリックでクラウド内にリレーショナルデータベースをセットアップ、運用、スケールすることができる。
- マルチAZ配置(高可用性と耐障害性)
1. プライマリDBインスタンスと同期レプリケーションされたスタンバイインスタンスを別のアベイラビリティーゾーンに配置します。
2. 障害発生時に自動的にスタンバイにフェイルオーバーします。
3. 同期レプリケーションにより、データ損失のリスクを最小限に抑えます。 - パフォーマンスとスケーラビリティ
1. リードレプリカを使用して読み取りパフォーマンスを向上させることができます。
2. ストレージとコンピューティングリソースを簡単にスケールアップ/ダウンできます。
個人的に盲点だったので、DBサブネットグループについても提示しておきます。
DBインスタンスのメンテナンス(ハードウェア・OS・DBエンジンなど)実行に関してはこちら
RDSのバックアップについて
RDSの自動バックアップの保持期間は最大で35日です。35日を超えてスナップショットを保持したい場合は、1. AWS Backupサービスによりバックアップを作成する 2. 手動でバックアップを作成する(この場合、スナップショットの保持期限の制限はない)
AWS Kinesis
リアルタイムでストリーミングデータを収集、処理、分析するためのAWSのマネージドサービス
データストリームとは、連続的に生成される大量のデータのことを指す
具体的には以下のようなデータ
- アプリケーションログ:
- Webサーバーのアクセスログ
- アプリケーションのエラーログ
- ユーザーアクティビティログ
- IoTセンサーデータ:
- 温度、湿度、圧力などの環境データ
- 機械の稼働状況データ
- 位置情報データ
- ソーシャルメディアフィード:
- ツイート
- ソーシャルメディアの投稿やコメント
- 金融取引データ:
- 株価のリアルタイム更新
- 取引情報
- クリックストリームデータ:
- Webサイトやアプリケーション上のユーザーの行動データ
- 動画・音声ストリーム:
- ライブ配信の動画データ
- 音声認識システムからの入力
- ネットワークトラフィックデータ:
- ネットワーク機器からのパケット情報
- セキュリティイベント
これらのデータは、常に生成され続け、リアルタイムでの処理や分析が求められるものです。Kinesisは、このような大量のストリーミングデータを効率的に取り込み、処理し、必要に応じて他のAWSサービスと連携して分析や保存を行うことができる
Amazon Kinesis Data Streams
外部から送信されるストリーミングデータを収集するサービスです。センサーなどが生成したストリーミングデータをKinesis Data Streamsのストリームへ送信し、ストリーム上のデータは分析や機械学習などを行う他のAWSサービス(例えばLambda、Data Firehose、Managed Service for Apache Flinkなど)がリアルタイムに読み取って(超低レイテンシー)処理します。なお、収集したデータは一定期間(デフォルトで24時間、最長で1年)保持できる。
即時性が求められるアプリケーションに最低であり、IoTセンサーデータ、アプリケーションログ、金融取引データなど多様なデータソースに対応する。データは「シャード」単位に分割され、並列処理が可能となる。

Amazon Kinesis Data Streams とは
Amazon Kinesis Data Streams の用語と概念
Amazon Kinesis Video Streams
カメラやその他のデバイスからリアルタイムで動画データを取り込むサービスです。取り込んだ動画データは、他のAWSサービスと統合して、解析や加工、再生などに利用できる。
Amazon Kinesis Video Streams とは
Amazon Managed Streaming for Apache Kafka (MSK)
Apache Kafkaのマネージドサービスで、ストリーミングデータの「受け渡し・蓄積」を担います。
データをリアルタイムで受け取り、さまざまなシステムやアプリケーションに配信する「データのハイウェイ」の役割です。
データの流れ
・センサーやアプリケーションからのデータをAmazon MSK(Kafka)に送信
・Amazon Managed Service for Apache FlinkがMSKのデータをリアルタイムで処理・変換
・処理結果をS3、OpenSearch、RDSなど他のAWSサービスに出力
Amazon Kinesis Data Firehose
Kinesis Data Streamsから送信されたストリームデータを受け取り、フォーマット変換や圧縮、暗号化を行ったのち、S3、Redshift、OpenSearch Service、Splunkなどの宛先に自動で配信するフルマネージド型のサービスです。
Amazon Managed Service for Apache Flink(旧:Kinesis Data Analytics)
ストリーミングデータをSQLやApache Flinkベースのアプリケーションでリアルタイムに分析・処理できるサービスです。Kinesis Data StreamsやData Firehoseからデータを取り込み、分析結果をS3、Redshift、Lambdaなどに出力できる。サーバーレスのため、管理不要。
Amazon Managed Service for Apache Flink とは
Amazon EC2 Dedicated Host
EC2インスタンスの仕組み
ユーザーがAWS Management ConsoleからEC2インスタンスを起動すると、バックエンドでは物理サーバー上で仮想マシン(EC2インスタンス)が起動します。
一つの物理サーバー上で、複数のAWSアカウントに属する複数のEC2インスタンスが同時に稼働していることがあります。これは「マルチテナント」環境と呼ばれ、AWSがリソースを効率的に利用するための仕組み
Dedicated Hostsを使用すると、ユーザーは物理サーバー全体を専有することができる
この物理サーバー上では、そのユーザー(またはそのユーザーが許可した他のAWSアカウント)のEC2インスタンスのみが稼働する
他のAWSアカウントのインスタンスがその物理サーバー上で稼働することはない
Dedicated Hostsの利点
・ライセンスコンプライアンス: 特定のソフトウェアライセンスでは、専用の物理ハードウェアが必要な場合があります。
・パフォーマンスの一貫性: 他のユーザーの影響を受けずに、一定のパフォーマンスを維持できます。
・セキュリティとコンプライアンス: 物理的な分離が必要な規制要件を満たすことができます。
・インスタンスの配置制御: 特定の物理サーバー上に特定のインスタンスを配置する制御が可能です。
AWS Cognito
APIベースで実装されるモバイルアプリやWebアプリにユーザー認証機能を提供するサービス
ユーザープール
ユーザー情報を集中管理するためにクラウド上の論理的なデータベースであるユーザーディレクトリを所有している。認証機能 / アプリへのアクセスに利用できるトークンを提供
IDプール
認可機能 / AWSにアクセスできるクレデンシャルを提供
一般的には、ユーザープールとIDプールを組み合わせて使用することが多いい
OAuth 2.0は、主に「認可」のためのフレームワーク
OpenID Connectは、OAuth 2.0の上に構築された「認証」のためのレイヤー
AWS Glue
分析用のデータを準備するサーバーレスのデータ統合サービス
ETL(データ抽出=Extract・変換=Transform・ロード=Load)ジョブの作成と実行が主な機能
※サーバーレスという点が、AWS EMRとの違いである
処理(1例)
S3(データソース) → Glue → Redshift(ターゲット)
必読
AWS Glue: 仕組み
AWS Glue の概念
AWS再入門ブログリレー2022 AWS Glue編

AWS Data Pipeline
AWS上のさまざまなサービスやオンプレミスのデータソース間で、データの移動や変換を自動化するためのフルマネージドサービスです。非サーバーレスであり、EC2上で実行されている。
AWS IoT Core
インターネットに接続されたデバイスから、クラウドアプリケーションやその他のデバイスに簡単かつ安全に通信するためのマネージド型クラウドサービス
詳しくはこちら
AWS SMS(Server Migration Service)
オンプレミスのデータセンターで稼働している仮想マシンをAWS上に移行するためのサービス
仮想マシンの移行に特化
VMware、Hyper-V、Azure上の仮想サーバーをAmazon Machine Image (AMI)としてAWSに移行できる
既存環境への影響が少ない
既存の仮想サーバーを稼働したまま移行することができる。また、初回の移行(完全レプリケーション)後は、変更された部分のみ転送できる増分レプリケーションが行われる
コスト効率
SMSサービス自体は無料で、S3ストレージとEBSスナップショットの使用料のみがかかる
移行の流れ
1. AWS SMSは移行プロセス中に、ソース環境のサーバーボリュームを一時的にS3バケットにレプリケーションする
2. このバケットは暗号化され、7日後に自動的にコンテンツが削除されるバケットポリシーが設定される
3. S3バケットは一時的なストレージとして機能し、VMDKまたはAVHDファイルを保存する
4. S3にアップロードされたVMDKまたはAVHDファイルからEBSスナップショットを作成
5. このスナップショットから最終的にAmazon Machine Image(AMI)が作成される
AWS Storage Gateway
オンプレミス環境とAWSクラウドストレージ(主にAmazon S3、Amazon FSx、Amazon S3 Glacierなど)をシームレスに接続するハイブリッドクラウドサービス
3つのゲートウェイタイプ
ファイルゲートウェイ(File Gateway)
・用途: オンプレミスからAmazon S3やAmazon FSxへのファイル単位のアクセスを提供。
・プロトコル: NFS(Network File System)、SMB(Server Message Block)をサポート。
・構成: オンプレミスに仮想アプライアンス(VMまたはハードウェアアプライアンス)をデプロイし、AWSのS3バケットやFSxファイルシステムと連携。
・特徴: ファイルをS3オブジェクトとして保存し、ローカルキャッシュによる低遅延アクセスが可能。
ボリュームゲートウェイ(Volume Gateway)
・用途: オンプレミスからブロックストレージとしてAWSクラウドを利用。
・プロトコル: iSCSI(Internet Small Computer System Interface)をサポート。
・構成: オンプレミスに仮想アプライアンスを設置し、iSCSI経由でストレージボリュームを提供。
・データはAmazon S3に保存され、スナップショットはEBSスナップショットとして管理。
・モード:
– キャッシュ型ボリューム: 頻繁にアクセスするデータをオンプレミスにキャッシュし、主要データはS3に保存。
– 保管型ボリューム: 全データをオンプレミスに保持し、スナップショットのみS3にバックアップ。
ここでの「スナップショット」とは、主にボリュームゲートウェイ(Volume Gateway)で利用される「オンプレミスのストレージボリュームの時点(ポイントインタイム)バックアップ」を指します。このスナップショットは、Amazon EBS(Elastic Block Store)スナップショットとしてAWSクラウド上に保存されます。
テープゲートウェイ(Tape Gateway)
・用途: 物理テープ装置の代替として、仮想テープライブラリ(VTL)をクラウド上に構築し、長期バックアップやアーカイブを実現。
・プロトコル: iSCSI-VTLをサポート。
・構成: オンプレミスのバックアップアプリケーションから仮想テープに書き込み、データはAmazon S3やS3 Glacier Deep Archiveに保存
AWS Lightsail
AWSが提供するVPS(Virtual Private Server:仮想プライベートサーバー)サービス
EC2とは異なる点として、コンピューティング環境だけでなく、ストレージ、スナップショット、ロードバランサー機能、ファイアウォール、DNS機能など、いくつもの機能が一つのパッケージとして提供される
AWS Lightsailはインスタンスが停止中であっても、課金の対象となる
小規模なWebサイトの構築、テスト環境などに利用するのが一般的であり、大規模なシステム用のサーバーとしては不向きである
VPC ピアリング接続
詳しくはこちら
※異なるリージョンのVPC間におけるセキュリティグループの設定には、一部、制限があります。別リージョンのVPCのセキュリティグループをインバウンドルール内で指定することはできないため、代わりに、VPCのCIDRブロックを指定する必要があります。
AWS Neptune
高速で信頼性に優れたフルマネージド型のグラフデータベースサービスで、高度に接続されたデータセットを使用するアプリケーションの構築と実行を容易にする
AWS Athena
Amazon S3などのクラウドストレージに保存されたデータ(csvなど)を標準SQLで直接分析できるサーバーレスなデータクエリサービスです。従量課金制であり、クエリの実行量やスキャンしたデータ量に応じて課金されるため、コスト効率が高いです。
(使用の流れ)
1. csvファイルをS3にアップロード
2. Athenaでテーブル作成(csv)の構造に合わせて
3. SQLクエリを実行してデータを分析
AthenaでSQLで集計・分析し、その結果をQuickSight(BIツール)上でグラフやダッシュボードとして即座に可視化できる。
AWS EMR (Amazon Elastic MapReduce)
フルマネージド型のビッグデータ処理サービスです。ビッグデータを処理する既存のフレームワークであるHadoop(ハドゥープ)やSpark(スパーク)を用いています。

【構成】
EMRクラスター
EMRの処理基盤となる仮想サーバ(EC2インスタンス)の集合体。クラスターには「マスターノード」「コアノード」「タスクノード」などのノードタイプがあります。
マスターノード
クラスター全体を管理するノード。コアノードおよびタスクノードへ処理を投入したり分散処理の調整を行う。HadoopやSparkなどの分散処理フレームワークのマスターサービスが動作している。
コアノード(ストレージ)
データ処理、データの保存・分散を同時に行う。
データを保存するファイルシステムを持つ(HDFS、EMRFS)
・HDFS(Hadoop Distributed File System)
分散処理ソフトウェア「Hadoop」のファイルシステムです。EMRではマスターノードとコアノードで利用します。EMRクラスターが終了すると、HDFS上のデータは失われます。
・EMRFS(EMR File System)
Amazon S3をEMRクラスターからファイルシステムとして利用できるようにした機能です。
データを永続的に保持でき、EMRクラスターが終了してもデータは失われません。また、S3が持つ機能(データの暗号化やデータ読み込み時の強い一貫性のサポートなど)も備わっています。
タスクノード
データ処理のみを行い、ストレージは持たない。オートスケーリングに対応し、処理負荷に応じて自動的に増減可能である。
【アーキテクチャー図】
外部データソース(例:Kinesis Data Firehose, S3, RDSなど)
↓
Amazon EMRクラスター
├── マスターノード(複数台で冗長化)
├── コアノード(データ処理&ストレージ)
└── タスクノード(データ処理のみ、オートスケーリング)
↓
データストア(S3, HDFS, DynamoDBなど)
↓
メタデータ管理(AWS Glue Data Catalog)
AWS Personal Health Dashboard
AWSが利用者に影響を与える可能性のある事象が発生した場合に、アラートと対処のガイダンスを提供する
AWS CodeCommit
フルマネージド型のソース管理サービス / プライベートなGitリポジトリをAWSクラウド上でホストできる / スケーラブルでセキュア、既存のGitツールともシームレスに連携できる / 月々のアクティブユーザー数、APIリクエスト数、利用容量による課金体系
※2024年7月25日に新規利用が終了した模様
AWS CodeBuild
ソースコードをコンパイル、テスト実行し、デプロイ可能なソフトウェアパッケージを作成できるフルマネージド型のビルドサービス
ビルド用のサーバーをプロビジョニング・管理する必要がない
利用した分のお支払い
ビルドプロセスを細かく設定する方法としては、buildspec.yml(CodeBuildが認識するファイル)に記述する
CodeBuildの記事を作成しました。気になる方はこちら
AWS CodeDeploy
様々なコンピューティングリソース(EC2, Lambda, オンプレ環境など)に対してデプロイを行う
Auto Scalingする構成に対しても、連動して自動でデプロイする
AWS上のリソースを対象としたデプロイの場合、料金がかからない
オンプレミスへのデプロイの場合は、一回につきUSD 0.02かかる
デプロイの詳細な設定はappspec.ymlに記述する
※オンプレミスとEC2にデプロイメントする際にはCodeDeploy Agentのインストールが必要
CodeDeployの記事を作成しました。気になる方はこちら
AWS CodePipeline
フルマネージド型の継続的デリバリーサービス
ソースコードの変更をトリガに、ビルド、デプロイといった一連の流れを自動的に実行する / アクティブなパイプライン数で料金が決まる
CodePipelineのトリガ
- デフォルトの動作:
- コードがリポジトリにプッシュされると、CodePipelineが自動的に開始されます。
- トリガーの種類:
- 「プッシュ」トリガー: リポジトリへのコードプッシュで開始されます。
- 「プルリクエスト」トリガー: プルリクエストの作成、更新、クローズ時に開始できます。
- フィルタリング:
- 特定のブランチへのプッシュ
- 特定のファイルパスの変更
- 特定のGitタグの作成
- 設定の柔軟性:
- トリガーをカスタマイズして、特定の条件下でのみパイプラインを実行することができます。
- 手動実行:
- 必要に応じて、パイプラインを手動で開始することも可能です。
- その他のトリガー:
- スケジュールベースの実行
- AWS CLIやSDKを使用したプログラム的な開始
AWS Backup
AWSクラウド上のさまざまなサービスやハイブリッドワークロード(オンプレミスを含む)のデータ保護を一元化・自動化できる、フルマネージド型のバックアップサービスです
Amazon Macie
Amazon MacieはS3オブジェクトに保存された機密情報を自動的に発見・分類・保護するサービス
機械学習(LM)とパターンマッチングを利用して、お客様の機密データを検出して、保護するデータセキュリティおよびデータプライバシーサービスです。Amazon Macieでは検知した結果をユーザーに通知する機能はないため、EventBridge経由でSNSなどにリアルタイムでの連携が可能です。またAWS Security Hubと連携することでGuardDutyやConfigなど、他のAWSサービスから検出されたセキュリティ結果と合わせて、一元的に管理・可視化することができます。
Amazon Detective
AWS リソースからログデータを自動的に収集し、機械学習 (ML)、統計的分析、グラフ理論を使用して、データセットを構築します。これを使用して、より効率的なセキュリティ調査を行えます
AWS IAM Access Analyzer
AWSリソースに対する不要なアクセス許可を識別し、アクセス許可のリスクを評価するサービス
参考はこちら
Amazon Personalize
データを使用してユーザーにアイテムのレコメンデーションを提供する、フルマネージド型の機械学習サービス
Amazon Polly
深層学習技術を使用して、テキストなどに書かれた文字を人間の声のような音声へと変換させる
音声を直接ダウンロードできたり、S3に保存して使用することも可能
Amazon Comprehend
機械学習を利用した自然言語処理サービスです。指定したテキストを分析し、キーフレーズの検出や感情の判定などを行うことができる

Amazon Rekognition
深層学習に基づいた画像認識および画像分析をアプリケーションに簡単に追加できるサービス
Amazon Transcribe
機械学習を利用した自動音声認識サービスで、音声データをテキストに変換する
Amazon FSx
ファイルシステムに特化したフルマネージド型のファイルストレージサービス
現在は4つのファイルシステムのタイプがありますが、今回はAmazon FSx for Windows File Serverについて
<FSx for Windows File Server>
- 専用ファイルサーバー:ファイル共有に特化したマネージドサービス
- 管理責任:AWSが基本的な管理タスクを自動化
- 高性能:最大12 GB/秒のスループットと400,000 IOPSを提供
- 自動スケーリング:需要に応じて自動的にスケーリング
- 高可用性:複数のアベイラビリティーゾーンにまたがる構成が標準
- Active Directoryと統合しやすい
AWS IoT Device Defender
Iotデバイスのセキュリティを監視し、管理するサービス
AWS STS(Security Token Service)
AWS リソースへのアクセス権限付きの一時的なセキュリティ認証情報を作成し、信頼されたユーザーに提供することができる
IAMのアクセスキーとの違いは「有効期限」を設定して一時的な許可が可能な点と、リクエストに応じてその都度動的に作成されるため、ユーザーに紐づいて保存されない点となります
参考はこちら
Saving Plans
一定のご利用量 ($/時間) を 1 年または 3 年分ご契約いただくことで、AWS のご利用料金を低く抑えることができる柔軟性のある料金モデル
詳しくはこちら
AWS では、Compute Savings Plans と EC2 Instance Savings Plans の 2 種類の Savings Plansがある
コンピューティング
Compute Savings Plans は、コストを最大で 66% 削減する、最も柔軟性が高いプランです。Compute Savings Plans はインスタンスファミリー、サイズ、AZ、リージョン、OS、テナンシーに関係なく、EC2 インスタンス、AWS Fargate および AWS Lambda のご利用に自動的に適用される
EC2 インスタンス
EC2 Instance Savings Plans は最も料金が低く、リージョンの個々のインスタンスファミリーの使用に対するコミットメント (バージニア北部での M5 使用量など) と引き換えに最大で 72% 節約できます。これにより、AZ、サイズ、OS、テナンシーに関係なく、そのリージョンで選択したインスタンスファミリーのコストが自動的に削減されます。EC2 Instance Savings Plans では、そのリージョンのファミリー内のインスタンス間で使用量を柔軟に変更できる
AWS Compute Optimizer
機械学習を活用してAWSリソースのコンピューティングリソースの設定と使用状況を分析し、コスト最適化とパフォーマンス向上のために推奨事項を提供するサービス
主な機能
EC2インスタンス、Auto Scalingグループ、EBSボリューム、Lambda関数などのリソースを分析する
過去の使用状況メトリクスを機械学習で分析し、コスト削減とパフォーマンス向上のための推奨事項を生成する
過剰プロビジョニングやプロビジョニング不足のリソースを特定し、最適なインスタンスサイズやタイプを提案する
Amazon Elastic Transcoder
動画や音声ファイルを様々なデバイス(スマートフォン、タブレット、PC等)で再生可能な形式に変換(トランスコード)するサービス
Amazon DocumentDB
スキーマレスで、JSON形式のデータファイルを格納することができる完全マネージド型ドキュメントデータベース。非リレーショナルデータベースである。
パイロットライト戦略など

AWS X-Ray
アプリケーションが処理するリクエストに関するデータを収集・分析するサービスです。アプリケーションのリクエストをトレースし、処理時間やレスポンスを分析することでボトルネックやエラーの発生箇所を特定することができます。
Amazon AppFlow
様々なSaaSアプリケーション(例:Salesforce, Slackなど)とAWSサービス(例:S3, Redshift, DynamoDBなど)間でデータを安全に転送できるフルマネージドサービスです。コーディングが不要であり、数クリックで安全にデータ転送ができるフルマネージド型のデータ統合サービス。またAWS PrivateLinkによるプライベート接続にも対応しているため、より安全にデータ転送を行うことができる。
AWS Security Hub
AWS環境全体のセキュリティ状態を一元的に管理・可視化し、セキュリティリスクやコンプライアンス違反を自動手で検出・集約するクラウドセキュリティ体制管理サービスです。
セキュリティアラートの集約・一元管理
GuardDuty、Inspector、IAM Access Analyzer、Macie、Firewall Managerなど、AWSや一部サードパーティサービスからのセキュリティアラート(検出結果)を標準化された形式で集約し、単一のダッシュボードで管理できます。
優先順位付けと可視化
集約したアラートやリスクを自動で整理・優先順位付けし、スコア化や傾向分析、インサイト表示によって、どこから対応すべきかを明確にします。
自動対応・修復との連携
EventBridgeなどと連携し、特定の検出結果に対して自動で通知・修復アクションを実行するワークフロー構築できます。
AWS Resouce Access Manager(RAM)
AWSリソースを複数のAWSアカウントで共有できるサービス。VPCを共有することで他アカウントからプライベートネットワーク経由で自アカウントのVPCへアクセスできる。RAMに関しては、料金は無料で使用できます。
AWS Elastic Disaster Recovery
オンプレミスや他クラウド、AWS上のサーバーやアプリケーションを、災害発生時に迅速かつ確実にAWS上で復旧できるようにする、AWSのフルマネージド型ディザスタリカバリー(災害復旧)サービス
継続的なデータレプリケーション
ソースサーバー(オンプレミスや他クラウド、AWS内)からAWSのステージングエリア(コストを抑えたストレージ+最小限のコンピューティング)に、データを継続的にレプリケーションを行う
コスト最適化
通常時はステージングエリアのみを維持するためコストを抑え、災害発生時やテスト時のみ本番相当のリソースを起動する
柔軟なフェイルオーバー/フェイルバック
AWS上で復旧したあと、問題が解決すれば元の環境(オンプレミスや他リージョン)へフェイルバックも可能
AWS Lake Formation
AWS上で「データレイク」を迅速かつ安全に構築・管理・保存するためのフルマネージドサービスです。Lake Formationの実態は、AWS GlueやAmazon S3といったAWSサービスの組み合わせです。
データの取り込み
既存のS3バケットやRDB、NoSQL、外部データソースからデータをデータレイク(Lake Formation)に集約
一元的なセキュリティと権限管理
IAMとは別に、独自のきめ細かな権限管理モデルを持ち、データベース・テーブル・列レベルでアクセス制御が可能です。これにより、組織内外のユーザーに対して安全なデータ共有やセルフサービスアクセスを実現します
多様な分析サービスとの連携
Amazon Athena、Redshift Spectrum、QuickSight、EMRなど、AWSの各種分析・機械学習サービスと連携し、データ活用の幅を広げます
※データレイクとは、構造化データ・半構造化データ・非構造化データを問わず、あらゆる種類・形式のデータを「そのまま」大容量で一元的に格納できる場所を指す
Amazon VPC Lattice
AWSが提供するフルマネージド型のアプリケーションネットワークサービスです。主に複数のVPCやAWSアカウントにまたがるアプリケーションのサービス間通信を接続・保護・監視するために設計されています。
対応プロトコル
HTTP、HTTPS、gRPCなどのプロトコルに対応し、異なるVPCやアカウント間でもアプリケーション層での通信を一貫して制御が可能です。またTLS対応により、通信の暗号化も保証されています。
CloudWatchとの連携
Latticeの通信やアクセスに関するログをAmazon CloudWatchやS3, Firehoseなどに出力できます。これにより、監査やトラブルシューティング、セキュリティインシデント対応が容易になります。
AWS Control Tower
企業や組織がAWSで複数アカウントを安全かつ効率的に運用するための「統制されたマルチアカウント環境」を短時間で構築・管理できるサービスです。セキュリティやコンプライアンスのベストプラクティスを自動適用し、運用負荷やリスクを大幅に軽減します。
ガードレール(コントロール)
予防的・発見的なルールを全アカウントに適用し、ガバナンスを維持
AWSにおけるベストプラクティスに基づいた構成や設定、ルールの組み合わせをガードレールとして提供している
ランディングゾーン
セキュリティとコンプライアンスのベストプラクティスに基づく、複数アカウント環境の基盤
マルチアカウント環境の自動セットアップ
AWS OrganizationsやIAM Identity Centerなど複数のAWSサービスを連携し、安全な複数アカウント環境(ランディングゾーン)を自動的に構築します。AWS Control Towerの「Account Factory」機能を使い、必要な数のAWSアカウントをテンプレート化された設定で自動的に作成できます。これにより、手作業による設定ミスやばらつきを防ぎます。
Amazon Quantum Ledger Database (QLDB)
Amazon QLDBは、AWSが提供するフルマネージド型の中央集権型台帳データベースで、改ざん防止・暗号検証・完全な監査証跡を実現するサービスです。主に「データの完全性と追跡可能性」が求められるユースケース向けに設計されています。
主なユースケース
金融取引の監査証跡
銀行口座の入出金履歴や証券取引記録を改ざん不可な形で保存
サプライチェーン追跡
製品の製造・流通履歴を時系列で記録し、リコール時の原因特定を支援。
医療データ管理
患者の診療記録や処方箋変更履歴を検証可能な形で保管。
政府機関の記録管理
土地登記や行政手続きの透明性を確保
AWS Firewall Manager
AWS環境全体のファイアウォールやセキュリティルールを一元管理・自動適用できるマネージド型のセキュリティ管理サービスです。AWS Organizationsと連携し、複数アカウントやリソースに対してセキュリティポリシーを一括で適用・監視できます
一元的なルール管理
AWS WAF、AWS Shield Advanced、AWS Network Firewall(VPCレベルのネットワークファイアウォール)、VPCセキュリティグループ、Route 53 Resolver DNS Firewallなど、複数のAWSセキュリティサービスのルールを一か所で管理できます。
自動デプロイと自動適用
セキュリティポリシーを設定すると、既存・新規のアカウントやリソースにも自動的にルールが適用されます。新しく追加されたリソースやアカウントも自動的に保護対象となります
マルチアカウント・マルチリソース対応
AWS Organizations配下の全アカウント・リソースに対して、グローバルポリシーを一括適用しつつ、個別アカウントごとにカスタムルールの作成も可能
攻撃への迅速な対応
セキュリティイベントや脅威を検出した際、通知や自動ブロックなどの対策を即座に適用できます。
利用条件
・AWS Organizationsに参加していること
・管理者アカウントの設定
・AWS Configの有効化(全リージョン・全アカウントで必要)
AWS Application Migration Service
ンプレミスや他クラウド上の物理サーバーや仮想マシン、既存のクラウド環境で稼働しているアプリケーションを最小限の変更でAWSへ迅速かつ安全に移行(リフト&シフト)できるフルマネージド型の移行サービスです。リフト&シフトとは、システムの構成やコードを大きく改変することなく、現状のまま新しい環境へ移行する手法を指します。ディスクに含まれるOS、インストール済みアプリケーション、データをそのまま移行できるため、コードや構成を大幅に変更することなく短時間でカットオーバー(システム切り替え)できます
コスト効率
移行開始から90日以内に完了したサーバーの移行は無料です
エージェントのインストール
移行元の環境に、AWS Replication Agentをインストールする
AWS DataZone
AWSが提供するデータ管理サービスで、組織内外に点在するデータ(AWS上、オンプレミス、サードパーティのデータソース)を迅速かつ簡単にカタログ化・発見・共有・管理できるのが特徴です。
データ共有とガバナンス
データへのアクセスや共有は、細かい権限管理(ガバナンス)と承認フローを通じて制御されます。適切なユーザーが、適切な目的で、適切なデータにアクセスできるように設計されています。
非エンジニアにも使いやすいUI
ビジュアルなWebポータルを備えており、エンジニアだけでなく、データサイエンティストやビジネスユーザー、アナリストなど、技術的知識が少ないユーザーでも直感的にデータを検索・申請・利用できます。
他のAWSサービスとの違い
従来のAWS Glue Data CatalogやLake Formationなどと異なり、DataZoneはよりビジネスユーザー向けのUIやワークフロー、ガバナンス機能を強化している点が特徴です。Glue Data Catalogを内部的に活用しつつ、より使いやすく、データ活用のハードルを下げています。
Elastic Fabric Adapter
Elastic Fabric Adapter(EFA)は、Amazon EC2インスタンスにアタッチできる高性能ネットワークインターフェースです。EFAは、AI/機械学習(ML)やハイパフォーマンスコンピューティング(HPC)など、大量のノード間通信が求められるアプリケーションのために設計されており、従来のTCP/IP通信よりも低遅延・高スループットを実現する。
AIの分散学習やHPCのシミュレーションでは、複数ノードが並列で計算を行っており、通信の遅延が大きいと、各ノードが他ノードの計算結果を待つ時間が増え、全体の処理効率が大幅に低下する。
コメント