Help us understand the problem. What is going on with this article?

AWS Labs製のPlantUMLライブラリ『AWS Icons for PlantUML』の使い方

はじめに

株式会社オークファンでインフラを担当している近江です。
オークファングループ Advent Calendar 2019 16日目 はじめます!

弊社はインフラ環境として AWS を使用しています。
構成図のツールでは PlantUML を採用しており、
インフラチーム全体が構成図をコードで管理出来るようにしております。

今回は AWS の構成図を PlantUML で描く際に使用している『AWS Icons for PlantUML』について
ご紹介したいと思います。

なお PlantUML そのものについては色々記事が出ていると思いますので割愛させていただきます。

『AWS Icons for PlantUML』って?

PlantUML で AWS の構成図を作成するツールといえば標準ライブラリとして提供されている
AWS-PlantUML が有名かと思います。

こちらのツールもアイコンが見やすくていいのですが、今回ご紹介するのは
AWS が提供している AWS Labs 製ツールの『AWS Icons for PlantUML』になります。

2019年5月に公開されたようですね。
AWS-PlantUMLAzure-PlantUML を元に作られたようです。

使い方(コンポーネント図)

1. github の URL を AWSPuml として定義する

@startuml

!define AWSPuml https://raw.githubusercontent.com/awslabs/aws-icons-for-plantuml/master/dist

@enduml

公式ドキュメント通りに AWSPuml として定義しました。

2. common を読み込む

@startuml

!define AWSPuml https://raw.githubusercontent.com/awslabs/aws-icons-for-plantuml/master/dist
!includeurl AWSPuml/AWSCommon.puml

@enduml

dist以下
AWSCommon.puml を読み込みました。
common は必ず include する必要があるので注意が必要です。

3. 使いたいアイコンを読み込む

使いたいAWSのアイコンを includeurl で指定していきます。
例としてS3のアイコンを include してみます。

サービスを個別で include する場合

@startuml

!define AWSPuml https://raw.githubusercontent.com/awslabs/aws-icons-for-plantuml/master/dist
!includeurl AWSPuml/AWSCommon.puml
!incude AWSPuml/Storage/AmazonSimpleStorageServiceS3.puml

@enduml

dist以下 に定義されている
.puml ファイルを includeします。

!incude AWSPuml/Storage/AmazonSimpleStorageServiceS3.puml

これでストレージ系サービスの AmazonSimpleStorageServiceS3 が使えるようになります。

サービスをまとめて include する場合

@startuml

!define AWSPuml https://raw.githubusercontent.com/awslabs/aws-icons-for-plantuml/master/dist
!includeurl AWSPuml/AWSCommon.puml
!incude AWSPuml/Storage/all.puml

@enduml

dist以下 に定義されている
all.puml ファイルを includeします。

!incude AWSPuml/Storage/all.puml

これでストレージ系サービス全てが使えるようになり、
AmazonSimpleStorageServiceS3 も同時に include されているため使えるようになります。

4. コンポーネントを定義する

実際にアイコンを使ってみます。

サービスを個別で include する場合

@startuml

!define AWSPuml https://raw.githubusercontent.com/awslabs/aws-icons-for-plantuml/master/dist
!includeurl AWSPuml/AWSCommon.puml
!includeurl AWSPuml/Storage/SimpleStorageServiceS3.puml

SimpleStorageServiceS3(storageAlias, "Label", "Technology", "Optional Description")

@enduml

"Optional Description" は省略可能です。

サービスをまとめて include する場合

@startuml

!define AWSPuml https://raw.githubusercontent.com/awslabs/aws-icons-for-plantuml/master/dist
!includeurl AWSPuml/AWSCommon.puml
!includeurl AWSPuml/Storage/all.puml

SimpleStorageServiceS3(storageAlias, "Label", "Technology", "Optional Description")

@enduml

結果

image.png

S3 のバケットを出すことが出来ました。


以前、DataSyncを使った際に書いた図だと以下のようになります。

@startuml
left to right direction

!define AWSPuml https://raw.githubusercontent.com/awslabs/aws-icons-for-plantuml/master/dist
!includeurl AWSPuml/AWSCommon.puml
!includeurl AWSPuml/GroupIcons/Cloud.puml
!includeurl AWSPuml/GroupIcons/CorporateDataCenter.puml
!includeurl AWSPuml/Compute/EC2.puml
!includeurl AWSPuml/Storage/EFSFilesystem.puml
!includeurl AWSPuml/Storage/ElasticFileSystemEFS.puml
!includeurl AWSPuml/MigrationAndTransfer/DataSync.puml
!includeurl AWSPuml/MigrationAndTransfer/DataSyncAgent.puml
!includeurl AWSPuml/GroupIcons/Region.puml

CorporateDataCenter(dc,DC,"データセンター") {
    node "X.X.X.X" <<サーバー>> as server
}
Cloud(aws,alias,AWSアカウント) {
    Region(region,ap-northeast-1,"東京リージョン") {
        EC2(ec2,EC2,インスタンス) {
            DataSyncAgent(dsa,instance-name,データ転送インスタンス,m5.2xlarge)
        }
        DataSync(ds,DataSync,データのSyncを行う)
        ElasticFileSystemEFS(efs,"fs-xxxxxx","EFSファイルシステム")
    }
}

server 0---> dsa : NFS\n(Direct Connect 経由)
dsa 0---> ds : TLS
ds 0--> efs

