2021/05/27

AWS Marketplaceとは?AWS Marketplaceはどこに一覧があるの?料金は?

 
  

AWSとは?


AWSとはAmazon Web Servicesの略称で、Amazonが提供する100を超えるクラウドコンピューティングサービスの総称のことを指します。

特にコスト面でのメリットが高くハードウェア、ソフトウェアを購入しなくてもいいので、初期投資が抑えられます。また従量課金制なので定額制と比較したときに無駄なコストが発生しにくい点も魅力の1つです。

必要な時に必要な分のサービスを利用できるので、大企業からスタートアップベンチャー、政府機関など幅広いジャンルの方々に愛されているクラウドコンピューティングサービスです。

AWS Marketplaceとは?


AWS Marketplaceとは、Marketplace(市場)という言葉の通り、ソリューションを構築してビジネスを実行するのに必要な純正品以外のソフトウェアやサービス、データなどを、検索・購入・管理できるツールを提供しているオンラインストアのことです。

2012年4月にサービスが開始され、現在では160,000以上の顧客に利用されており、厳選された4,200以上の製品を取り揃えています。

AWS Marketplaceの特徴

AWS Marketplaceの特徴は、インスタンスのバリエーションが豊富な点です。OS単体だけでなく、様々な種類のソフトウェアが導入済みの環境が、AWS Marketplaceを使用することで簡単に手に入ります。

また、視点を変えてみると、AWS Marketplaceを使用することでセットアップのやり方を学ぶことができます。サーバーに何かをさせようとするとき、その何かをインストールするやり方を探すのに苦労することがあります。しかしAWS Marketplaceではすでにインストールされている状態なので、これをお手本として参照することができます。

ソフトウェアのカテゴリについて

AWS Marketplaceには、ソフトウェアインフラストラクチャ、開発者用ツール、IoT、デスクトップアプリケーション、ビジネスソフトウェアの5つのソフトウェアカテゴリが存在しています。

主要なソフトウェアカテゴリには、具体的なサブカテゴリがあります。必要なソフトウェアを選択できるように、販売者の詳細、購入者の評価、製品情報、価格、ソフトウェアのバージョン、ソフトウェアのタイプの6つの情報を見ることができます。

AWS Marketplaceはどこに一覧があるの?料金は?


AWS Marketplaceは7つの主要なカテゴリで構成されており、幅広いニーズに対応できるよう、多数の製品がラインナップされています。ここからは、製品の検索の仕方と料金体系について解説していきます。

AWS Marketplace製品一覧の検索方法

AWS Marketplaceには、ニーズの高いオープンソースからソフトウェア、無料および有料のデータ製品があります。その一覧を見るには下記の手順を実行します。

まず、AWS Marketplaceにアクセスします。[Shop All Categories(すべてのカテゴリ)]ペインで、選択可能なカテゴリの一覧を確認できます。

AWS Marketplaceの料金体系

AWS Marketplaceの料金体系には、以下の5種類のオプションが存在しています。

・Free Trial
初期の試用として、多岐にわたる製品を無料で使用することが可能です。

・Hourly
時間に応じて、ユーザーの数やデータ転送などによる課金制です。短期利用での開発やテスト、トラフィック急増の際の利用に向いています。

・Monthly
月額払いで割引きもあります。長期ではないプロジェクトや通常レベルの負荷の際の利用に適しています。

・Annual/Multi-Year
一括払いで割引額が大きくなっているのが特徴です。数年単位でオプションがあり長期プロジェクトや断続的な負荷かレベルでの利用に向いています。

・Private Offers
顧客と独立系ソフトウェアベンダの間で交渉してカスタム料金を設定することが可能です。

電話や詳細な情報を伝えて申し込みすることをせず、画面上の操作だけでデプロイができ製品の価格モデルによっては使用した分だけ課金される仕組みです。

AWS Marketplaceの開始手順


ここからは製品一覧から開発環境に合わせた製品の検索が完了し、AWS Marketplaceを購入者としてソフトウェア製品の使用を実際に開始する手順を解説していきます。

①ソフトウェアを選択する

1.先ほどご紹介した方法で製品一覧を確認できたら、[Shop All Categories(すべてのカテゴリ)]ペインで[Content Management(コンテンツ管理)]をクリックします。

2.[Content Management(コンテンツ管理)]の一覧のページで[BitNami WordPress]をクリックします。

3.製品詳細ページで製品情報を確認した後、[続行]をクリックします。製品詳細ページには購入者の評価、製品の説明、サポート、ハイライト、使用開始に役立つリソース等の追加情報も記載されています。

②AWS Marketplaceにサインイン

上記の「①ソフトウェアを選択する」のステップが完了すると、AWS Marketplaceへのサインインにリダイレクトされます。すでにAWSアカウントを持っている場合は、そのアカウントを使ってサインインできます。

AWSアカウントを持っていない場合は、下記の手順でアカウントを作成する必要があります。
1.[サインイン]or[アカウントの作成]ページで[新規アカウントを作成]をクリックします。
2.画面に表示される手順に沿って操作していきます。

③Amazon EC2でソフトウェアを起動する

1.[Launch on EC2(EC2 で起動)]ページで、[1-Click Launch(1-Click 起動)]ビューを選び、デフォルト設定を確認します。設定の変更方法は以下となります。

バージョンを展開後、使用するAMIバージョンを選び、リージョンを展開して使用するリージョンを選びます。

[EC2 インスタンスタイプ]を展開し、インスタンスタイプを選びます。[料金に関する詳細情報]に出ている料金情報が、選択内容に応じて変わります。右側のペインで月額料金の見積もりを見ることも可能です。

