AWSアーキテクチャーの5つの設計原則と11のベストプラクティス
具体的な説明は以下のリンクをご参考ください。
https://qiita.com/Jenny1025/items/ce55c8724daeef626201
##コンポーネントの疎結合化
コンポーネントの疎結合化というのは、コンポーネント間の依存関係を減らし、コンポーネントの変更や障害が発生する際に、影響を減少できるようなアーキテクチャーを作り上げることです。
関連するサビース | 説明 |
---|---|
Lamba | サーバーインスタンスではなく、Lambaによるトリガー処理で連結すること。 |
SQS | SQSのキューイングを通信でインスタンス間関連を結ぶこと。 |
ELB | サーバー間のトラフィック量を調整と連結をELBを起点により疎結合化を実現すること。 |
SNS | SNSのアプリケーション間でインスタンス間関連を結ぶこと。 |
密結合と疎結合設計のバターン比較
SQS
SQS: Amazon Simple Queue Service はポーリング型のフルマネーネジ型のキューサービスである。(60秒〜14日間データ保持する、ディフォルトで4日間保持可能)。
*ポーリングとは、複数のプログラム間、一定時間内に問い合わせがあった場合(一旦中継所見たいなところでデータを貯めて)受信側がいいタイミングで通信を行う方式です。
SNS
SNS: Amazon Simple Notification Service
フルマネージド型プッシュ型の非同期通信サービスである。
他のサービスと連携
Amazon CloudWatch: Billing Alertの通知
Amazon SES: Bounce/Complaintのフィードバックの通信
Amazon S3: ファイルがアップロード時の通知
Amazon Elastic Transcoder:動画変更完了/失敗時の通知
##SES
Amazon Simple Email Service
フルマネージド型Emailサービスである。
##Lambda
インフラに気にする事なくアプリケーションコードを実行できるデータ処理サービスである。
CLI(SQS)
メモ:
キューの作成
aws sqs create-queue --queue-name ${SQS_NAME}
キューの確認
aws sqs list-queues --queue-name-prefix ${SQS_NAME}
メッセージ数の確認
aws sqs get-queue-attributes \
--queue-url ${SQS_NAME} \
--attribute-names ApproximateNumberOfMessages \
--query 'Attributes.ApproximateNumberOfMessages' \
--output text
キューの削除
aws sqs delete-queue --queue-url ${SQS_NAME}