@enduml

image.png

left to right direction と組み合わせると左から右へ生成されるため、
このような図の場合は見やすくなることが多いです。

5. 簡略化した出力にする

!includeurl AWSPuml/AWSSimplified.puml を書くことで説明と枠が簡略化され、
シンプルな見た目にすることが可能です。

@startuml

!define AWSPuml https://raw.githubusercontent.com/awslabs/aws-icons-for-plantuml/master/dist
!includeurl AWSPuml/AWSCommon.puml
' ↓追加
!includeurl AWSPuml/AWSSimplified.puml

!includeurl AWSPuml/Storage/all.puml

SimpleStorageServiceS3(storageAlias, "Label", "Technology", "Optional Description")

@enduml

image.png

!includeurl AWSPuml/AWSSimplified.puml 書く位置によって見た目が変わるので注意が必要です。
公式のREADMEでは !includeurl AWSPuml/AWSCommon.puml の下に書いているようです。


先程の DataSync の図にそのまま適用させてみました。

@startuml
left to right direction

!define AWSPuml https://raw.githubusercontent.com/awslabs/aws-icons-for-plantuml/master/dist
!includeurl AWSPuml/AWSCommon.puml
!includeurl AWSPuml/AWSSimplified.puml

!includeurl AWSPuml/GroupIcons/Cloud.puml
!includeurl AWSPuml/GroupIcons/CorporateDataCenter.puml
!includeurl AWSPuml/Compute/EC2.puml
!includeurl AWSPuml/Storage/EFSFilesystem.puml
!includeurl AWSPuml/Storage/ElasticFileSystemEFS.puml
!includeurl AWSPuml/MigrationAndTransfer/DataSync.puml
!includeurl AWSPuml/MigrationAndTransfer/DataSyncAgent.puml
!includeurl AWSPuml/GroupIcons/Region.puml

CorporateDataCenter(dc,DC,"データセンター") {
    node "X.X.X.X" <<サーバー>> as server
}
Cloud(aws,alias,AWSアカウント) {
    Region(region,ap-northeast-1,"東京リージョン") {
        EC2(ec2,EC2,インスタンス) {
            DataSyncAgent(dsa,instance-name,データ転送インスタンス,m5.2xlarge)
        }
        DataSync(ds,DataSync,データのSyncを行う)
        ElasticFileSystemEFS(efs,"fs-xxxxxx","EFSファイルシステム")
    }
}

server 0---> dsa : NFS\n(Direct Connect 経由)
dsa 0---> ds : TLS
ds 0--> efs

@enduml

image.png

AWS-PlantUML に比べて AWS Icons for PlantUML は書く箇所が多くなるのが
デメリットだったのですが、この !includeurl AWSPuml/AWSSimplified.puml
追加することで省略出来るので便利ですね。

まとめ

今回紹介したコンポーネント図以外にもシーケンス図にも対応したようなので、
どんどん使えるツールになってきています。
AWS-PlantUML を使っている方は乗り換えを検討してみてはいかがでしょうか?

(おまけ) include 出来るものまとめ

リポジトリから引っこ抜きました。2019/12/04 時点のものです。
最新は github から探してください。
また全てincludeするとサーバーにすごい負荷がかかるようなので
注意してください。

サービスを個別で include する場合

