サポートセンター | Data Fabric | PSC INC.

08. AWS Marketplace版 Mashuサーバー利用方法

作成者: T|2026/07/10 2:23:03

この記事では、AWS Marketplace で提供されているMashuサーバーの利用開始手順について説明します。

この手順を実行すると、AWS環境でMashuサーバーを実行しRDSからメタデータを取得できるようになります。

AWS Marketplace からMashuサーバーを検索する

AWS Marketplaceにアクセスして「製品を検出」メニューを選択してください。検索ボックスに「Mashu」と入力して検索して「Mashu Server for AWS」という製品を見つけてください。

「購入オプションを表示」ボタンから「Mashu Server for AWS」をサブスクライブします。「Mashu Server for AWS」自体の料金は無料です。ただし、デプロイしたAWSリソース(API Gateway, AWS Lambda, etc.)の利用料金がかかります。

Mashuサーバーデプロイ権限

以下のロールでECS版, Lambda版どちらのデプロイも実行可能です。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "CloudFormationPermissions",
            "Effect": "Allow",
            "Action": [
                "cloudformation:CreateStack",
                "cloudformation:UpdateStack",
                "cloudformation:DeleteStack",
                "cloudformation:DescribeStacks",
                "cloudformation:DescribeStackEvents",
                "cloudformation:DescribeStackResource",
                "cloudformation:DescribeStackResources",
                "cloudformation:GetTemplateSummary"
            ],
            "Resource": "*"
        },
        {
            "Sid": "IAMPermissions",
            "Effect": "Allow",
            "Action": [
                "iam:CreateRole",
                "iam:DeleteRole",
                "iam:GetRole",
                "iam:PassRole",
                "iam:AttachRolePolicy",
                "iam:DetachRolePolicy",
                "iam:TagRole",
                "iam:UntagRole",
                "iam:UpdateAssumeRolePolicy",
                "iam:ListAttachedRolePolicies",
                "iam:ListRolePolicies"
            ],
            "Resource": "arn:aws:iam::*:role/*"
        },
        {
            "Sid": "EC2Permissions",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateSecurityGroup",
                "ec2:DeleteSecurityGroup",
                "ec2:DescribeSecurityGroups",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:RevokeSecurityGroupIngress",
                "ec2:AuthorizeSecurityGroupEgress",
                "ec2:RevokeSecurityGroupEgress",
                "ec2:DescribeSecurityGroupRules",
                "ec2:DescribeVpcs",
                "ec2:DescribeSubnets",
                "ec2:CreateTags",
                "ec2:DeleteTags",
                "ec2:DescribeTags"
            ],
            "Resource": "*"
        },
        {
            "Sid": "LambdaPermissions",
            "Effect": "Allow",
            "Action": [
                "lambda:CreateFunction",
                "lambda:DeleteFunction",
                "lambda:GetFunction",
                "lambda:GetFunctionConfiguration",
                "lambda:AddPermission",
                "lambda:RemovePermission",
                "lambda:UpdateFunctionCode",
                "lambda:UpdateFunctionConfiguration",
                "lambda:TagResource",
                "lambda:UntagResource",
                "lambda:ListTags"
            ],
            "Resource": "*"
        },
        {
            "Sid": "CloudWatchLogsPermissions",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:DeleteLogGroup",
                "logs:DescribeLogGroups",
                "logs:PutRetentionPolicy",
                "logs:ListTagsLogGroup",
                "logs:TagLogGroup",
                "logs:UntagLogGroup",
                "logs:TagResource",
                "logs:UntagResource",
                "logs:ListTagsForResource"
            ],
            "Resource": "*"
        },
        {
            "Sid": "ApiGatewayPermissions",
            "Effect": "Allow",
            "Action": [
                "apigateway:POST",
                "apigateway:GET",
                "apigateway:PUT",
                "apigateway:PATCH",
                "apigateway:DELETE",
                "apigateway:UpdateRestApiPolicy"
            ],
            "Resource": "arn:aws:apigateway:*::/*"
        },
        {
            "Sid": "ECSExpressGatewayServicePermissions",
            "Effect": "Allow",
            "Action": [
                "ecs:CreateCluster",
                "ecs:DescribeClusters",
                "ecs:RegisterTaskDefinition",
                "ecs:DeregisterTaskDefinition",
                "ecs:DescribeTaskDefinition",
                "ecs:CreateExpressGatewayService",
                "ecs:UpdateExpressGatewayService",
                "ecs:DeleteExpressGatewayService",
                "ecs:DescribeExpressGatewayService",
                "ecs:DescribeServices",
                "ecs:DescribeServiceRevisions",
                "ecs:ListServiceDeployments",
                "ecs:DescribeServiceDeployments",
                "ecs:TagResource",
                "ecs:UntagResource",
                "ecs:ListTagsForResource"
            ],
            "Resource": "*"
        },
        {
            "Sid": "WAFv2Permissions",
            "Effect": "Allow",
            "Action": [
                "wafv2:CreateIPSet",
                "wafv2:GetIPSet",
                "wafv2:UpdateIPSet",
                "wafv2:DeleteIPSet",
                "wafv2:TagResource",
                "wafv2:UntagResource",
                "wafv2:ListTagsForResource",
                "wafv2:CreateWebACL",
                "wafv2:GetWebACL",
                "wafv2:UpdateWebACL",
                "wafv2:DeleteWebACL",
                "wafv2:AssociateWebACL",
                "wafv2:DisassociateWebACL",
                "wafv2:GetWebACLForResource",
                "wafv2:ListResourcesForWebACL",
                "elasticloadbalancing:SetWebACL",
                "elasticloadbalancing:DescribeLoadBalancers"
            ],
            "Resource": "*"
        }
    ]
}

