AWS関連のことを調べてみた2020年07月09日

AWS関連のことを調べてみた2020年07月09日
目次

[AWSメモ] 公式リンク

自分用メモです。
構築時に役立った公式のリンク集です

AWS アカウントIDの確認方法
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/console_account-alias.html#FindingYourAWSId

タスクのライフサイクルの見方
https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/task-lifecycle.html

元記事を表示

【AWS SAA-C02】新しく登場したサービスのまとめ

#はじめに
AWS SAAがC01からC02と新しいバージョンに移行された。新しいバージョンではSAA-C01では出題されなかったサービスについて新しく出題されたとのことで、ネット上で試験に出題された・覚えた方が良いとよく言われているサービスをまとめていきたい。
(私は試験を受けてないので、あくまでネット上で出題されたとされる・覚えておくべきサービスを中心にまとめいきたいと思います。ご参考程度にご覧ください。)

#サービス

FSx for Windows

用途

Windows Server上で、下記の管理機能をおこなう。
・エンドユーザーファイルの復元
・ユーザークォータ
・アクセスコントロールリスト(ACL)

説明

FSx for WindowsはWindows Server 上に構築された完全マネージド型のファイルストレージ。2019年3月から東京リージョンで利用可能になった。

今までLinuxベースの共有ファイルシステムであるEFSは存在したが、Windowsベースの共有ファイルシステムは存在しなかった。

Micros

元記事を表示

KMSで暗号化したSNS Topicに投入したメッセージをKMSで暗号化したSQS Queueに投入する

## はじめに

