Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

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

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

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 に関しては、苦しんで覚えるしかありません。