[Firewall Settings(ファイアウォールの設定)]を展開し、既存のセキュリティグループを選ぶか、[Click new based on seller settings(販売者の設定に基づいて新規クリックする)]を選んでデフォルト設定を許可します。

[キーペア]を展開し、キーペアがあるときは既存のキーペアを選びます。キーペアがないときは、キーペアの作成を求められます。

最後に設定が確認できたら、[Accept Terms & Launch with 1-Click(条件に同意して1-Clickで起動)]を選びます。

④ソフトウェアの管理方法

AWS Marketplaceにアクセスし、[Your Software(ソフトウェア)]をクリックします。
[Your Software(ソフトウェア)]ページを使用して、ソフトウェアサブスクリプションを管理できます。

[Your Software Subscriptions(ソフトウェアサブスクリプション)]ページでは、製品別インスタンスステータスの確認、当月月額料金の確認、新たなインスタンスの実行、インスタンス販売者のプロファイル確認、インスタンスを管理するためのAWSマネジメントコンソールへのリンク、ソフトウェアを設定するためのAmazon EC2インスタンスへの直接リンク等の操作を実行することが可能です。

⑤インスタンスの終了

インスタンスを終了するには、AWS Marketplaceにアクセスして[Your Software(ソフトウェア)]をクリックします。

[Your Software(ソフトウェア)]ページで、終了するインスタンスの横に[Manage in AWS Console(AWSコンソールで管理)]と表示されているのでそれをクリックします。

AWSマネジメントコンソールでEC2コンソールを開き、該当するインスタンスを右クリックし[Terminate(終了)]をクリックします。確認を求めるメッセージが出たら、[Yes, Terminate]をクリックします。

AWS Marketplaceで使用するコード例


SaaS 製品の公開やメンテナンスに必要となるResolveCustomer、GetEntitlement、BatchMeterUsageの3つのコード例があります。これはAWS Marketplace API と SaaS 製品を統合するのに役立てる目的で提供されています。

ResolveCustomer のコード例

下記のコード例は、すべての料金モデルに関係しています。

# Import AWS Python SDK and urllib.parse 
import boto3
import urllib.parse as urlparse 

# Resolving Customer Registration Token
formFields = urlparse.parse_qs(postBody)
regToken = formFields['x-amzn-marketplace-token']

# If regToken present in POST request, exchange for customerID
if (regToken):
    marketplaceClient = boto3.client('meteringmarketplace')
    customerData = marketplaceClient.resolve_customer(regToken)
    productCode = customerData['ProductCode']
    customerID = customerData['CustomerIdentifier']
    
    # TODO: Store customer information 
    # TODO: Validate no other accounts share the same 

レスポンス例

{
    'CustomerIdentifier': 'string',
    'ProductCode': 'string'
}

GetEntitlement のコード例

下記のコード例は、消費料金モデルを持つ SaaS 契約や契約している SaaS 製品に関係しています。

# Import AWS Python SDK
import boto3

marketplaceClient = boto3.client('marketplace-entitlement')

# Filter entitlements for a specific customerID
#
# productCode is supplied after the AWS Marketplace Ops team has published 
# the product to limited
# 
# customerID is obtained from the ResolveCustomer response
entitlement = marketplaceClient.get_entitlements({
    'ProductCode': 'productCode',
    'Filter' : {
        'CUSTOMER_IDENTIFIER': [
            'customerID',
        ]
    },
    'NextToken' : 'string',
    'MaxResults': 123
})

# TODO: Verify the dimension a customer is subscribed to and the quantity, 
# if applicable

レスポンス例

戻り値は、AWS Marketplace Management Portal で製品作成時に作られたディメンションに対応しています。

{
   "Entitlements": [ 
      { 
         "CustomerIdentifier": "string",
         "Dimension": "string",
         "ExpirationDate": number,
         "ProductCode": "string",
         "Value": { 
            "BooleanValue": boolean,
            "DoubleValue": number,
            "IntegerValue": number,
            "StringValue": "string"
         }
      }
   ],
   "NextToken": "string"
}

BatchMeterUsage のコード例

下記コード例は、SaaS サブスクリプションや消費料金モデルを使った契約に関係しますが、消費のない SaaS 契約製品には関係しません。

# NOTE: Your application will need to aggregate usage for the 
#       customer for the hour and set the quantity as seen below. 
#       AWS Marketplace can only accept records for up to an hour in the past. 
#
# productCode is supplied after the AWS Marketplace Ops team has 
# published the product to limited
#
# customerID is obtained from the ResolveCustomer response

# Import AWS Python SDK
import boto3

usageRecord = [
    {
        'Timestamp': datetime(2015, 1, 1),
        'CustomerIdentifier': 'customerID',
        'Dimension': 'string',
        'Quantity': 123
    }
]

marketplaceClient = boto3.client('meteringmarketplace')

response = marketplaceClient.batch_meter_usage(usageRecord, productCode)

レスポンス例

{
    'Results': [
        {
            'UsageRecord': {
                'Timestamp': datetime(2015, 1, 1),
                'CustomerIdentifier': 'string',
                'Dimension': 'string',
                'Quantity': 123
            },
            'MeteringRecordId': 'string',
            'Status': 'Success' | 'CustomerNotSubscribed' | 'DuplicateRecord'
        },
    ],
    'UnprocessedRecords': [
        {
            'Timestamp': datetime(2015, 1, 1),
            'CustomerIdentifier': 'string',
            'Dimension': 'string',
            'Quantity': 123
        }
    ]
}

AWS Marketplaceを活用してみよう!


本記事ではAWS Marketplaceを利用するメリットから使用方法、料金やコード例について解説しました。

幅広いニーズに合わせた製品があり、様々な使い方が可能です。AWS Marketplaceで自分に合った環境をセットアップしてみましょう。

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】