💻
AWSome Day Online Conferenceメモ4/10
AWS の概要、グローバルインフラストラクチャとコンピューティング
AWSの概要
クラウド(←→オンプレ)
インフラをソフトウェアとして考えるメリット
従量課金によるコスト削減、固定費から変動費圧倒的なスケールメリット: 100台でも用意できるキャパシティ予測の不要: 今使う分だけ使えるスピードと俊敏性の向上データセンター不要数分で世界中にデプロイ
グローバルインフラストラクチャーとサービス概要
- アベイラビリティゾーン: 1つ以上のデータセンター、障害を分離する設計、仮想データセンター群、基本この中で動く
- リージョン: 3つ以上のAZで構成されている、全31リージョン複数のAZを利用することでAZレベルの障害の影響から保護でき、システムの高可用性を確保→ベストプラクティス
コンピューティング
Amazon EC2
仮想サーバー、OSまで含めて用意する、ソフトウェアをインストール状態のものを用意できる?伸縮性、制御可能、柔軟性、簡単適切なインスタンスの選択可能ユーザーデータ機能: コマンドを書くと、起動時に読んでくれる
クラウドサービスの種類
アンマネージドサービス(EC2): 自由度が高いマネージドサービス(殆ど)
マネージドサービスとしてのコンピューティングサービス
サーバーレスコンピューティング
- サーバーを管理せずにアプリとサービスの構築と実行が可能な環境プロビジョニング: サーバーの作成とか起動自動スケーリング従量課金可用性と耐障害性は組み込み済みAWS Lambda(コードを実行するための基盤)
- サーバーレスでプログラムを動かせる(サーバーのことを考えずにコードを実行する)、サーバーの概念がないので起動などもない(ただし動かすきっかけ、Lambdaを動かすURLが必要)
- ランタイム:(プログラミング言語の)実行環境他サービスとの連携可能: 例えばS3へのデータ保存をきっかけにLambda関数にイベントを送信し、画像を小さくしたり(サムネイル作成)
ストレージとデータベース
オブジェクトストレージ
- ストレージ: データを保存しておく場所サーバー自身からしかアクセスできないストレージ、複数のサーバーからアクセスできるストレージに大別皆がアクセスするようなリソースは、誰でもアクセスできる場所に置きたい
Amazon S3
- オブジェクトレベルストレージイベントトリガーとしてLambda関数を呼び出せるバケットを作り、データを放り込んでいくイメージブロックパブリックアクセス機能、バージョニング機能、署名付きURL機能容量課金Amazon S3 Glacier
- コールドデータ(あまり取り出さない)を置く場所(氷河)長期保管用データストレージバックアップのアーカイブ非常に低コストなストレージ
ブロックストレージ
Amazon EBS
EC2インスタンスの永続的なブロックストレージバックアップはS3に自動保存される
データベース
「EC2にインストールする方法」もあるが「AWSのデータベースサービスを利用する方法」が主流後者はリレーショナル、非リレーショナルに大別
リレーショナルデータベース
- 参照整合性、ACID、トランザクションAmazon RDS(マネージドサービス)
- クリック一つで冗長化、マルチAZ配置自動フェイルオーバー
Amazon Aurora
- クラウド向けに構築された、MySQLとPostgreSQLと互換性のあるRDB
非リレーショナルデータベース(NoSQL)
- Key-value: キーとバリュー(1対1)という単純な構造、超高速パフォーマンス、RDBMSに比べ読み書きが高速Amazon DynamoDB
- フルマネージド, サーバーレス(サーバー管理不要シンプルに大量のデータ、素早くスケールする必要がある、複雑な結合は不要、極端な水平スケーリング機能が必要なアプリケーションに適している(etc. 順位表など)
ネットワークとセキュリティ
Amazon VPC
- AWSクラウドのプライベートネットワーク空間を作れるロードバランサーを使いながら、マルチAZ構成作れる
- VPC内の部屋の事をサブネット(一区画)と呼ぶ: パブリックサブネット(インターネットに繋がる)、プライベートサブネット(繋がらない)
- インターネットゲートウェイ:インターネットの玄関口リージョン毎に管理?
- CIDR: ネットワークの範囲例えばアプリケーション(アクセスポイント)をパブリックサブネットに、DBはプライベートサブネットに置く
セキュリティグループ
- ファイアウォール的なもの
- 一回入れたら、自動的に出られるネットワークACL
- サブネット単位で設定入る通信と出る通信を別の扱いをする、多層制御ルートテーブル
- ネットワークトラフィックの送信先を決定するために使用される「ルート」と呼ばれる一連のルールが含まれる
AWSの最優先事項AWSの責任共有モデル
- お客様の責任、AWSの責任を区別AWSの認証とアクセス管理
- 認証: その人が申請した本人か確認をすること認可: その人がどんな事をしてもいいか許可を与えるIAM
- AWSリソースへのアクセスを安全に制御IAMユーザーIAMポリシー: AWSのサービスへのアクセス許可の付与、権限の割り当て
- IAMグループ: 役割ごとに権限IAMロール:プログラム内に認証情報を載せる必要なくなるユーザー、グループ、ロールにポリシーを適用
- リソースベース(アクセスされる側)のアクセスコントロール
- 例えば(アクセスされる)S3側にアクセス制御を掛ける
AWS CloudTrail
AWSアカウントのユーザーアクティビティとAPIの使用状況の追跡(監査証跡)ログファイルはS3バケットに送信される
AWS Trusted Advisor
コスト削減、パフォーマンスの向上、セキュリティの強化に役立つガイダンスを提供するサービスサポート契約によって見られるデータが違う
AWSでイノベーション
- AWS IoT Core
- デバイスをクラウド接続するAWS IoT Greengrass
- クラウドの機能をローカルデバイスに拡張するソフトウェアAmazon SageMaker
- Amazon Rekognition
- AWS Ground Station
次のステップのご紹介
開発を始める
- AWS無料利用枠
- 請求アラーム
- 開発者用ツール(SDK)
- クイックスタート学習の継続
- AWS Builders Onlineは初学者向けセミナー(無料)
- AWSスキルビルダー(基本無料)
認定資格
- Cloud Practitioner Essentials: クラウドプラクティショナーに必要な知識が全て学べる(無料)
- クラスルームトレーニング: AWS認定講師からクラウドを学べる
- AWSランプアップガイド: 学習ロードマップ
- AWS Hands-on for Beginners認定試験
- AWS認定: 計12個
- 認定試験ワークショップ(定期開催): 勉強後の復習におすすめ、質問できる、無料
まとめ
- インプットし、実際に触ったり認定試験を取ったりアウトプットする事で知識を深めるのがオススメ
- 認定のコツ: まず申し込み、逆算的に勉強する
Discussion