ことの始まり
業務でAWSを使うことになり、勉強をはじめました。
インフラ・サーバー系の知識はやんわり知っている程度です。
ある程度体系的にまとめられている書籍を参考にして勉強しています。
AWSを操作する手段
- ブラウザ(マネジメントコンソール)
- SDK
- 各種OSコマンドライン
リージョン
- AWSがサービスを提供している拠点のことを指す
- 複数のリージョンを利用したシステム構成をマルチリージョンと言う
- リージョン選択は、AWS上で稼働するシステムを利用するユーザーに近いリージョンを選ぶ
- 遠いリージョンだとレスポンスが遅くなる
- だから普通にやる分は東京リージョンで良い
アベイラビリティゾーン(AZ)
- データーセンターの概念に近い
- 一つのAZが複数のデーターセンターで構成させている
- 各リージョンにAZが存在している
- 複数のAZを利用したシステム構成をマルチAZ構成と言う
- 可用性や耐障害性からマルチAZが推されている
VPN
- Virtual Private Network
- 仮想的な専用回線サービス
VPC
- Virtual Private Cloud
- AWS上にプライベートなネットワーク空間を構築するサービス
- VPSを利用すると、論理的なネットワーク分離が可能
- ルートテーブルや各種ゲートウェイの追加設定も可能
Direct Connect
- データセンタやオフィスのネットワークと、AWS間を専用線で接続するサービス
- VPNより高速で安定した通信環境が必要な場合に利用する
- 例えば、WEBサーバーはAWSでDBはオンプレミスといったハイブリット構成の場合、サーバー間の通信には高速かつ安定したネットワークが必要になる
AWSアカウントの考え方
- 一つのAWSアカウントの中に複数の環境を作って管理するのか
- 複数のAWSアカウントを作成し環境を完全に分離するのか
- この方針決めがAWSをどのように管理するのかの分岐点
単一アカウント
- 単純だから初心者には良い
- しかし、実際の運用現場では、開発環境のみ利用可能で本番環境を操作する権限がないユーザーが管理が必要になる
- 後述のIAMを使う手もあるが、サーバー単位の操作権限まで制御するのは手間がかかる
- 不可能ではないが、リソース単位での権限付与が必要
IAM
- Identity and Access Management
- 権限の制御を行うユーザー管理機能
複数アカウント
- メリットは環境単位でアカウントを分離できる
- 例えば、開発用と本番用のアカウントを分離することにより、ユーザーを分離できる
- 一方で分離することでアカウント管理や環境構築に負荷がかからないか?と言う疑問に対しては
- 手動だと確かにそうだが、AWSには環境構築を自動化する機能やツールを提供している
- 僕が読んだ書籍では、複数アカウントを推している
AWSの監査証跡
- 監査証跡とは、処理のプロセスとかを時系列に沿って保存された記録のこと
- システム監査人がそれを追跡する
- AWSにおける監査証跡の対象は大きく分けて二つ
AWS自体の操作状態・履歴
・AWS ConfigとAWS CloudTrailっていうサービス
・この二つのサービスでほぼ全てのAWSのサービスの監査証跡を取得できる
AWS内のリソース
- インスタンスとかDBインスタンスとかが対象
- オンプレミスと同じやり方で取得
AWSの料金
- 時間ベース
- 回数ベース
- 容量ベース
- このうち3つか、組み合わせの重量課金
- Simple Monthly Calculatorっていう簡易見積もりツール
参考
Amazon Web Services 業務システム設計・移行ガイド (Informatics&IDEA)
2018/01/20発刊