AWS学習者がまとめたAWSリソースリスト 【随時追記】

AWS

今回の記事ではクラウドサービスプラットフォームとして知られるAWS(Amazon Web Services)で使用されている各種リソースについてまとめた備忘録としての内容になります。

こちら随時キャッチアップした内容を追記していきます。また、内容に一部誤りがある場合や、必須の事項についてあれば、お手数ですが、ページ下部のコメントからご教示していただければ幸いです。

何より私自身が現在AWSを学習しておりますが、なかなかイメージしずらいリソースやそもそものリソースの役割を忘れてしまうため、今回こちらの記事を作成しております。

現在の筆者レベル感(随時更新:2024年9月現在
・LPIC LEVEL 1 取得
・CloudTechにて学習中
・AWS に関する資格取得なし


では早速、まとめていきます。(※紹介している順番について、特に意味はありません

マシンイメージ(AMI)

EC2インスタンス起動時に必要な情報を含む、事前設定済みの仮想マシンイメージ
情報とは、OS,CPU,メモリなど

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などを設定しておく。詳しくは、こちら


IAM

IAMを使用することで、だれが(認証)、どのリソースに(認可)どのような操作を行うかを制御することができる。最小特権の原則:ユーザーには必要なものへのアクセス権のみを付与する

IAMユーザー
AWSリソースにアクセスするための個別のアカウント

IAMグループ
複数のIAMユーザーをまとめて管理するためのグループです。グループに対してポリシーを設定することで、グループ内のすべてのユーザーに同じ権限を付与できます

IAMロールポリシーを複数アタッチして、権限をひとまとめにする一時的なアクセス許可の際に用いるアタッチできる対象: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)

パブリッシャーからサブスクライバーへのメッセージ配信を提供するマネージドサービス

メッセージは一時的に保存され、配信後は削除される

メッセージは非同期並列処理される。送受信の関係は、一対多

トピック
メッセージの入れ物。パブリッシャーはトピックにメッセージを発行する
 
 トピックタイプ
 ・スタンダード
  メッセージの順序は保証されない/メッセージが重複して配信される場合がある
 ・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

エッジロケーションを利用し、コンテンツを低レイテンシーで届ける

オリジンサーバのコンテンツをキャッシュしたり、配信したりする
これはオリジンサーバーへの負荷軽減となる

CloudFrontに作成する証明書はリージョンがバージニア北部でしか作成できない

フィールドレベル暗号化を使用した気密データの保護についてはこちら

Elastic Beanstalk

アプリケーションのデプロイと実行を簡単にするためのもの。
インフラの詳細を気にせずに、アプリケーション開発に集中できる

アプリケーションコード(warファイルなど)をアップロードするだけで、自動的に実行環境を構築してくれる

Java、.NET、PHP、Node.js、Pythonなど主要な言語・フレームワークをサポート

CloudFormation

JSONまたはYAML形式で記述されたテンプレートでAWSの様々なリソースを構築できる。
Infrastructure as Code (IaC)の一つ

AWS Outposts

オンプレミス上でAPIを使用して、様々なAWSツールを使用できる

AWS Direct Connect(DX)

オンプレミスのデータセンターやオフィスからAWSリソースにインターネット経由せず、プライベートな接続を提供するサービス

具体的にはオンプレミスとAWSの接続を中継するDirect Connectロケーション(物理的なデータセンター)を利用する

特徴
1.プライベートな通信経路(専用線接続)なため、低レイテンシーを実現
2.大容量のデータ転送が可能
3.インターネットを介さないため、高いセキュリティを保持
4.帯域幅が広い、通信速度が速い
5.暗号化はされていない


ネットワークACL

サブネットにアタッチされサブネットレベルでトラフィックを制御するファイアウォール
一つのサブネットに対して、一つのACLを付与できる。ステートレス

※EC2インスタンスのファイアウォールはセキュリティーグループ
 デフォルトでは全てのトラフィックをDenyしており、ステートフル

ちょっと一息

NIC(ネットワークインターフェースカード)
コンピュータをネットワークに接続するための回路基板

ENI(Elastic Network Interface)
EC2インスタンスに割り当てられているIPアドレスの実体

プロビジョニング
ITインフラやリソースを準備・設定すること

責任共有モデル
クラウドのセキュリティをお客側とAWS側で責任を分けておくこと

Well-Architected フレームワーク(6つ)
・パフォーマンス効果
・セキュリティ
・信頼性
・持続可能性
・コスト最適化
・運用上の優秀性(オペレーショナル・エクセレンス)



S3

データをバケットと呼ばれるコンテナにオブジェクトとして保存する

一つのオブジェクトサイズは最大5TB / 一回の操作でアップデートできるデータサイズは5GB / ストレージ容量は無制限

オブジェクトとはデータ、メタデータ(データの種類・使用方法)、キー(一意の識別子)で構成されている

全てのオブジェクトにURLが発行されている

8つのストレージクラスを選択することができる

静的webサイトをホストすることができるため、S3をウェブサーバーのように利用できる
Sorryページなどの作成時に使用される
※ホスティングサービスを使用するためには、すべてのユーザーに読み取り許可ポリシーを付与する必要がある。詳細はこちら

Amazon S3 Transfer Acceleration

クライアントとS3バケット間の長距離ファイル転送を高速、安全、簡単に行うことができる
S3バケットへのデータアップロードを高速化
エッジロケーションを使用することで実現している

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

ビックデータの分析に使用できるデータウェアハウジングシステム
多くのリソースからデータを収集し、データ全体の関係性や傾向を理解するのに役立つ機能を提供する

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.継続的レプリケーション



ElastiCache

RDSやDynamoDBの前面に設置して使用
クラウドストラクチャ上でキャッシュサービスを提供する
例)RDSへのアクセス負荷を下げ、コストダウン