* [こちら](https://docs.aws.amazon.com/ja_jp/sns/latest/dg/sns-tutorial-enable-encryption-for-topic-sqs-queue-subscriptions.html)の手順に則って作業します。
* (けど、上記の手順は昔のコンソール用の手順)
* 構築が終わったら、Resource Policyをガチャガチャいじる予定

## Custom CMKを作る

1. KMS のコンソールにアクセス
2. `Create Key`をクリック
3. Key typeは`Symmetric`を選択し、Key Material Originは`KMS`を選択する
4. Aliasに`MyCustomCMK`を入力する
5. Key Administratorに`IAM_ROLE_DEFAULT`(自分で作ったIAM ROLEかIAM USER)を選択する
6. Key Usage Permissionに`IAM_ROLE_DEFAULT`(キーの使用者に該当。検証用なので、Administrat

元記事を表示

AWS認定ソリューションアーキテクトアソシエイト(AWS SAA)合格記

#はじめに
AWSソリューションアーキテクトアソシエイトに無事合格できましたので、記録を残しておきます。

#学習のきっかけ
新規アプリのセキュリティ対策を任せていただいて、
CloudFront、AWS WAFあたりを触り始めたことがきっかけです。

そこから、

・システム全体の動きをなんとなく把握しておきたい
・業務中のAWSの話についていけるように、浅くともインデックスを張っておきたい
・1年目としてはやや難しめな資格を手にして自信をつけたい

あたりを目的に、学習し始めました。

#前提知識

強いて言えば、
「Web技術の基本」という技術書を数周読んだ程度です。

AWS関連では、
・Cloud9
・CodeCommit
・CloudFront
・AWS WAF
・CloudWatch
・Trusted Advisor
・GuardDuty
あたりを業務で軽く触った程度です。

当時は慣れていなさすぎて、
AWSの画面を観るのにかなり抵抗がありましたw

#学習期間 & 結果

##学習期間
2020/1月〜7月頭の半年です。
結構長かったです。

ただ、
業務の繁忙期と重

元記事を表示

memo AWSデプロイエラー時のコマンド

## 背景
AWSデプロイに詰まったとき、エラーログを見るために頻繁に使用したのでコードをメモしておく

## tailコマンドを使う
ファイルの最後の部分を表示する

## サーバーログ
アプリのリポジトリ上にて

“`
tail -n 30 log/production.log
“`
* オプションの意味
* -n 数字 : ファイルの最終行からその数字行だけ表示できる

## nginxログ
アプリのリポジトリ上にて

“`
sudo tail -f /var/log/nginx/error.log
“`
* オプションの意味
* -f: リアルタイムで更新されるログファイルを確認しながらプロセスの挙動を確認できる

## unicornログ
アプリのリポジトリ上にて

“`
sudo tail -f log/unicorn.log
“`

## また、再起動コマンドもよく使ったのでメモしておく
## nginx 再起動
“`
sudo service nginx reload
“`

## unicorn 再起動
“`
ps -ef | grep

元記事を表示

AWS S3のオブジェクトロックの機能

S3のオブジェクトロックは削除されないように保護する機能です。

作成されたオブジェクトをコンプライアンス上の要請などで削除や変更できないように制限をかけられます。オペレーションミスを防止する目的ではなく、削除の意図を持って削除しようとする人から保護します。

# ロックの対象

オブジェクトに対してロックします。バケット全体に対してではありません。

オブジェクトに対する設定というのは特定のKeyの特定のバージョンに対する設定です。特定のKeyに対してロックをかけても、そのKeyに対して引き続き上書き変更や削除を行うことはできます。あくまでロックをかけたそのバージョンを削除できないということです。また、上書きしてできた新しいバージョンにはロックの設定は引き継がれず新規オブジェクトと同じ扱いです。

この機能を使うにはバケットのオブジェクトロックの機能が有効となっている必要があります。

# バケットのオブジェクトロック有効化

バケットに対する設定の注意事項:

– バケットのオブジェクトロック有効化はバケット作成時にのみ設定可能。あとからの変更は不可
– バケットのオブジェクト

元記事を表示

AWS Cloud9でphpを実行する方法

##Cloud9とは
Cloud9とは、ブラウザのみでコードを記述、実行、デバッグできるクラウドベースの統合開発環境(IDE)です。
Cloud9には開発を行う上で必要となるツールがあらかじめ含まれている(Python,Javascript,PHPなど)ため、インストールや開発環境の設定の手間を省くことができます。

今回はCloud9上でphpを実行する方法を記述していきます。

##Cloud9を開く
まずはAWSにログインしましょう。
アカウントが無い方は事前に登録を済ませてください。

ログインすると、AWS マネジメントコンソール画面が開かれるので、
サービスを検索する、の下にある検索欄に「cloud9」と入力してください。
検索欄にリンクが表示されるので、クリックしてcloud9にアクセスします。

![cloud9-1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/555700/a01f961d-5d70-c609-5d7f-428466afd1af.png)

##Cloud9上に新しい

元記事を表示

AWSでサブドメインなし(wwwなし)からサブドメインあり(wwwあり)へのリダイレクト設定

※本記事は[社内ブログ](https://www.sink-capital.com/blog_AWS%E3%81%A7%E3%82%B5%E3%83%96%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%81%AA%E3%81%97%EF%BC%88www%E3%81%AA%E3%81%97%EF%BC%89%E3%81%8B%E3%82%89%E3%82%B5%E3%83%96%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%81%82%E3%82%8A%EF%BC%88www%E3%81%82%E3%82%8A%EF%BC%89%E3%81%B8%E3%81%AE%E3%83%AA%E3%83%80%E3%82%A4%E3%83%AC%E3%82%AF%E3%83%88%E8%A8%AD%E5%AE%9A.html)の内容を一部変えて転記しています。
## 背景
AWSのS3 + cloudfrontでwebサイトを公開する際に
wwwありのURL([https://www.sink-capital.com/](https

元記事を表示

【Laravel5.4】FormRequestを使うとHttpException This action is unauthorized が表示される。

##【開発環境】
Amazon EC2 Linux
Windows 10 HOME
Apache/2.4.43
Laravel Framework 5.4.36
vsftpd: Ver 3.0.2

Tera Term 4.1.105
FFFTP Ver 4.7

##Laravel で作成した画面で登録ボタンを押すと、、

![1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/669259/875132e9-977e-8924-c078-5c8151061f54.jpeg)

![2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/669259/a61d22fa-8ceb-05fa-a7b3-4c30296791d1.jpeg)

##こんなエラーメッセージが。。

##【エラーメッセージ】

“`
(1/1) HttpException

This action is unauthorized.
in Handl

元記事を表示

【AWS Config】基本設定と簡単な動作検証

##目標
AWS Configを開始し、簡単な動作確認を行う。

##きっかけ
参考書レベルでの知識はあったのですが、実際に動かしたことがなく、
また正直いまいちイメージが掴みにくいサービスという印象があったため、
今回ハンズオンで具体的なイメージを持とうと思い本記事を投稿致しました。

##AWS Configとは
AWSアカウント内に存在する各種AWSリソース(EC2、EBS、セキュリティグループ、VPCなど)の構成情報を取得し、管理するサービスです。
主要な利用目的としては、以下の2点が挙げられます。

①取得したAWSリソースの構成情報が利用者によって事前定義されたルール(ElasticIPが付与されているか、暗号化ボリュームを利用しているか、必須タグを使用しているか…等)と合致しているかを評価する。
②AWSリソースの構成変更履歴(いつ、どのように作成、変更、削除が行われたか等)を記録する。

より詳しくはAWSドキュメント参考
[AWS Config とは](https://docs.aws.amazon.com/ja_jp/config/latest/developerg

元記事を表示

AWS EC2でApache Tomcatを接続

研修でAWSとTomcat使ってサーバー構築するので備忘録

#前提条件

– AWSにアカウント登録済
– セキュリティグループ構築済
– ネットワーク等も構築済

#手順
##EC2インスタンス作成
1. コンソールにログインするアドレスでログイン画面に飛んでログイン
2. EC2>インスタンス画面で、インスタンスの作成
3. もろもろ適切に設定(このとき既存のネットワークとかセキュリティグループを使った)
4. 最後まで設定できたら、キーペアの作成とかが出るので控える(今回は既存のものを使用)
5. インスタンス一覧画面から作ったインスタンスを探す。初期化とかも全部終わったらOK

##Apacheインストール
1. “`sudo yum -y install httpd“` Apacheのインストール
2. “`sudo service httpd start“` Apacheの起動
3. “`sudo chkconfig httpd on“` Apacheが自動起動するように設定
4. “`sudo chkconfig -–list httpd“` Apach

元記事を表示

AWSサーバーレス連絡フォームの作り方?(AWS Lambda、API Gateway、SES)

AWS S3にサイトを安くて簡単にホスティングできますが、S3は静的なサイトしかホスティングできないですので、従来ならバックエンド処理が必要となるフォーム送信の実装などは難しそうですね。しかし、クラウド時代ではそんな心配はありません!ソリューションはサーバーレスアーキテクチャです!AWSはすでに色々なサーバーレス構築のツールを提供しています。

今回はユーザからお問い合わせやフィードバックを送信するたびに、任意な宛先に通知メールを送信するシンプルなサーバーレスメールサービスを一緒に作ります。AWS LambdaとAPI Gatewayを利用し、簡単なAWSサーバーレス構築を紹介します。

構成図はこんな感じです。
![diagram.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/665134/fe6fb6dc-e62e-4eaa-0a50-776a74b19ac4.png)

処理の流れとしては、ユーザーから連絡フォームより入力した情報を収集し、クライアント側のブラウザからAmazon API Gat

元記事を表示

AWS 認定ソリューションアーキテクトアソシエイト(SAA-C02)取得するまでにやったこと

![AWS-Cloud-alt_light-bg@4x.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/534812/e04b5599-213f-309c-397f-e5ea76b2421f.png)![AWS-Cloud_light-bg@4x.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/534812/7c80405d-adfc-2855-cd5a-59d5fbe08a43.png)

## はじめに

DX 技術本部の yu-yama です。
AWS 認定ソリューションアーキテクトアソシエイトを取得したので取得までの流れを記します。
AWS 経験は 2, 3 年で、コアサービスは一通り触っているが、それぞれ本番環境などで使い込んではいないというレベルです。

## TL;DR

– [Udemy これだけで OK! AWS 認定ソリューションアーキテクト ? アソシエイト試験突破講座(初心者向け 21 時間完全コ

元記事を表示

AWS 認定セキュリティ – 専門知識(SCS-C01)合格体験記

AWS 認定セキュリティ – 専門知識(SCS-C01) の合格体験記を書きます。

# 1.はじめに

「DX時代、セキュリティを語れなければエンジニアとして価値がない」
と会社の上司が言っていました。

「おっしゃるとおりです!(従順)」
私はSCS-C01を受験することに決めました。

#### AWS認定セキュリティ(SCS-C01)とは?
SCS-C01は、権限/認証/暗号化などAWS上のセキュリティを対象とした認定試験です。
認定試験概要ページの[**リンク**](https://aws.amazon.com/jp/certification/certified-security-specialty/)。

|項目|内容|備考|
|—|—|—|
|形式|単一/複数選択形式|
|実施形式|テストセンター|
|時間|170分|
|受験料金|30,000 円(税別)|模擬試験 4,000 円(税別)|
|言語|英語、日本語、韓国語、中国語 (簡体字)|
|最低合格スコア|750 / 1000 点|

# 2.私のスペック

受験を決めた段階で、私のスペックは以下

元記事を表示

CloudWatchLogsを監視してSlack複数チャンネルに通知するSA

# はじめに

最近、アプリケーションをECS(Fargate)で動かすことが増えてきました。
Fargateを使う場合、(firelensを使わなければ)基本的にログはCloudWatch Logsに出力すると思います。
そのログをキーワード監視したかったのですが、コレだ!!っていう機能・やり方が見つからなかったので、
SA(Serverless Application)を自作してSAR(Serverless Application Repository)に登録してみました。
この記事は、その紹介です。

# 求める機能

CloudWatch Logsをキーワード監視してSlack通知する方法を調べてみると、[この記事](https://dev.classmethod.jp/articles/aws-chatbot-slack-notification-cdk/)にあるような
`メトリクスフィルター` `CloudWatch Alarm` `AWS Chatbot`を組み合わせる方法が見つかります。
その方法でもキーワード監視はできますが、運用を想定すると以下のような機能があった方

元記事を表示

Amazon Chime SDK で16ビデオ通話セッションを超えてみる。

`この記事はこちらでも紹介しています。 `

前回は、Amazon Chime SDKの新機能を使って作ったホワイトボード機能についてご紹介しました。

https://qiita.com/wok/items/83a8700d5c09cc1747d0

今回もAmazon Chime SDKについての話になります。
少しトリッキーな使い方を実験をしてみたのでご紹介したいと思います。

具体的には、単一のSPA(Single Page Application)から複数の会議室に同時に参加できるかを実験しました。
これができれば、次のことが可能になると考えています。

– (オンラインセミナーなどで、)Amazon Chime SDKの会議室あたりの最大接続数を超える人数に向けた講義が可能になる。
– (オンラインセミナーなどで、)グループ単位で受講者のプライバシーを保護できる。

実験の結果、次のデモのように、単一のユーザ(登壇者)が複数の会議室に参加することで、会議室あたりのビデオ通

元記事を表示

AWS CodeBuildでサポートされているはずのランタイムがインストールできない場合の対処

※ 2020年7月8日現在
※ AWSにはフィードバック済み

イメージのバージョンを上げると解決する。

## 現象

GitHubとAWS CodeBuildを連携して、テストの自動実行をしていた。
プロジェクトで利用しているNode.jsのバージョンを`10`から`12`に上げる機会があり、同じくCodeBuildで扱うNode.jsのバージョンも上げることにした。

CodeBuildで扱うNode.jsは、CodeBuildでサポートされているランタイムを利用していた。
また、バージョンは`buildspec.yml`で管理していた。

12.xに対応していない可能性があるので、ドキュメントも念のため確認した。

> https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html
> phases/install/runtime-versions
> The following supported runtimes can be specified.
>
Runtime name | Ve

元記事を表示

Amazon EC2 LinuxでLaravelのphp artisan db:seedが上手くいかない時

##【エラーメッセージ】
“`
[ec2-user@ip-172-31-11-201 sample]$ php artisan db:seed

In DatabaseSeeder.php line 14:

Parse error: syntax error, unexpected end of file
“`

##【開発環境】

Amazon EC2 Linux
Windows 10 HOME
Apache/2.4.43
Laravel Framework 5.4.36
vsftpd: Ver 3.0.2

Tera Term 4.1.105
FFFTP Ver 4.7

##【対応】
ローカルで同じファイルで実行出来たのでAWSに上げる過程で何をやったか?と考えてみると、、

FTPか?

まさかと思って文字コードの設定を見てみると

SJIS になっていた。。
(FFFTPでは初期設定してもローカル側の文字コードが勝手に変わる現象を思い出した。)

これをUTF8に直して再び 「php artisan db:seed」を実行すると

“`
[ec2-user@ip

元記事を表示

Terraform 入門

# 概要
職場でTerraform勉強会を開催することになったので、勉強会の資料のベースとなる内容を記事にしました。
これからTerraformを触りはじめる方が最低限知っておけば良さそうだと思った内容をまとめています。この記事では、構築対象のリソースはAWSを想定しています。

# 対象読者
– Terraformを使ったことがなく、これから触ってみたい方
– AWSを手動で構築したことがあるけれど、コードで管理したことがない方

# この記事のゴール
– Terraformの概要を把握する
– 基本的な文法を覚える
– 必要なドキュメントから自力で情報を探せるようになる

この記事では、0からTerraformプロジェクトを構築できるようになることは目指していません。
(ディレクトリ構成の話などは長くなってしまうので、それはまた別の記事にまとめたい)

# 導入

## Terraformとは
[HashiCorp](https://www.hashicorp.com/)が開発しているインフラ構成をコードを使って管理するためのツールです。
H

元記事を表示

【AWS-CDK】認証付きWebAPIをSolutions Constructsを使って手軽に構築

## Solutions ConstructsでAWSインフラ構築
先日、[AWS Solutions Constructs](https://aws.amazon.com/jp/blogs/news/aws-solutions-constructs-a-library-of-architecture-patterns-for-the-aws-cdk/)が発表されました。これはAWS-CDKにおいて、抽象化されたリソースを表す`Constructs`のよく使う組み合わせをWell-Architected準拠の設定込みで一発で構築できるライブラリです。例えば`Lambda + DynamoDB`や`CloudFront + S3`などの組み合わせのパターンが25個(2020/7月現在)提供されています。

+ https://docs.aws.amazon.com/solutions/latest/constructs/api-reference.html

これをつかってパパっとAWS上にWebAPIを構築したいと思います。

## 注意
2020/7/6現在、Solutions

元記事を表示

OTHERカテゴリの最新記事