Manuals
Manuals




This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English

Amazon Web Service の設定

Defold の Live Update 機能を Amazon のサービスと組み合わせて使用するには、Amazon Web Services のアカウントが必要です。アカウントをまだ持っていない場合は、https://aws.amazon.com/ で作成できます。

このセクションでは、Amazon Web Services でアクセスを制限した新しいユーザーを作成し、Defold エディターと組み合わせてゲームのバンドル(bundle)作成時に Live Update リソース(resource)を自動的にアップロードする方法と、ゲームクライアントがリソースを取得できるように Amazon S3 を設定する方法を説明します。Amazon S3 の設定方法の詳細は、Amazon S3 のドキュメントを参照してください。

  1. Live Update リソース用のバケットを作成する

    Services メニューを開き、Storage カテゴリーにある S3 を選択します(Amazon S3 コンソール)。既存のすべてのバケットと、新しいバケットを作成するオプションが表示されます。既存のバケットを使用することもできますが、アクセスを簡単に制限できるように、Live Update リソース用に新しいバケットを作成することをお勧めします。

    バケットの作成

  2. バケットにバケットポリシーを追加する

    使用するバケットを選択し、Properties パネルを開いて、パネル内の Permissions オプションを展開します。Add bucket policy ボタンをクリックしてバケットポリシーを開きます。この例のバケットポリシーは、匿名ユーザーがバケットからファイルを取得することを許可します。これにより、ゲームクライアントはゲームに必要な Live Update リソースをダウンロードできます。バケットポリシーの詳細は、Amazon のドキュメントを参照してください。

     {
         "Version": "2012-10-17",
         "Statement": [
             {
                 "Sid": "AddPerm",
                 "Effect": "Allow",
                 "Principal": "*",
                 "Action": "s3:GetObject",
                 "Resource": "arn:aws:s3:::defold-liveupdate-example/*"
             }
         ]
     }
    

    バケットポリシー

  3. バケットに CORS 設定を追加する(任意)

    クロスオリジンリソース共有(Cross-Origin Resource Sharing、CORS)は、Web サイトが JavaScript を使って異なるドメインからリソースを取得できるようにする仕組みです。ゲームを HTML5 クライアントとして公開する場合は、バケットに CORS 設定を追加する必要があります。

    使用するバケットを選択し、Properties パネルを開いて、パネル内の Permissions オプションを展開します。Add CORS Configuration ボタンをクリックしてバケットポリシーを開きます。この例の設定は、ドメインにワイルドカードを指定することで、あらゆる Web サイトからのアクセスを許可します。ただし、ゲームを公開するドメインが分かっている場合は、アクセスをさらに制限できます。Amazon の CORS 設定の詳細は、Amazon のドキュメントを参照してください。

     <?xml version="1.0" encoding="UTF-8"?>
     <CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
         <CORSRule>
             <AllowedOrigin>*</AllowedOrigin>
             <AllowedMethod>GET</AllowedMethod>
         </CORSRule>
     </CORSConfiguration>
    

    CORS 設定

  4. IAM ポリシーを作成する

    Services メニューを開き、Security, Identity & Compliance カテゴリーにある IAM を選択します(Amazon IAM コンソール)。左側のメニューで Policies を選択すると、既存のすべてのポリシーと、新しいポリシーを作成するオプションが表示されます。

    Create Policy ボタンをクリックし、Create Your Own Policy を選択します。この例のポリシーは、ユーザーがすべてのバケットを一覧表示することを許可します。この権限は、Defold プロジェクトで Live Update を設定するときにのみ必要です。また、アクセスコントロールリスト(Access Control List、ACL)の取得と、Live Update リソースに使用する特定のバケットへのリソースのアップロードも許可します。Amazon Identity and Access Management(IAM)の詳細は、Amazon のドキュメントを参照してください。

     {
         "Version": "2012-10-17",
         "Statement": [
             {
                 "Effect": "Allow",
                 "Action": [
                     "s3:ListAllMyBuckets"
                 ],
                 "Resource": "arn:aws:s3:::*"
             },
             {
                 "Effect": "Allow",
                 "Action": [
                     "s3:GetBucketAcl"
                 ],
                 "Resource": "arn:aws:s3:::defold-liveupdate-example"
             },
             {
                 "Effect": "Allow",
                 "Action": [
                     "s3:PutObject"
                 ],
                 "Resource": "arn:aws:s3:::defold-liveupdate-example/*"
             }
         ]
     }
    

    IAM ポリシー

  5. プログラムによるアクセス用のユーザーを作成する

    Services メニューを開き、Security, Identity & Compliance カテゴリーにある IAM を選択します(Amazon IAM コンソール)。左側のメニューで Users を選択すると、既存のすべてのユーザーと、新しいユーザーを追加するオプションが表示されます。既存のユーザーを使用することもできますが、アクセスを簡単に制限できるように、Live Update リソース用に新しいユーザーを追加することをお勧めします。

    Add User ボタンをクリックしてユーザー名を入力し、Access type として Programmatic access を選択して、Next: Permissions を押します。Attach existing policies directly を選択し、手順4で作成したポリシーを選びます。

    手続きが完了すると、Access key IDSecret access key が発行されます。

    ページを離れると、これらのキーを Amazon から再取得できなくなるため、保存しておくことが 非常に重要 です。

  6. 認証情報のプロファイルファイルを作成する

    ここまでで、バケットの作成、バケットポリシーの設定、CORS 設定の追加、ユーザーポリシーの作成、新しいユーザーの作成が完了しているはずです。あとは、Defold エディターがユーザーに代わってバケットにアクセスできるように、認証情報のプロファイルファイルを作成するだけです。

    ホームフォルダーに .aws という新しいディレクトリを作成し、その中に credentials という名前のファイルを作成します。

     $ mkdir ~/.aws
     $ touch ~/.aws/credentials
    

    ~/.aws/credentials ファイルには、プログラムによるアクセスを通じて Amazon Web Services にアクセスするための認証情報を記述します。このファイルを使用する方法は、AWS 認証情報を管理する標準化された方法です。テキストエディターでファイルを開き、以下の形式で Access key IDSecret access key を入力します。

     [defold-liveupdate-example]
     aws_access_key_id = <Access key ID>
     aws_secret_access_key = <Secret access key>
    

    角括弧内に指定した識別子(この例では defold-liveupdate-example )は、Defold エディターでプロジェクトの Live Update 設定を行う際に指定する識別子と同じです。

    Live Update 設定