!includeurl AWSPuml/Analytics/Analytics.puml
!includeurl AWSPuml/Analytics/Athena.puml
!includeurl AWSPuml/Analytics/CloudSearch.puml
!includeurl AWSPuml/Analytics/CloudSearchSearchDocuments.puml
!includeurl AWSPuml/Analytics/DatalakeResourceIcon.puml
!includeurl AWSPuml/Analytics/DataPipeline.puml
!includeurl AWSPuml/Analytics/DenseComputeNodeResource.puml
!includeurl AWSPuml/Analytics/DenseStorageNodeResource.puml
!includeurl AWSPuml/Analytics/ElasticsearchService.puml
!includeurl AWSPuml/Analytics/EMR.puml
!includeurl AWSPuml/Analytics/EMRCluster.puml
!includeurl AWSPuml/Analytics/EMREngine.puml
!includeurl AWSPuml/Analytics/EMREngineMapRM3.puml
!includeurl AWSPuml/Analytics/EMREngineMapRM5.puml
!includeurl AWSPuml/Analytics/EMREngineMapRM7.puml
!includeurl AWSPuml/Analytics/EMRHDFSCluster.puml
!includeurl AWSPuml/Analytics/Glue.puml
!includeurl AWSPuml/Analytics/GlueCrawlers.puml
!includeurl AWSPuml/Analytics/GlueDataCatalog.puml
!includeurl AWSPuml/Analytics/Kinesis.puml
!includeurl AWSPuml/Analytics/KinesisDataAnalytics.puml
!includeurl AWSPuml/Analytics/KinesisDataFirehose.puml
!includeurl AWSPuml/Analytics/KinesisDataStreams.puml
!includeurl AWSPuml/Analytics/KinesisVideoStreams.puml
!includeurl AWSPuml/Analytics/LakeFormation.puml
!includeurl AWSPuml/Analytics/ManagedStreamingforKafka.puml
!includeurl AWSPuml/Analytics/QuickSight.puml
!includeurl AWSPuml/Analytics/Redshift.puml
!includeurl AWSPuml/ApplicationIntegration/ApplicationIntegration.puml
!includeurl AWSPuml/ApplicationIntegration/AppSync.puml
!includeurl AWSPuml/ApplicationIntegration/EventBridge.puml
!includeurl AWSPuml/ApplicationIntegration/MQ.puml
!includeurl AWSPuml/ApplicationIntegration/SNS.puml
!includeurl AWSPuml/ApplicationIntegration/SNSEmailNotification.puml
!includeurl AWSPuml/ApplicationIntegration/SNSHTTPNotification.puml
!includeurl AWSPuml/ApplicationIntegration/SNSTopic.puml
!includeurl AWSPuml/ApplicationIntegration/SQS.puml
!includeurl AWSPuml/ApplicationIntegration/SQSMessage.puml
!includeurl AWSPuml/ApplicationIntegration/SQSQueue.puml
!includeurl AWSPuml/ApplicationIntegration/StepFunctions.puml
!includeurl AWSPuml/ARVR/ARVR.puml
!includeurl AWSPuml/ARVR/Sumerian.puml
!includeurl AWSPuml/AWSC4Integration.puml
!includeurl AWSPuml/AWSCommon.puml
!includeurl AWSPuml/AWSCostManagement/Budgets.puml
!includeurl AWSPuml/AWSCostManagement/CostandUsageReport.puml
!includeurl AWSPuml/AWSCostManagement/CostExplorer.puml
!includeurl AWSPuml/AWSCostManagement/CostManagement.puml
!includeurl AWSPuml/AWSCostManagement/ReservedInstanceReporting.puml
!includeurl AWSPuml/AWSRaw.puml
!includeurl AWSPuml/AWSSimplified.puml
!includeurl AWSPuml/Blockchain/Blockchain.puml
!includeurl AWSPuml/Blockchain/ManagedBlockchain.puml
!includeurl AWSPuml/Blockchain/QuantumLedgerDatabaseQLDB.puml
!includeurl AWSPuml/BusinessApplications/AlexaForBusiness.puml
!includeurl AWSPuml/BusinessApplications/BusinessApplications.puml
!includeurl AWSPuml/BusinessApplications/Chime.puml
!includeurl AWSPuml/BusinessApplications/WorkMail.puml
!includeurl AWSPuml/Compute/Batch.puml
!includeurl AWSPuml/Compute/Compute.puml
!includeurl AWSPuml/Compute/EC2.puml
!includeurl AWSPuml/Compute/EC2A1Instance.puml
!includeurl AWSPuml/Compute/EC2AMI.puml
!includeurl AWSPuml/Compute/EC2AutoScaling.puml
!includeurl AWSPuml/Compute/EC2AutoScalingResource.puml
!includeurl AWSPuml/Compute/EC2C4Instance.puml
!includeurl AWSPuml/Compute/EC2C5Instance.puml
!includeurl AWSPuml/Compute/EC2C5nInstance.puml
!includeurl AWSPuml/Compute/EC2ContainerRegistry.puml
!includeurl AWSPuml/Compute/EC2ContainerRegistryImage.puml
!includeurl AWSPuml/Compute/EC2ContainerRegistryResource.puml
!includeurl AWSPuml/Compute/EC2D2Instance.puml
!includeurl AWSPuml/Compute/EC2DBonInstance.puml
!includeurl AWSPuml/Compute/EC2ElasticIPAddress.puml
!includeurl AWSPuml/Compute/EC2F1Instance.puml
!includeurl AWSPuml/Compute/EC2G3Instance.puml
!includeurl AWSPuml/Compute/EC2H1Instance.puml
!includeurl AWSPuml/Compute/EC2HighMemoryInstance.puml
!includeurl AWSPuml/Compute/EC2I3Instance.puml
!includeurl AWSPuml/Compute/EC2Instance.puml
!includeurl AWSPuml/Compute/EC2Instances.puml
!includeurl AWSPuml/Compute/EC2InstancewithCloudWatch.puml
!includeurl AWSPuml/Compute/EC2M4Instance.puml
!includeurl AWSPuml/Compute/EC2M5aInstance.puml
!includeurl AWSPuml/Compute/EC2M5Instance.puml
!includeurl AWSPuml/Compute/EC2OptimizedInstance.puml
!includeurl AWSPuml/Compute/EC2P2Instance.puml
!includeurl AWSPuml/Compute/EC2P3Instance.puml
!includeurl AWSPuml/Compute/EC2R4Instance.puml
!includeurl AWSPuml/Compute/EC2R5aInstance.puml
!includeurl AWSPuml/Compute/EC2R5Instance.puml
!includeurl AWSPuml/Compute/EC2Rescue.puml
!includeurl AWSPuml/Compute/EC2SpotInstance.puml
!includeurl AWSPuml/Compute/EC2T2Instance.puml
!includeurl AWSPuml/Compute/EC2T3aInstance.puml
!includeurl AWSPuml/Compute/EC2T3Instance.puml
!includeurl AWSPuml/Compute/EC2X1eInstance.puml
!includeurl AWSPuml/Compute/EC2X1Instance.puml
!includeurl AWSPuml/Compute/EC2z1dInstance.puml
!includeurl AWSPuml/Compute/ECSContainer1.puml
!includeurl AWSPuml/Compute/ECSContainer2.puml
!includeurl AWSPuml/Compute/ECSContainer3.puml
!includeurl AWSPuml/Compute/ECSService.puml
!includeurl AWSPuml/Compute/ElasticBeanstalk.puml
!includeurl AWSPuml/Compute/ElasticBeanstalkApplication.puml
!includeurl AWSPuml/Compute/ElasticBeanstalkDeployment.puml
!includeurl AWSPuml/Compute/ElasticContainerService.puml
!includeurl AWSPuml/Compute/ElasticKubernetesService.puml
!includeurl AWSPuml/Compute/Fargate.puml
!includeurl AWSPuml/Compute/Lambda.puml
!includeurl AWSPuml/Compute/LambdaLambdaFunction.puml
!includeurl AWSPuml/Compute/Lightsail.puml
!includeurl AWSPuml/Compute/Outposts.puml
!includeurl AWSPuml/Compute/ServerlessApplicationRepository.puml
!includeurl AWSPuml/Compute/ThinkboxDeadline.puml
!includeurl AWSPuml/Compute/ThinkboxDraft.puml
!includeurl AWSPuml/Compute/ThinkboxFrost.puml
!includeurl AWSPuml/Compute/ThinkboxKrakatoa.puml
!includeurl AWSPuml/Compute/ThinkboxSequoia.puml
!includeurl AWSPuml/Compute/ThinkboxStoke.puml
!includeurl AWSPuml/Compute/ThinkboxXMesh.puml
!includeurl AWSPuml/Compute/VMwareCloudOnAWS.puml
!includeurl AWSPuml/CustomerEngagement/Connect.puml
!includeurl AWSPuml/CustomerEngagement/CustomerEngagement.puml
!includeurl AWSPuml/CustomerEngagement/Pinpoint.puml
!includeurl AWSPuml/CustomerEngagement/SESEmail.puml
!includeurl AWSPuml/CustomerEngagement/SimpleEmailServiceSES.puml
!includeurl AWSPuml/Database/Aurora.puml
!includeurl AWSPuml/Database/Database.puml
!includeurl AWSPuml/Database/DatabaseMigrationService.puml
!includeurl AWSPuml/Database/DenseComputeNodeResource2.puml
!includeurl AWSPuml/Database/DenseStorageNodeResource2.puml
!includeurl AWSPuml/Database/DMSDatabaseMigrationWorkflow.puml
!includeurl AWSPuml/Database/DocumentDBwithMongoDBcompatibility.puml
!includeurl AWSPuml/Database/DynamoDB.puml
!includeurl AWSPuml/Database/DynamoDBAttribute.puml
!includeurl AWSPuml/Database/DynamoDBAttributes.puml
!includeurl AWSPuml/Database/DynamoDBGSI.puml
!includeurl AWSPuml/Database/DynamoDBItem.puml
!includeurl AWSPuml/Database/DynamoDBItems.puml
!includeurl AWSPuml/Database/DynamoDBTable.puml
!includeurl AWSPuml/Database/ElastiCache.puml
!includeurl AWSPuml/Database/ElastiCacheCacheNode.puml
!includeurl AWSPuml/Database/ElastiCacheForMemcached.puml
!includeurl AWSPuml/Database/ElastiCacheForRedis.puml
!includeurl AWSPuml/Database/Neptune.puml
!includeurl AWSPuml/Database/QLDB.puml
!includeurl AWSPuml/Database/RDS.puml
!includeurl AWSPuml/Database/RDSAmazonAurorainstance.puml
!includeurl AWSPuml/Database/RDSAmazonAurorainstancealt.puml
!includeurl AWSPuml/Database/RDSAmazonRDSinstance.puml
!includeurl AWSPuml/Database/RDSAmazonRDSinstancealt.puml
!includeurl AWSPuml/Database/RDSMariaDBinstance.puml
!includeurl AWSPuml/Database/RDSMariaDBinstancealt.puml
!includeurl AWSPuml/Database/RDSMySQLinstance.puml
!includeurl AWSPuml/Database/RDSMySQLinstancealt.puml
!includeurl AWSPuml/Database/RDSonVMware.puml
!includeurl AWSPuml/Database/RDSOracleinstance.puml
!includeurl AWSPuml/Database/RDSOracleinstancealt.puml
!includeurl AWSPuml/Database/RDSPIOP.puml
!includeurl AWSPuml/Database/RDSPostgreSQLinstance.puml
!includeurl AWSPuml/Database/RDSPostgreSQLinstancealt.puml
!includeurl AWSPuml/Database/RDSSQLServerinstance.puml
!includeurl AWSPuml/Database/RDSSQLServerinstancealt.puml
!includeurl AWSPuml/Database/Timestream.puml
!includeurl AWSPuml/DeveloperTools/Cloud9.puml
!includeurl AWSPuml/DeveloperTools/CloudDevelopmentKit.puml
!includeurl AWSPuml/DeveloperTools/CodeBuild.puml
!includeurl AWSPuml/DeveloperTools/CodeCommit.puml
!includeurl AWSPuml/DeveloperTools/CodeDeploy.puml
!includeurl AWSPuml/DeveloperTools/CodePipeline.puml
!includeurl AWSPuml/DeveloperTools/CodeStar.puml
!includeurl AWSPuml/DeveloperTools/CommandLineInterface.puml
!includeurl AWSPuml/DeveloperTools/DeveloperTools.puml
!includeurl AWSPuml/DeveloperTools/ToolsAndSDKs.puml
!includeurl AWSPuml/DeveloperTools/XRay.puml
!includeurl AWSPuml/EndUserComputing/Appstream2.0.puml
!includeurl AWSPuml/EndUserComputing/EndUserComputing.puml
!includeurl AWSPuml/EndUserComputing/WorkDocs.puml
!includeurl AWSPuml/EndUserComputing/WorkLink.puml
!includeurl AWSPuml/EndUserComputing/Workspaces.puml
!includeurl AWSPuml/GameTech/GameLift.puml
!includeurl AWSPuml/GameTech/GameTech.puml
!includeurl AWSPuml/General/Client.puml
!includeurl AWSPuml/General/Disk.puml
!includeurl AWSPuml/General/Forums.puml
!includeurl AWSPuml/General/General.puml
!includeurl AWSPuml/General/GenericDatabase.puml
!includeurl AWSPuml/General/InternetAlt1.puml
!includeurl AWSPuml/General/InternetAlt2.puml
!includeurl AWSPuml/General/InternetGateway.puml
!includeurl AWSPuml/General/Marketplace.puml
!includeurl AWSPuml/General/MobileClient.puml
!includeurl AWSPuml/General/Multimedia.puml
!includeurl AWSPuml/General/OfficeBuilding.puml
!includeurl AWSPuml/General/SAMLToken.puml
!includeurl AWSPuml/General/SDK.puml
!includeurl AWSPuml/General/SSLPadlock.puml
!includeurl AWSPuml/General/TapeStorage.puml
!includeurl AWSPuml/General/Toolkit.puml
!includeurl AWSPuml/General/TraditionalServer.puml
!includeurl AWSPuml/General/User.puml
!includeurl AWSPuml/General/Users.puml
!includeurl AWSPuml/GroupIcons/AutoScalingGroup.puml
!includeurl AWSPuml/GroupIcons/Cloud.puml
!includeurl AWSPuml/GroupIcons/Cloudalt.puml
!includeurl AWSPuml/GroupIcons/CorporateDataCenter.puml
!includeurl AWSPuml/GroupIcons/ElasticBeanstalkContainer.puml
!includeurl AWSPuml/GroupIcons/Region.puml
!includeurl AWSPuml/GroupIcons/ServerContents.puml
!includeurl AWSPuml/GroupIcons/SpotFleet.puml
!includeurl AWSPuml/GroupIcons/StepFunction.puml
!includeurl AWSPuml/GroupIcons/VirtualPrivateCloudVPC.puml
!includeurl AWSPuml/GroupIcons/VPCSubnetPrivate.puml
!includeurl AWSPuml/GroupIcons/VPCSubnetPublic.puml
!includeurl AWSPuml/InternetOfThings/FreeRTOS.puml
!includeurl AWSPuml/InternetOfThings/InternetofThings.puml
!includeurl AWSPuml/InternetOfThings/IoT1Click.puml
!includeurl AWSPuml/InternetOfThings/IoTAction.puml
!includeurl AWSPuml/InternetOfThings/IoTActuator.puml
!includeurl AWSPuml/InternetOfThings/IoTAlexaEnabledDevice.puml
!includeurl AWSPuml/InternetOfThings/IoTAlexaSkill.puml
!includeurl AWSPuml/InternetOfThings/IoTAlexaVoiceService.puml
!includeurl AWSPuml/InternetOfThings/IoTAnalytics.puml
!includeurl AWSPuml/InternetOfThings/IoTAnalyticsChannel.puml
!includeurl AWSPuml/InternetOfThings/IoTAnalyticsDataSet.puml
!includeurl AWSPuml/InternetOfThings/IoTAnalyticsDataStore.puml
!includeurl AWSPuml/InternetOfThings/IoTAnalyticsNotebook.puml
!includeurl AWSPuml/InternetOfThings/IoTAnalyticsPipeline.puml
!includeurl AWSPuml/InternetOfThings/IoTBank.puml
!includeurl AWSPuml/InternetOfThings/IoTBicycle.puml
!includeurl AWSPuml/InternetOfThings/IoTButton.puml
!includeurl AWSPuml/InternetOfThings/IoTCamera.puml
!includeurl AWSPuml/InternetOfThings/IoTCar.puml
!includeurl AWSPuml/InternetOfThings/IoTCart.puml
!includeurl AWSPuml/InternetOfThings/IoTCertificateManager.puml
!includeurl AWSPuml/InternetOfThings/IoTCoffeePot.puml
!includeurl AWSPuml/InternetOfThings/IoTCore.puml
!includeurl AWSPuml/InternetOfThings/IoTDesiredState.puml
!includeurl AWSPuml/InternetOfThings/IoTDeviceDefender.puml
!includeurl AWSPuml/InternetOfThings/IoTDeviceGateway.puml
!includeurl AWSPuml/InternetOfThings/IoTDeviceManagement.puml
!includeurl AWSPuml/InternetOfThings/IoTDoorLock.puml
!includeurl AWSPuml/InternetOfThings/IoTEcho.puml
!includeurl AWSPuml/InternetOfThings/IoTEvents.puml
!includeurl AWSPuml/InternetOfThings/IoTFactory.puml
!includeurl AWSPuml/InternetOfThings/IoTFireTV.puml
!includeurl AWSPuml/InternetOfThings/IoTFireTVStick.puml
!includeurl AWSPuml/InternetOfThings/IoTGeneric.puml
!includeurl AWSPuml/InternetOfThings/IoTGreengrass.puml
!includeurl AWSPuml/InternetOfThings/IoTGreengrassConnector.puml
!includeurl AWSPuml/InternetOfThings/IoTHardwareBoard.puml
!includeurl AWSPuml/InternetOfThings/IoTHouse.puml
!includeurl AWSPuml/InternetOfThings/IoTHTTP2Protocol.puml
!includeurl AWSPuml/InternetOfThings/IoTHTTPProtocol.puml
!includeurl AWSPuml/InternetOfThings/IoTLambdaFunction.puml
!includeurl AWSPuml/InternetOfThings/IoTLightbulb.puml
!includeurl AWSPuml/InternetOfThings/IoTMedicalEmergency.puml
!includeurl AWSPuml/InternetOfThings/IoTMQTTProtocol.puml
!includeurl AWSPuml/InternetOfThings/IoTOverTheAirUpdate.puml
!includeurl AWSPuml/InternetOfThings/IoTPoliceEmergency.puml
!includeurl AWSPuml/InternetOfThings/IoTPolicy.puml
!includeurl AWSPuml/InternetOfThings/IoTReportedState.puml
!includeurl AWSPuml/InternetOfThings/IoTRule.puml
!includeurl AWSPuml/InternetOfThings/IoTSensor.puml
!includeurl AWSPuml/InternetOfThings/IoTServo.puml
!includeurl AWSPuml/InternetOfThings/IoTShadow.puml
!includeurl AWSPuml/InternetOfThings/IoTSimulator.puml
!includeurl AWSPuml/InternetOfThings/IoTSiteWise.puml
!includeurl AWSPuml/InternetOfThings/IoTThermostat.puml
!includeurl AWSPuml/InternetOfThings/IoTThingsGraph.puml
!includeurl AWSPuml/InternetOfThings/IoTTopic.puml
!includeurl AWSPuml/InternetOfThings/IoTTravel.puml
!includeurl AWSPuml/InternetOfThings/IoTUtility.puml
!includeurl AWSPuml/InternetOfThings/IoTWindfarm.puml
!includeurl AWSPuml/MachineLearning/ApacheMXNetonAWS.puml
!includeurl AWSPuml/MachineLearning/Comprehend.puml
!includeurl AWSPuml/MachineLearning/DeepLearningAMIs.puml
!includeurl AWSPuml/MachineLearning/DeepLearningContainers.puml
!includeurl AWSPuml/MachineLearning/DeepLens.puml
!includeurl AWSPuml/MachineLearning/DeepRacer.puml
!includeurl AWSPuml/MachineLearning/ElasticInference.puml
!includeurl AWSPuml/MachineLearning/Forecast.puml
!includeurl AWSPuml/MachineLearning/Lex.puml
!includeurl AWSPuml/MachineLearning/MachineLearning.puml
!includeurl AWSPuml/MachineLearning/Personalize.puml
!includeurl AWSPuml/MachineLearning/Polly.puml
!includeurl AWSPuml/MachineLearning/Rekognition.puml
!includeurl AWSPuml/MachineLearning/RekognitionImage.puml
!includeurl AWSPuml/MachineLearning/RekognitionVideo.puml
!includeurl AWSPuml/MachineLearning/SageMaker.puml
!includeurl AWSPuml/MachineLearning/SageMakerGroundTruth.puml
!includeurl AWSPuml/MachineLearning/SageMakerModel.puml
!includeurl AWSPuml/MachineLearning/SageMakerNotebook.puml
!includeurl AWSPuml/MachineLearning/SageMakerTrain.puml
!includeurl AWSPuml/MachineLearning/TensorFlowonAWS.puml
!includeurl AWSPuml/MachineLearning/Textract.puml
!includeurl AWSPuml/MachineLearning/Transcribe.puml
!includeurl AWSPuml/MachineLearning/Translate.puml
!includeurl AWSPuml/ManagementAndGovernance/AutoScaling.puml
!includeurl AWSPuml/ManagementAndGovernance/CloudFormation.puml
!includeurl AWSPuml/ManagementAndGovernance/CloudFormationChangeSet.puml
!includeurl AWSPuml/ManagementAndGovernance/CloudFormationStack.puml
!includeurl AWSPuml/ManagementAndGovernance/CloudFormationTemplate.puml
!includeurl AWSPuml/ManagementAndGovernance/CloudTrail.puml
!includeurl AWSPuml/ManagementAndGovernance/CloudWatch.puml
!includeurl AWSPuml/ManagementAndGovernance/CloudWatchAlarm.puml
!includeurl AWSPuml/ManagementAndGovernance/CloudWatchEventEventBased.puml
!includeurl AWSPuml/ManagementAndGovernance/CloudWatchEventTimeBased.puml
!includeurl AWSPuml/ManagementAndGovernance/CloudWatchRule.puml
!includeurl AWSPuml/ManagementAndGovernance/Config.puml
!includeurl AWSPuml/ManagementAndGovernance/ControlTower.puml
!includeurl AWSPuml/ManagementAndGovernance/LicenseManager.puml
!includeurl AWSPuml/ManagementAndGovernance/ManagedServices.puml
!includeurl AWSPuml/ManagementAndGovernance/ManagementandGovernance.puml
!includeurl AWSPuml/ManagementAndGovernance/ManagementConsole.puml
!includeurl AWSPuml/ManagementAndGovernance/OpsWorks.puml
!includeurl AWSPuml/ManagementAndGovernance/OpsWorksApps.puml
!includeurl AWSPuml/ManagementAndGovernance/OpsWorksDeployments.puml
!includeurl AWSPuml/ManagementAndGovernance/OpsWorksInstances.puml
!includeurl AWSPuml/ManagementAndGovernance/OpsWorksLayers.puml
!includeurl AWSPuml/ManagementAndGovernance/OpsWorksMonitoring.puml
!includeurl AWSPuml/ManagementAndGovernance/OpsWorksPermissions.puml
!includeurl AWSPuml/ManagementAndGovernance/OpsWorksResources.puml
!includeurl AWSPuml/ManagementAndGovernance/OpsWorksStack2.puml
!includeurl AWSPuml/ManagementAndGovernance/Organizations.puml
!includeurl AWSPuml/ManagementAndGovernance/OrganizationsAccount.puml
!includeurl AWSPuml/ManagementAndGovernance/OrganizationsOrganizationalunit.puml
!includeurl AWSPuml/ManagementAndGovernance/PersonalHealthDashboard.puml
!includeurl AWSPuml/ManagementAndGovernance/ServiceCatalog.puml
!includeurl AWSPuml/ManagementAndGovernance/SystemsManager.puml
!includeurl AWSPuml/ManagementAndGovernance/SystemsManagerAutomation.puml
!includeurl AWSPuml/ManagementAndGovernance/SystemsManagerDocuments.puml
!includeurl AWSPuml/ManagementAndGovernance/SystemsManagerInventory.puml
!includeurl AWSPuml/ManagementAndGovernance/SystemsManagerMaintWindows.puml
!includeurl AWSPuml/ManagementAndGovernance/SystemsManagerOpsCenter.puml
!includeurl AWSPuml/ManagementAndGovernance/SystemsManagerParameterStore.puml
!includeurl AWSPuml/ManagementAndGovernance/SystemsManagerPatchManager.puml
!includeurl AWSPuml/ManagementAndGovernance/SystemsManagerRunCommand.puml
!includeurl AWSPuml/ManagementAndGovernance/SystemsManagerStateManager.puml
!includeurl AWSPuml/ManagementAndGovernance/TrustedAdvisor.puml
!includeurl AWSPuml/ManagementAndGovernance/TrustedAdvisorCheckCost.puml
!includeurl AWSPuml/ManagementAndGovernance/TrustedAdvisorCheckFaultTolerant.puml
!includeurl AWSPuml/ManagementAndGovernance/TrustedAdvisorChecklist.puml
!includeurl AWSPuml/ManagementAndGovernance/TrustedAdvisorCheckPerformance.puml
!includeurl AWSPuml/ManagementAndGovernance/TrustedAdvisorCheckSecurity.puml
!includeurl AWSPuml/ManagementAndGovernance/WellArchitectedTool.puml
!includeurl AWSPuml/MediaServices/ElasticTranscoder.puml
!includeurl AWSPuml/MediaServices/ElementalMediaConnect.puml
!includeurl AWSPuml/MediaServices/ElementalMediaConvert.puml
!includeurl AWSPuml/MediaServices/ElementalMediaLive.puml
!includeurl AWSPuml/MediaServices/ElementalMediaPackage.puml
!includeurl AWSPuml/MediaServices/ElementalMediaStore.puml
!includeurl AWSPuml/MediaServices/ElementalMediaTailor.puml
!includeurl AWSPuml/MediaServices/MediaServices.puml
!includeurl AWSPuml/MigrationAndTransfer/ApplicationDiscoveryService.puml
!includeurl AWSPuml/MigrationAndTransfer/DataSync.puml
!includeurl AWSPuml/MigrationAndTransfer/DataSyncAgent.puml
!includeurl AWSPuml/MigrationAndTransfer/MigrationandTransfer.puml
!includeurl AWSPuml/MigrationAndTransfer/MigrationHub.puml
!includeurl AWSPuml/MigrationAndTransfer/ServerMigrationService.puml
!includeurl AWSPuml/MigrationAndTransfer/Snowmobile.puml
!includeurl AWSPuml/MigrationAndTransfer/TransferforSFTP.puml
!includeurl AWSPuml/Mobile/Amplify.puml
!includeurl AWSPuml/Mobile/APIGateway.puml
!includeurl AWSPuml/Mobile/APIGatewayEndpoint.puml
!includeurl AWSPuml/Mobile/AppSync2.puml
!includeurl AWSPuml/Mobile/DeviceFarm.puml
!includeurl AWSPuml/Mobile/Mobile.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/AppMesh.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/ClassicLoadBalancer.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/ClientVPN.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/CloudFront.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/CloudFrontDownloadDistribution.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/CloudFrontEdgeLocation.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/CloudFrontStreamingDistribution.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/CloudMap.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/DirectConnect.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/ElasticLoadBalancing.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/ELBApplicationLoadBalancer.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/ELBNetworkLoadBalancer.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/GlobalAccelerator.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/NetworkingandContentDelivery.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/PrivateLink.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/Route53.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/Route53HostedZone.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/Route53RouteTable.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/SitetoSiteVPN.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/TransitGateway.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/VPC.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/VPCCustomerGateway.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/VPCElasticNetworkAdapter.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/VPCElasticNetworkInterface.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/VPCEndpoints.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/VPCFlowLogs.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/VPCInternetGateway.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/VPCNATGateway.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/VPCNetworkAccessControlList.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/VPCPeering.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/VPCRouter.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/VPCVPNConnection.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/VPCVPNGateway.puml
!includeurl AWSPuml/Robotics/RoboMaker.puml
!includeurl AWSPuml/Robotics/RoboMakerCloudExtensionROS.puml
!includeurl AWSPuml/Robotics/RoboMakerDevEnvironment.puml
!includeurl AWSPuml/Robotics/RoboMakerFleetManagement.puml
!includeurl AWSPuml/Robotics/RoboMakerSimulation.puml
!includeurl AWSPuml/Robotics/Robotics.puml
!includeurl AWSPuml/Satellite/GroundStation.puml
!includeurl AWSPuml/Satellite/Satellite.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/ADConnector.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/Artifact.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/CertificateAuthority.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/CertificateManager.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/CloudDirectory.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/CloudHSM.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/Cognito.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/DirectoryService.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/GuardDuty.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/IAMAddon.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/IAMAWSSTS.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/IAMAWSSTSAlternate.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/IAMDataEncryptionKey.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/IAMEncryptedData.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/IAMLongtermSecurityCredential.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/IAMMFAToken.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/IAMPermissions.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/IAMResource.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/IAMRole.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/IAMTemporarySecurityCredential.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/Inspector.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/InspectorAgent.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/KeyManagementService.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/Macie.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/ManagedMicrosoftAD.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/ResourceAccessManager.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/SecIdentityAndCompliance.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/SecretsManager.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/SecurityHub.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/Shield.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/ShieldShieldAdvanced.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/SimpleAD.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/SingleSignOn.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/WAF.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/WAFFilteringrule.puml
!includeurl AWSPuml/Storage/Backup.puml
!includeurl AWSPuml/Storage/EBSSnapshot.puml
!includeurl AWSPuml/Storage/EBSVolume.puml
!includeurl AWSPuml/Storage/EFSFilesystem.puml
!includeurl AWSPuml/Storage/EFSInfrequentAccess.puml
!includeurl AWSPuml/Storage/EFSStandard.puml
!includeurl AWSPuml/Storage/ElasticBlockStoreEBS.puml
!includeurl AWSPuml/Storage/ElasticFileSystemEFS.puml
!includeurl AWSPuml/Storage/FSx.puml
!includeurl AWSPuml/Storage/FSxforLustre.puml
!includeurl AWSPuml/Storage/FSxforWindowsFileServer.puml
!includeurl AWSPuml/Storage/S3Bucket.puml
!includeurl AWSPuml/Storage/S3BucketwithObjects.puml
!includeurl AWSPuml/Storage/S3Glacier.puml
!includeurl AWSPuml/Storage/S3GlacierArchive.puml
!includeurl AWSPuml/Storage/S3GlacierVault.puml
!includeurl AWSPuml/Storage/S3Object.puml
!includeurl AWSPuml/Storage/SimpleStorageServiceS3.puml
!includeurl AWSPuml/Storage/SnowFamilyImportExport.puml
!includeurl AWSPuml/Storage/Storage.puml
!includeurl AWSPuml/Storage/StorageGateway.puml
!includeurl AWSPuml/Storage/StorageGatewayCachedVolume.puml
!includeurl AWSPuml/Storage/StorageGatewayNonCachedVolume.puml
!includeurl AWSPuml/Storage/StorageGatewayVirtualTapeLibrary.puml

サービスをまとめて include する場合

!includeurl AWSPuml/Analytics/all.puml
!includeurl AWSPuml/ApplicationIntegration/all.puml
!includeurl AWSPuml/ARVR/all.puml
!includeurl AWSPuml/AWSCostManagement/all.puml
!includeurl AWSPuml/Blockchain/all.puml
!includeurl AWSPuml/BusinessApplications/all.puml
!includeurl AWSPuml/Compute/all.puml
!includeurl AWSPuml/CustomerEngagement/all.puml
!includeurl AWSPuml/Database/all.puml
!includeurl AWSPuml/DeveloperTools/all.puml
!includeurl AWSPuml/EndUserComputing/all.puml
!includeurl AWSPuml/GameTech/all.puml
!includeurl AWSPuml/General/all.puml
!includeurl AWSPuml/GroupIcons/all.puml
!includeurl AWSPuml/InternetOfThings/all.puml
!includeurl AWSPuml/MachineLearning/all.puml
!includeurl AWSPuml/ManagementAndGovernance/all.puml
!includeurl AWSPuml/MediaServices/all.puml
!includeurl AWSPuml/MigrationAndTransfer/all.puml
!includeurl AWSPuml/MigrationAndTransfer/Snowball.puml
!includeurl AWSPuml/MigrationAndTransfer/SnowballEdge.puml
!includeurl AWSPuml/Mobile/all.puml
!includeurl AWSPuml/NetworkingAndContentDelivery/all.puml
!includeurl AWSPuml/Robotics/all.puml
!includeurl AWSPuml/Satellite/all.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/all.puml
!includeurl AWSPuml/SecurityIdentityAndCompliance/FirewallManager.puml
!includeurl AWSPuml/Storage/all.puml

(余談)
弊社では情報共有ツールとして kibela というサービスを使っていますが、
標準で PlantUML に対応しているので使いやすいですよ。

0hm1
aucfan
あらゆる商品に関する正確でフェアな情報を提供する企業として、世界における唯一無二の存在となるというビジョンの元、基盤となる技術を作り続けるマザーズベンチャー
https://aucfan.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした