AWS研修のメモ
about
AWS AWS Technical Essentials1を受講した際のメモ。
何も知らなかったので受講してよかったと思った。
EC2とかS3とか聞いて、聞いたことあるけどよくわからんって人は受講オススメ。
AWSの歴史
- 当初はAmazonもモノリシックアーキテクチャだった
- そこからSOAに
- SOAをさらに分割してマイクロサービスに
APIベースの開発にすることでアジリティが向上
規模の経済
- 2006年以降、料金改定は全部値下げ
- 料金はリージョンごとに違う
- オンプレシステムは基本的にAWS移行可能
グローバルインフラストラクチャ
- リージョン
- 地理的なロケーション
- 18コある(15+3)、特殊なリージョンが米国と中国に
- 大阪にローカルリージョンという特殊なリージョンがある
- DR対応をするため
- アベイラビリティゾーン(AZ)
- 1リージョンの中に2つ以上存在する
- 1リージョン内の個々のAZの障害は他のAZに影響しない
- データセンタ
- AZごとに1つ以上、AZによっては複数DCでクラスタリングされている
- エッジロケーション
AWSの設計の推奨事項としては、複数のAZをまたぐように構築する 高い可用性を実現できる
- rootユーザでのログインは非推奨
- IAMユーザを作成してのログインが求められる
AWSインフラストラクチャ
EC2
- サイズ変更可能なコンピューティングリソース
- Linux or Windows、IAサーバなら動く
- EC2インスタンスは汎用機上で動いている
- 可用性を高めるには複数インスタンスでの運用が推奨
- AZももちろん分けたほうが良い
- ハードを占有するにはDedicated Hostを利用する
EC2の用語
aws market place
- 販売したいソフトをAMIに組み込んで売る
インスタンスタイプ
- t2 : CPUパワーは20%に抑えられていて、従量課金でマックスまでリソースを使うことができる
- m系: 常にフルでリソースを利用できる。mの後の数字はXeonの世代。
- ネットワーク
- テナンシー
- ハード共有・占有が選択可
- ハード占有は割り当てられるハードは指定できない、ハードウェアに対する可視性がない、物理で何が乗っているかわからない
- dedicatedは自分で選択した物理的構成ができる、ハードの構成に可視性がある
- 物理的に指定ができるのでライセンス問題を回避できる
- ユーザデータ
- 起動スクリプトの定義ができる
- cloud-initというサービスが組み込まれている
- cloud-initはsystemctlから操作が可能
- タグ
- 設定必須項目ではない、key:valueの設定ができる
- 運用上必要なラベルをはるもの
- セキュリティグループ(SG)
- SSH
- デフォルトでec2-userが作成される
ストレージ
EC2にマウントして使う - Amazon EBS - ネットワークを介してアクセスできるストレージ - 永続的なストレージ - root volumeとして利用する
ストレージサービス
Amazon Simple Storage Service (S3)
- HTTP接続
- どのような量でも格納できる
- スケーラビリティ
用語
- バケット
- データを格納する領域
- 名前をグローバルで一意につける必要がある
- オブジェクト
- S3上に格納されるデータ
- 最大5TBのオブジェクトを保管可能
- オブジェクトキー
- オブジェクトのもつ一意の識別子
- 次のように表されるhttp://$backet_name$.s3.amazonaws.com/$object_key$
一般的な使用シナリオ - ストレージとバックアップ - アプリファイルのホスティング - AMI, スナップショットの保存
料金 - 従量課金 - ストレージ料金 - リクエスト料金 : httpリクエスト毎 - データ転送料金 : S3の外へのデータ転送
Amazon Glacier
Amazon Elastic Block Store (EBS)
- 永続的なブロックレベルでのストレージボリューム
- 自動レプリケーション
- スナップショットはS3にストア
- EBSのボリュームは単一のAZに依存
料金はプロビジョンニングした分のみ
ネットワーク
VPC
隔離された仮想ネットワーク。特定のリージョンに作成する。
- サブネット
- サブネットはAZゾーンの位置を特定するのに用いられる。
- プライベート/パブリックサブネットに分割される
セキュリティ・アイデンティティ・アクセス管理
セキュリティ指針
- SSLエンドポイント
- セキュリティグループ
- ユーザが適切なfirewallを設定することが求められる
- 多層セキュリティグループ
- 3層スキーマにあわせて、それぞれのレイヤでセキュリティポリシを設定できる
- VPC
- ユーザがリソースを適切に配置すること
AWS Identity and Access Management (IAM)
IAMのベストプラクティス
- 個別のIAMユーザの作成
- 一律の権限付与にはIAMグループを用いる
- EC2インスタンスで実行するアプリにはIAMロールを適用する
データベース
Amazon Relational Database Service(RDS)
- サイズ変更が可能(データベースインスタンス)
- インストールはサービスが自動的に
- データベースの管理タスクはサービスに含まれる
- 自動バックアップがデフォルトで有効(1日に1回フルバックアップ)
- マルチAZ構成にしてHAにすることも可能
Amazon DynamoDB
- 保存できるデータ量に制限はなし
フルマネージド型のサービス
パーティションキー
- ソートキー
2つを組み合わせてプライマリキーにする