Force.comからAmazon EC2とS3を利用する方法
Force.com for Amazon Web Servicesをインストールすると、
Force.com上からAmazon EC2とS3を利用することができます。
機能は最低限のものしかありませんが、EC2とS3へアクセスするアプリを作成する際、ソースコードが大変参考になります。
インストール方法
1. パッケージのインストール
以下のリンクをクリックし、インストールしたい組織にログインして、パッケージをインストールします。
・運用環境/Developer Edition用
・Sandbox用
2. リモートサイトの設定
「管理者設定」→「セキュリティのコントロール」→「リモートサイトの設定」に、以下を新規追加します。
・https://ec2.amazonaws.com
・https://s3.amazonaws.com
3. AWS Credential情報の設定
「Force.com for Amazon Web Services」アプリケーションの「AWS Credential」タブで、 「新規」を押下し、以下の情報を入力して、AWS Credential情報を作成します。
・Credential Name : 任意の名称(6. Apexコードの修正で使用します)
・Key : AWSのAccess Key ID
・Secret : AWSのSecret Access Key
4. AWS S3 Objectオブジェクトの新規ボタン押下時アクションの上書き
「作成」→「オブジェクト」→「AWS S3 Object」→「標準ボタンと標準リンク」で「新規」ボタンのアクションを選択し、上書き手段で「Visualforceページ」と「news3object」を選択して、保存します。
5. Force.com IDEで、インストールした組織のプロジェクトを作成し、最新情報を取得します。
6. Apexコードの修正
・AWS_ExplorerCon.cls
・AWS_S3_ExampleController.cls
・S3FormController.cls
・EC2Consoleontroller.cls
のAWSCredentialNameの値を、3.で設定した「Credential Name」の値に変更し、保存します。
利用方法
○EC2 Consoleタブ
EC2仮想マシンの運用状況を確認できます。シャットダウンと再起動も実行できます。
<注意>
US East(Virginia)以外のRegionを利用している場合は、追加で以下の設定が必要です。
追加1. Apexコードの修正
EC2 Query APIで情報を取得する際、エンドポイントが「https://ec2.amazonaws.com/」だと、US Eastの情報を取得してしまうので、
・EC2Connection.cls
のmakerequestメソッド内のreq.setEndpointの引数に渡しているURLを、利用しているRegionに合わせて、以下のように変更します。
・US West(N.California) : https://ec2.us-west-1.amazonaws.com/
・EU West(Ireland) : https://ec2.eu-west-1.amazonaws.com/
・Asia Pacific(Singapore) : https://ec2.ap-southeast-1.amazonaws.com/
・Asia Pacific(Tokyo) : https://ec2.ap-northeast-1.amazonaws.com/
追加2. リモートサイトの設定
追加1.で変更したURLをリモートサイトの設定に追加
○AWS Explorerタブ
S3のバケット構造を閲覧できます。
○S3 Samplesタブ
バケットの追加・削除、ファイルのアップロード(ローカル→S3、Force.com→S3)ができます。
○AWS S3 Objectsタブ
ファイルのアップロード(ローカル→S3)とプレビューの閲覧ができます。
コメント