AWSのIAM/CloudWatch/S3
- UdemyのAWS Certified Solutions Architect - Associate 2020を受講した備忘録。
- 自分にとってのメモですので、網羅的にまとめているわけではありません。
IAM
- rootアカウントbillingのみに使用。
AWS Organizations & Consolidated(統合された) Billing
- Organization Unit = Accountの集合
- マスターアカウントから作っていくことができる
- Billingが統合される
- Orgamization Unitには(単体のAccountと同様に)SCP(ServiceControlPolicies)で有効/無効を切り替えられる。
CloudWatchとSNSでbilling alarmを通知するシステム
CloudWatch
- 6時間ごとの累計(各瞬間ででの6時間累計かも?)の請求額が$10を超過したらSNSのトピック(
BillingAlarm
と命名した)に通知を送る。
- 細かい設定の定義はこちらを参考にする
SNS(Simple Notification Service)
- どのemailに通知を送るかはこちらで設定することになる。
S3
- Object(in a Bucket)
- key(ファイル名)
- value(データ、0~5TB)
- version
- metadata
-
SubResource
- access control list
- torrent??
## Data Consistency Model
-
ReadAfterWrite consistency(新しいオブジェクトをPUTで新規作成する時にその場で即座に確認)
- Eventual consistency(既存のオブジェクトをPUTやDELETEで更新する時にはちょっと時間かかる)
- つまり他のアクセス者がolder versionを取得することがありうる。
PUTに成功したらHTTP Status=200を得る
DELETEのためにMFAを設定できる
Storage Class Tier(オブジェクトごとに設定可能)
- マスターアカウントから作っていくことができる
- Billingが統合される
CloudWatch
- 6時間ごとの累計(各瞬間ででの6時間累計かも?)の請求額が$10を超過したらSNSのトピック(
BillingAlarm
と命名した)に通知を送る。- 細かい設定の定義はこちらを参考にする
SNS(Simple Notification Service)
- どのemailに通知を送るかはこちらで設定することになる。
S3
- Object(in a Bucket)
- key(ファイル名)
- value(データ、0~5TB)
- version
- metadata
-
SubResource
- access control list
- torrent??
## Data Consistency Model
-
ReadAfterWrite consistency(新しいオブジェクトをPUTで新規作成する時にその場で即座に確認)
- Eventual consistency(既存のオブジェクトをPUTやDELETEで更新する時にはちょっと時間かかる)
- つまり他のアクセス者がolder versionを取得することがありうる。
PUTに成功したらHTTP Status=200を得る
DELETEのためにMFAを設定できる
Storage Class Tier(オブジェクトごとに設定可能)
- key(ファイル名)
- value(データ、0~5TB)
- version
- metadata
-
SubResource
- access control list
- torrent?? ## Data Consistency Model
ReadAfterWrite consistency(新しいオブジェクトをPUTで新規作成する時にその場で即座に確認)
- Eventual consistency(既存のオブジェクトをPUTやDELETEで更新する時にはちょっと時間かかる)
- つまり他のアクセス者がolder versionを取得することがありうる。
PUTに成功したらHTTP Status=200を得る
DELETEのためにMFAを設定できる
※ IA = Infrequently Access
※ Glacier = 氷河、すなわちアーカイブされたデータ(Deepは取得により時間がかかる(12時間)がより安くなる)
※ Intelligent-Tiering = 機械学習で最適のTierを選択してくれる
※ OneZone以外は3つ以上のAZに保存される。OneZoneは1つのAZの中で冗長性を保つ。
Charge
- Storage
- Requests & DataRetrieval
- インターネット上のクライアントからのリクエストに応じて課金(バケットからのin/outによる料金のことではない)
- DELETE リクエストおよび CANCEL リクエストは無料です。
- StorageManagePricing
-
DataTransferPricing
- Transfer(AWSのサービスにデータをin/outすること)時に発生する
- すなわち、(1)S3バケット間のデータ転送、(2)S3とEC2などのデータのやりとり、(3)ユーザーからのアップロード、いずれでも発生。
- S3の関してはinは無料である。outにのみ課金される。
-
TransferAccelaration
- 上記のDataTransferをより高速で行う。以下の時に使うべし。
- 中央のバケットに対して世界中のお客様からアップロードが行われる場合。(アップロード時にEdgeLocationにファイルがアップロードされ、そこから最短距離でS3に転送されるので速い)
- 大陸間で定期的にギガバイトからテラバイト単位のデータを送信する場合
-
Same/Cross-RegionReplicationPricing
- 非同期で複製される
- Sameの方は比較的新しく追加された機能
AccessControlListとAccessPolicyでデータアクセスを制限
- オブジェクト、バケツのそれぞれでpublicかを設定できる(はず)
Encryption
- クライアントサイドで頑張る
- 通信観でHTTPS
- SSL/TLS
- サーバーサイドで頑張る(SSE=ServerSideEncryption)
- SS3-S3(S3 ManagedKeys)
- SSE-KMS(AWS KeyManagedServiceのManagedKey)
- SSE-C(AWSにCustomerProvidedKeyを持ち込む)
Versioning
- 一度オンにしたらオフにできない。Suspendedにしかならない。
- publicのファイルと同名のファイルをアップロードして新バージョンを作ってもpublicにはならない
- 容量が雪だるましきに増えるので注意する。
- Versioningオフにするとか
- LifecyclePolicy設定するとか
- Versioningがオンの時にファイル名からファイルを削除したら、
Deleted marker
という新しいバージョンが増えるだけ。全てのversionを一つずつ消す必要がある。 - MFA DELETEと提携することで、セキュリティ強化できる?
Lifecycle Management
- 指定した時間が経ったら(1)オブジェクトのtier(StorageClass)を変化させたり、(2)オブジェクトをexpireさせたりできる
- LifeCycleのRuleを作成する
- Storage class transition
- Configure expiration
S3-Cross-Account Access
アカウントをまたいでS3のリソースにアクセスするには以下の方法がある。(最初の2つはProgramatic Access Only)
- Bucket Policy & IAM(to entire bucket)の組み合わせ
- Bucket ACLs(オブジェクトごとに設定) & IAM(to individual object)の組み合わせ
- (Cross-accountで)対象のS3オブジェクトにアクセスできるIAM Roleを他のアカウントに与える(他のアカウントを
リソース
として見る)
3のやり方
- 振り分け元のアカウントで、
S3_Cross_Account_Access
と言うロールを作る。 - サインアウトして、振り分け先のアカウントのユーザーでログイン。
- ルートユーザーでログインしても、どうやら切り替えできないようだ...?
- このアカウントでIAMでRoleの一覧を見ても
S3_Cross_Account_Access
というロールは含まれていないようだ...? - また、このロールを明示的にどれかしらのUserやGroupに与えるという操作は不要のようだ...?
- そのUserで、コンソールのヘッダーからSwitchRoleを選択する。以下の画面で、
アカウント=振り当て元のアカウントID
、ロール=S3_Cross_Account_Access
を入力する。- 1の画像の
Give this link to users who can switch roles in the console
のアカウントでもOKなはず...(だがうまくいかなかった)
- 1の画像の
(c.f) AWS Organizations を実際に初めてみる第一歩ではフルアクセスのRoleを与えている。
Cross-Region Replication
- 複製元のバケットのVersioningをオンにする必要がある。
- 複製時にすでに複製元のバケットの中に入っているオブジェクトは複製されない。
- その後複製元のバケットにPUTされたオブジェクトはレプリカバケットに複製される。
- 複製元でDELETE markerがつけられても他のバケットに反映されない(AWSが意図的にそうした)
S3 Transfer Acceleration
ファイルをアップロードしたらエッジロケーションのCloudFrontから最短距離のルートが選択され、指定のS3バケットに転送される。
- Amazon S3 Transfer Acceleration
Speed ComparisonでAccelerationを使った時と使わなかった時の速度比較が表示される。
Author And Source
この問題について(AWSのIAM/CloudWatch/S3), 我々は、より多くの情報をここで見つけました https://qiita.com/kudojp/items/c0a27b9e188e76844437著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .