Upgrade to Pro — share decks privately, control downloads, hide ads and more …

社内研修用 AWSの概念・全体像

社内研修用 AWSの概念・全体像

Avatar for Sonoda Ryohei

Sonoda Ryohei

May 23, 2018
Tweet

More Decks by Sonoda Ryohei

Other Decks in Technology

Transcript

  1. AWSリソースのモデル VPCをクラス図で表すとこんな感じです。 VPCのCIDRのネットマスクは最大で16ビットでなければならないというド メイン制約を持ちます。 VPC VPC-ID (PK) Region CIDR 次にVPC内のサブネットをモデル化します。サブネットは必須属性として

    Availability Zone(AZ) と CIDR 、および親エンティティとなる VPC-ID を持ちます。サブネットのライ フサイクルはVPCに依存します。 Subnet Subnet-ID (PK) Availability Zone CIDR VPC-ID (FK) VPC VPC-ID (PK) Region CIDR
  2. AWSリソースのモデル サブネットの属性を見れば、以下のドメイン制約が自明です。 • サブネットの CIDR はVPCの CIDR 範囲内でなければならない。 • サブネットの

    AZ は VPC の Region 内でなければならない。 また、VPCの新たな制約が判明します。 • 各サブネットの CIDR は重複してはならない。 ◦ 厳密にはRouteTableをモデル化した後に自明になります。 このように、リソースをモデル化すると自明な制約が判明します。なので、モデルを知れ ば仕様の予測がつき、サービスに対する理解が早まります。
  3. AWSリソースのモデル リソースのモデルを把握する効果的な方法。 • 公式のAPIリファレンス。 ◦ 例: https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/APIReference/API_CreateSubnet.html • 公式のCloudFormationのドキュメント。 •

    Terraformの公式ドキュメント。 • 公式のCLIリファレンス。 APIリファレンスやCLIリファレンスを参照する場合は `create` 系のAPIを見るとモデル がわかりやすいです。
  4. 類似プロダクト一覧(例) • EC2 KVM、Xen、Hyper-V などのハイパーバイザ • SQS RabbitMQ、ActiveMQ などのMQミドルウェア •

    VPC ルータ、iptables、firewalld などのネットワークツール • DynamoDB MongoDB、Cassandra などのNoSQLデータベース • EFS GlusterFS、Ceph などの分散ストレージミドルウェア • WAF/Shield mod_security、Deep Security などのWAF • Kinesis Apache Kafka などのストリームエンジン • CodeBuild CircleCI、TravisCI などのCIサービス • AppStream VMware ThinApp、XenApp ◦ などなど、あまりにも多すぎて書ききれない・・・
  5. ほぼプロダクトまんまなサービス • Elasitcsearch Service => Elasticsearch • RDS => Oracle,

    PostgreSQL など • ElastiCache => Memcached, Redis • OpsWorks => Chef • ActiveDirectory => Microsoft Active Directory • Simple AD => Samba4 • MQ => ActiveMQ これらのサービスは、AWSのノウハウだけでなく、プロダクトのノウハウがそのまま活か せるので、情報量が多く学習コストが低くすむことが多いです。
  6. 代替プロダクトがないAWSならではのサービス • IAM (まあこれはAWSリソースに対する認可なので当たり前) • S3 (AWSの負債。機能単位なら類似はたくさんあるけど。) • Elastic Beanstalk

    (完全に独自概念、はまりどころ多数) • Cognito (相当複雑、いろんなプロダクトを組み合わせればいけそう) • Certificate Manager (だって認証局になんてなれないですもの) • AWS AppSync (「今は」まだあまりない。これから急増しそう。) • Greenglass (これは普通真似できないでしょ) • Connect (これぞAmazon!って感じ) • Snowball (Amazonの真骨頂といえるサービス) これらのサービスは代替プロダクトがあまりないため、学習コストが高めです。特に利用 頻度が高い S3 や IAM に関しては、苦しんで覚えるしかありません。