Mashuサーバーをデプロイする(ECS版)

稼働時間によってECS, ALB, WAFなど、AWSリソースの使用料がかかります。

「ソフトウェアを起動する」ボタンをクリックするとデプロイに関するドキュメントが確認できます。

CloudFormationでコンテナをデプロイする

「デプロイテンプレート」の「Deploy to ECS」リンクをクリックするとCloudFormationのUIが表示されます。

スタックの作成 ステップ

作成ステップでは、変更せずそのまま「次へ」をクリックしてください。

スタックの詳細を指定 ステップ

詳細ステップでは、以下のパラメーターを設定します。

パラメーター 説明
VpcId RDSが稼働しているVPCのIDを指定します。
ALBSubnetIds
ロードバランサーを配置するパブリックサブネットのIDを指定します(複数指定可能) 。
RdsSecurityGroupId 既存のRDS用セキュリティグループのIDを指定します。
ServiceName(任意)

ECSのサービス名です。

ContainerTag(任意) RDSが稼働しているVPCのIDを指定します。
RdsFromPort(任意) RDSの開始ポート番号を指定します(PostgreSQLの場合は5432、MySQLの場合は3306)。
RdsToPort(任意) RDSの終了ポート番号を指定します。単一ポートの場合はRdsFromPortと同じ値を指定してください。
AllowedIps(任意) アクセスを許可するIPアドレス(CIDR形式)をカンマ区切りで指定します。設定しない場合は全許可となります。 
Cpu(任意) ECSタスクが使用するCPUサイズ(デフォルト: 512MB)。
Memory(任意) ECSタスクが使用するメモリサイズ(デフォルト: 1024MB)。
LogRetentionInDays(任意) CloudWatch Logsのログ保持期間(デフォルト: 30日)。
LogStreamPrefix(任意) CloudWatch Logsのログのプレフィックス(デフォルト: ecs)。
スタックオプションの設定 ステップ

「AWS CloudFormation によって IAM リソースがカスタム名で作成される場合があることを承認します」にチェックを入れて「次へ」をクリックしてください。

確認して作成 ステップ

設定値に間違いがなければ「送信」ボタンをクリックしてデプロイしてください。

Mashuサーバーをデプロイする(Lambda版)

Lambda版でデプロイするとAWSリソースの使用料をECS版よりも少なく抑えることができます。

「ソフトウェアを起動する」ボタンをクリックするとデプロイに関するドキュメントが確認できます。

CloudFormationでコンテナをデプロイする

「デプロイテンプレート」の「Deploy to Lambda」リンクをクリックするとCloudFormationのUIが表示されます。

スタックの作成 ステップ

作成ステップでは、変更せずそのまま「次へ」をクリックしてください。

スタックの詳細を指定 ステップ

詳細ステップでは、以下のパラメーターを設定します。

パラメーター 説明
ImageUri

事前に登録した自アカウントのECRイメージURIを指定します 。

例: <AccountID>.dkr.ecr.ap-northeast-1.amazonaws.com/mashu:latest

VpcId RDSが稼働しているVPCのIDを指定します。
LambdaSubnetIds

Lambdaを配置するプライベートサブネットのIDを指定します(複数指定可能) 。

RdsSecurityGroupId 既存のRDS用セキュリティグループのIDを指定します。Lambdaからのアクセスを許可するルールが自動で追加されます。
RdsFromPort(任意)

RDSの開始ポート番号を指定します(PostgreSQLの場合は5432、MySQLの場合は3306)。

RdsToPort(任意)

RDSの終了ポート番号を指定します。単一ポートの場合はRdsFromPortと同じ値を指定してください。

AllowedIps(任意) アクセスを許可するIPアドレス(CIDR形式)をカンマ区切りで指定します。設定しない場合は全て許可となります。
LambdaMemorySize(任意) Lambdaのメモリサイズ(デフォルト: 512MB)。
LambdaTimeout(任意) Lambdaのタイムアウト時間(デフォルト: 900秒)。
LogRetentionInDays(任意) CloudWatch Logsのログ保持期間(デフォルト: 30日)。
スタックオプションの設定 ステップ

「AWS CloudFormation によって IAM リソースがカスタム名で作成される場合があることを承認します」にチェックを入れて「次へ」をクリックしてください。

確認して作成 ステップ

設定値に間違いがなければ「送信」ボタンをクリックしてデプロイしてください。

Mashuサーバーと接続する

先のステップでデプロイしたCloudFormationスタックの「出力」タブを開いて、「MashuServerEndpoint」に記載されているURLをコピーします。

Mashuの画面を開いてコピーしたURLを貼り付け、「接続する」をクリックしてください。接続が成功すれば設定完了です。

Mashuサーバーのバージョンを更新する(Lambda版)

セットアップスクリプトの<VERSION>を更新先のバージョンで指定してスクリプトを実行してください。

$ ./setup.sh  <ACCOUNT_ID> <REGION> <VERSION>

その後は Mashuサーバーをデプロイする(Lambda版) と同じ手順でデプロイするとMashuサーバーが更新できます。