フルマネージド型
インメモリデータストアのRedisとMemcashedを採用している

AWS Organizations

複数のアカウントを組織単位(OU)にグループ化
複数ユーザーへの一括請求でコストダウンとなる

SCP:AWS Organizations内のアカウントや組織単位(OU)に対して、AWSサービスやアクションの使用を許可または制限するためのポリシー

AWS Artifact

AWSが提供するコンプライアンス関連のドキュメント管理サービス(無料)
監査アーチファクト(インシデントが発生した際に残される痕跡)を検索できる

AWS WAF

保護されているWebアプリケーションリソースに転送されるHTTP(S)リクエストを監視できるWebアプリケーションファイアウォールです

DDos攻撃に対応する
※DDoS攻撃:WEBサーバーなどに対して複数のコンピュータから大量のパケットを送り付けることで正常なサービスを妨げる行為

AWS WAF WebACLsについては、こちら

AWs Shield

DDoS攻撃対応

オプション

Standard
無料で使用でき、一般的な悪意のあるネットワークトラフィックを検出し、保護する

Advanced
有料で使用でき、詳細な悪意のあるネットワークトラフィックを検出し、保護する


AWS Inspector

OSやソフトウェアの脆弱性管理に関するセキュリティ対策のソリューション

ネットワーク接続性やパッケージの脆弱性を継続的にスキャンして、結果を確認できる
対象リソース:EC2, Lambda, ECRコンテナ
※オンプレミスやほかのクラウドサービスは対象外

一部機能には、SSM Agentをインストールする必要がある
これは、EC2インスタンス上のソフトウェアパッケージとその詳細情報を収集する役割を果たす

AWS GuardDuty

AWSインフラストラクチャやリソースのネットワークトラフィックやログデータを分析し
潜在的な脅威や異常なアクティビティを検出する

検出するデータソース
VPC Flow log , DNS Logs , AWS CloudTrail , S3データイベント

AWS KMS

データの暗号化に使用する暗号鍵を安全に管理するサービス

KMSで扱う鍵

1 . カスタマーマネージドキー(CMK)
 ユーザーが作成し、完全に制御できる鍵
 用途:特定のアプリケーションやデータに対する暗号化

2 . AWSマネージドキー
 AWSが作成し、管理する鍵 / ユーザー側での管理は不要 / 無料で使用
 用途:特定のAWSのサービス(S3、RDSなど)のデフォルトの暗号化
  例:S3バケットのデフォルト暗号化に使用される鍵

3 . カスタマーデータキー(CDK)
 CMKを使用して生成される一時的な鍵
 用途:大量のデータや大きなファイルの暗号化



ちょっと一息

メトリクス
AWSリソースのパフォーマンスや稼働状況を監視するために収集される数値データを指す
メトリクスの対象としては、CPU使用率やメモリ使用量など。CloudWatchなどで使用される

高可用性
サーバーに障害が発生しても業務を継続的に稼働できる能力が高いこと

Amazon RDSの自動バックアップについて



AWS CloudWatch

AWSリソースに対してメトリクスを収集し、そのメトリクスから取得したデータが閾値を超えた場合にアラートを出す。AWS SNSと統合されており、アラートを発報したタイミングでLambdaなどを実行することができる。

CloudWatch Metrics
メトリクスに応じたアクションの実行
→CloudWatch Alarmsを利用してLambdaやAmazon SNSなどのリソースを実行させることができる

CloudWatch Logs
ログの可視化
→各サーバーのログを一つに集約することでログの確認が容易となる

コラム

~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はリソースのパフォーマンスを監視するツールである

AWS CloudTrail

ユーザーがAWSリソースに対して行ったAPI操作(だれが、いつ、どこで、どのように)をログに記録する監査サービス。(ログはjson形式)またログはリージョンごともしくは全リージョンに一括して取得する設定ができる。

※デフォルトでは、CloudTrail内では過去90日以内のログデータが確保される
 長期に保存したい場合は、S3に保管

AWS Trusted Advisor

AWS環境を自動監視、最適化するための推奨ベストプラクティスを提供
5つの柱をもつ(コスト最適化、セキュリティ、パフォーマンス、耐障害性、サービスの制限)

AWS Budgets

コスト管理を行い、予算を上回るコストが予想された場合、アラートを発生させる。

AWS Report

定期的にAWS Budgetsで設定した予算のパフォーマンスをモニタリングし、それをレポートとしてまとめ配信するサービス。一回の配信で0.01$かかる。

AWS Cost Explorer

AWSリソースが費やした使用料を分析することができる

AWS Config

AWSの設定の詳細ビューを提供します。
例)リソースに対する設定・変更・削除などが実施された場合に、その操作履歴を保存しておく
保存先はS3 / SNSでユーザーへ通知可能

AWS Cloud Adoption Framework(AWS CAF)

ガイダンス

AWS Snow ファミリー メンバー

データをAWSの内外に物理的(ネットワークを経由せず)に転送する

AWS SageMaker

機械学習に必要なモデルの構築
トレーニング、デプロイを迅速に行うことができる

AWS CodeWhisperer

コードの記述中にコードのレコメンデーションを受け、コード内のセキュリティ問題を特定する

AWS Trascribe

音声のテキストを変換する

AWS Comprehend

テキストのパターンを検出する

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設定】
1.ELBのセキュリティグループの作成
2.ターゲットグループの作成(ELBの対象を選択/ヘルスチェック設定もできる)
3.ELBの作成
※リスナーを設定することで、指定されたプロトコルとポートからの接続リクエストを受信できるようになる

Lambda

イベント駆動型アーキテクチャ/同期処理と非同期処理
サーバーのプロビジョニングなし(OSのパッチ適用、自動スケールアップ)

料金ベース → 実行回数 + 実行時間
確保するメモリの量を設定
タイムアウト値→最大900秒(15分)

IAM Roleからポリシーをアタッチさせる必要がある

サーバーレス設計(参考)
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サーバー証明書のプロビジョニング、管理、展開、更新を行うことができるマネージドサービス。リージョンはバージニア北部にすること
※Route53を用いてドメインの所有権を確認するために利用することが一般的(DNS検証)

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環境を運用するためのコックピット

1.グループ化→アプリケーションのリソース群をグループ化
2.可視化→アプリケーション運用上の洞察を可視化/多数のAWSリソースを一つのコンソールで
3.対応→安全性の高いAWSのベストプラクティスで対応
※AWSとオンプレミス両方をサポート

System Managerを使ってサーバ管理を行う設定
(前提)サーバを”マネージドインスタンス”にする
(※System Managerで管理されているサーバをマネージドインスタンスと呼びます)

1.(対象のサーバに)SSM Agentの導入
(SSM AgentがSystem Managerと連携することでマネージドインスタンスとなる)
→Amazon Linux , macOS , SUSE Linux , Ubuntu Server , Windows Server のオフィシャルイメージにはプリインストール済みである。

2.SSM Agentからのアウトバウンド経路を用意(Internet GateWayもしくはVPCエンドポイント)し、System Managerとの経路を確保する

3.IAMロールの付与
→AmazonSSMManagedInstanceCoreポリシーを持ったIAMロールをEC2にアタッチする
上記の内容でEC2(マネージドインスタンス)を作成する

Systems ManagerのFleet Managerからマネージドインスタンスを確認する

Sysem Manager環境のセットアップ
IAMロールの作成→マネージドインスタンスの作成

SSM Agentを最新状態に維持する必要がある
→SSM Agentのバージョンが古いとSystems Managerの最新機能が使えない
→自動更新を行う(Fleet Managerの設定から自動更新を設定可能)

インベントリデータ管理の課題
→AWSのコンピューティング環境におけるリソース(EC2など)のメタデータ(OSやインストールされているアプリケーションのバージョン)を収集し、管理する。

Inventry
・OS上のアプリケーション一覧など構成情報を記録、可視化
・最短30分ごとに定期的なデータ収集

State Manager
・定義された状態を保つためのプロセスを自動化
・状態維持を目的とした定期処理を行うためのフレームワーク

Session Manager
・サーバログイン情報(ID/PW)が不要で、IAM認証で制御
・インバウンドポートを解放せずに、サーバへのシェルアクセスが可能
・プライベートサブネットへのインスタンスにもセキュアにアクセス可能
・サーバでの操作ログはS3またはCloudWatch Logsで保存可能(対象のロールにCloudWatch等へのアクセスポリシーを設定する必要あり)

Run Command
・全サーバに対して共通のコマンドを一括で実行できる
・実行した結果はマネジメントコンソールもしくはS3バケットにて確認ができる
→48,000文字以内であればマネジメントコンソールで確認できるが、それ以上となればS3での出力設定が推奨される



Route53

AWSが提供するスケーラブルで高可用性のドメインネームシステムサービスです。
デフォルトでは4台のNSサーバーが作成されている。

アクティブ/パッシブ(フェイルオーバー)

ヘルスチェックとフェイルオーバー機能
ウェブサーバーや他のリソースの正常性を監視し、問題が発生した場合にはトラフィックを代替のリソースにリダイレクトすることができます。アプリケーションの可用性を高めることができます

指定したドメイン名のネームサーバーのリストが簡潔に表示される
【Linux】
dig ドメイン名 NS +short
dig ドメイン名 SOA +short

【Windows】
nslookup
set type=NS
ドメイン名

※静的ページの際にS3を使用する場合、バケットの名前をドメイン名と同じにする必要がある

VPCエンドポイント

VPC内のリソースがインターネット経由せずに、VPC外に配置されたAWSサービス(S3,Route53,CloudWatchなど)にプライベート接続するための機能です。
プライベートな通信なためセキュリティが向上し、低レイテンシーを実現

インターフェース型(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の境界でトラフィックをフィルタリングできる

Amazon EventBridge

イベント駆動型のサーバーレスサービスです。アプリケーションコンポーネント間でイベントをルーティングする「橋渡し」の役割を果たします。

イベントのフィルタリング、変換、配信を行い、また、スケジューリング機能も提供し、定期的なタスク実行が可能です。LambdaやSNSなどと連携して、システム間の自動化を行える。

※イベントとは、システムやアプリケーションで発生した状態の変化や出来事を指す。
例)EC2インスタンスが停止から起動に変わったとき/S3バケットにファイルがアップロードされたとき/アプリケーションで新規ユーザーが登録されたとき

Client VPN Endpoint

クライアントからVPCに対して、セキュアな通信を可能にする。EndpointとVPC内のサブネット内にあるENIと関連付ける。クライアント側にVPN用のソフトウェアが必要である(適切なものを選択)

Site-to-Site VPN(サイト間VPN)

オンプレミスのルーターとVPCのVGW(Virtual Private GateWay)の経路を作成し、VPN接続を可能にする。インターネットを経由しないセキュアな通信を可能にする

Transit Gateway(TGW)

複数VPC同士を接続できる、ハブのようなもの。VPCとTGWを紐づけてルーティングする。
ルートテーブルにて接続先ターゲットを設定する

AWS DataSync

ネットワークを介して、オンプレミスのストレージ等からAWSへデータを高速かつセキュアに転送するサービス

AWS Global Accelerator

AWSのグローバルネットワークを使用した高速通信によって、アプリケーションの可用性とパフォーマンスを向上させるネットーワーキングサービス

ちょっと一息

WebSocket
・クライアントとサーバー間でリアルタイムの双方向通信を可能にするネットワーク通信技術
・双方向通信が可能(※HTTPはクライアントからサーバーへの一方向通信)
・一度接続を確立すると、長期間維持される(高いリアルタイム性をもつ)

・署名付きURL
一時的なファイル共有、セキュアなファイルアップロード/ダウンロード、限定公開コンテンツの配信などに広く利用されています。
ただし、URLが第三者に漏洩するリスクがあるため、適切な有効期限設定と使用管理が重要です。
※S3などで設定可能
※署名付き URL で使用される認証情報は、URL を生成した AWS ユーザー
参考はこちら

エクスポネンシャル・バックオフ(Exponential Backoff)
通信先サーバーに過度の負担をかけないようにするためのリトライ手法
クライアントが通信に失敗した際に要求間の遅延を増やしながら定期的に再試行するアプローチ

ChefとPuppet
どちらもサーバーやインフラストラクチャの構成管理を自動化するためのツール
インフラストラクチャをコードとして管理する(Infrastructure as Code)
※CloudFormationはAWS専用のIaCツール

アクセスキー
AWSのサービスやリソースにプログラム的にアクセスするための長期的な認証情報
アクセスキーIDとシークレットアクセスキーの二つで構成されている


AWS SAM

ローカルでLambda関数の作成・実行をテストできる。
IaC(Infrastracture as Code)でのサーバレス環境を構築できる

AWS Application Composer

サーバーレスアプリケーションを視覚的に設計し、SAMテンプレートを作成できる
※VSCodeでも操作可能(拡張機能をインストール)
※初期段階で構成図(設計)をすり合わせることができるため、齟齬や認識を合わせることができる

Step Function

AWSサービスをサーバーレスでワークフローとして管理することができ、アプリの構築と更新を迅速に行うことができる

AWS SES

メール送信サービス

Amazon QuickSight

クラウドベースのビジネスインテリジェンス(BI)サービス
BI ツールでは、ビッグデータや各種データソースから洞察を抽出し、分析した結果を視覚的で簡易的な形式で表示することが可能
※様々なデータソースかへとアクセスして、データを抽出・加工して表示する

DynamoDB

サーバーレスのフルマネージド NoSQL データベースで、あらゆる規模で 1 桁ミリ秒のパフォーマンスを実現

Amazon CloudHSM

暗号鍵を安全に保管・管理するために使用されるサービスです

コメント

タイトルとURLをコピーしました