macにcompassを入れる
新しく購入
mac miniをお試し中
なんか起動がすでにおかしいけどw
環境が変わった
アップデート
sudo gem update --system
conpassインストール
sudo gem install -n /usr/local/bin compass
これでいいらしい
以前は
sudo gem install compass
でうまくいっていた気がしてたけど環境が変わると多少やり方が変わるのは仕方がない
Spring BootでHello Worldを行う
手順
Webサイトで開発環境のSTSをダウンロード
https://spring.io/tools/sts/all
※400MBくらいあった
起動
「Spring Stater Project」を指定
デフォルトのまま次へ
今回はWebのみを選択する
プロジェクトのデータをダウンロード
プロジェクトを展開してHelloControllerを追加する
HelloController.javaを編集
package com.example; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController { @RequestMapping("/") public String index() { return "Hello world"; } }
ポート設定
※デフォルトでは8080が起動するので他のものに変えたい場合はapplication.ymlを作成して設定する
src/main/resources/application.yml
server: port: 7777
実行
確認
所感
動かすところまでできた。
マニュアルを見てもしっくりこないところがあるので動かしながら確認していくのは面白い。
詰んだら困りますが最近は参考になる情報がネットにあるのでいろいろ試してやっていくことにする。
AWS SESでメールを受信してS3へ保管
独自ドメインを使えば受信できるらしい
やってみる
SES設定
SESを起動
Domainsを選択
「Verify a New Domain」を選択
ドメインを設定
「Use Route 53」を選択
「Create Record Sets」を選択
ドメインの検証完了
「Rule Sets」を選択
「Create a Receipt Rule」を選択
今回は何も指定しないまま次へ
処理に「S3」を選択
「Create S3 bucket」を選択
S3のバケット名を設定してバケットを作成
「Next Step」を選択
ルール名を設定して「Next Step」を選択
ルールを作成する
ルール作成
S3設定
S3を起動
メール受信用のバケットを確認
バケットの中身
メールをCLIでメール送信
$ aws \ --region us-west-2 \ ses send-email \ --to aaa1@mshige1979aws.xyz \ --from 送信元メールアドレス \ --subject "テストメール" \ --text "テストメールRULE1" { "MessageId": "0101015826a686ae-c8322df5-1d54-4d38-a593-ffbe0263a7c7-000000" } $
バケットを確認
ダウンロードして確認
なんかごちゃごちゃしたヘッダー情報 なんかごちゃごちゃしたヘッダー情報 なんかごちゃごちゃしたヘッダー情報 なんかごちゃごちゃしたヘッダー情報 From: 送信元メールアドレス To: aaa1@mshige1979aws.xyz Subject: =?UTF-8?B?44OG44K544OI44Oh44O844Or?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 Message-ID: <0101015826a686ae-c8322df5-1d54-4d38-a593-ffbe0263a7c7-000000@us-west-2.amazonses.com> Date: Wed, 2 Nov 2016 20:06:37 +0000 X-SES-Outgoing: 2016.11.02-54.240.27.24 Feedback-ID: 1.us-west-2.diVdaUBNwWpEd4LMSZCQ3MHDGnRqRPtes2q0JUysWgI=:AmazonSES 44OG44K544OI44Oh44O844OrUlVMRTE=
おわり
所感
なんとか受信はできた…
S3だけではなくLambdaなどのサービスに渡したりすることもできるよう。
S3のデータを別のサービスを経由してWebメールみたいなこともできるかもしれない…
AWSのSESの制限を解除してみる
解除してみた
まだ、まともに使っていないけど…
手順
送信制限の解除申請
設定
依頼中
完了
これでおわりらしい
時間は?
1日くらい?
時差の問題とかありそうなのでよくわかりませんけど…
AWSのSESでメールを送信する
AWS SES
メールを送信するサービス。
なんかやれば受診もできるらしい
最初は制限がある
サンドボックスバージョンらしいので
外部へのメール送信など遅れるメール数とかいろいろ制限があるらしい
今回やること
メールアドレスを登録して登録したメールアドレスの送信ができるようにする
設定
SES起動
リージョンを変更する
※東京のリージョンはNG
Email Addressを選択
「Verify a New Email Address」を選択
検証するメールアドレスを設定
メールアドレスを送信したことを確認して「Close」を押下
状態を確認
メールを受診して、検証する
検証確定
メールアドレスのステータスで成功したことを確認
メール送信テスト
テストデータを設定して送信
テスト結果
メール送信に関するメトリクスを表示する
CLIより送信
コマンド
$ aws \ --region us-west-2 \ ses send-email \ --to 認証したメールアドレス \ --from 認証したメールアドレス \ --subject "テストメール" \ --text "テストメールCLI" { "MessageId": "010101581711c314-cee268da-3979-4145-8775-27cc03c883ea-000000" } $
↓
参考
AWS CLI で SES メール送信を行う | hacknote
Amazon SESによるメール送信環境の構築と実践 | Developers.IO
Amazon SES とは - Amazon Simple Email Service
所感
この時点ではサンドボックスの状態なので1日の送信量や認証していないメールアドレスへの送信などの制限がかかるので解除が必要。
単体ではあまり意味がないのでlambdaなどと連携できるようにしてみる。
AWSのS3のサイトを独自ドメインで見えるようにする
最近、AWSを使用しているので料金がちょっと気になる
以前、やったときは3万くらいかかって泣いたことがあるので気をつけないと…
S3でバケットを作成
S3を開く
バケットの作成
バケット名は公開したいドメイン名にする
作成されていることを確認
index.htmlを作成
<!DOCType html> <html> <head> <meta charset="utf-8" /> <title>AWS S3 Sample01</title> </head> <body> Hello AWS S3 !!. </body> </html>
ファイル一覧へ遷移
アップロードを選択
ファイルを設定してアップロード
アップロード完了
公開を設定
公開することを確認
公開完了
バケットのプロパティを指定
インデックスファイル名を設定
パスを確認して表示されること
アクセス許可より「バケットポリシーの追加」を選択
バケットポリシーを追加
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AddPerm", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::s3dev.mshige1979aws.xyz/*" } ] }
お名前.com設定
ネームサーバ設定
結果
所感
疲れた(´・ω・`)
いや、やることは少なめなんですけど1〜10までの手順が見つからないというかわからなかったので結構手間取りました。
AWS CLIでS3を制御
AWSでs3を使用
静的なファイルサーバと考える
料金は比較的に安い
一時的に実験
作成〜削除までやってみる
コマンド確認
$ aws s3 hoge usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters] To see help text, you can run: aws help aws <command> help aws <command> <subcommand> help aws: error: argument subcommand: Invalid choice, valid choices are: ls | website cp | mv rm | sync mb | rb presign $
バケットの作成
$ aws s3 mb s3://sample01bucket make_bucket: sample01bucket $
バケットを確認
$ aws s3 ls 2016-10-29 10:18:51 sample01bucket $
アップロード用のファイルを作成
index.html
<!DOCType html> <html> <head> <meta charset="utf-8" /> <title>AWS S3 Sample01</title> </head> <body> Hello AWS S3 !!. </body> </html> ~
アップロード
$ aws s3 cp index.html s3://sample01bucket/index.html upload: ./index.html to s3://sample01bucket/index.html $
確認
参照できない
権限がない感じらしい
権限を付与したアップロード
$ aws s3 cp --acl public-read index.html s3://sample01bucket/index.html upload: ./index.html to s3://sample01bucket/index.html $
再確認
できました(^^)
後始末
内部のファイルを全て削除
$ aws s3 rm s3://sample01bucket/ --recursive delete: s3://sample01bucket/index.html $
バケットを削除
$ aws s3 rb s3://sample01bucket remove_bucket: sample01bucket $
一覧確認
$ aws s3 ls $
おわり
所感
Webコンソール上でやったよりは手間が少なく感じる…
細かいことは別途必要でしょうがシンプルな静的サイトを一時的に準備するだけならこれでもいいと思える感じ
※お金次第ですがw