- 1. VS CodeでAWSサーバーレスアプリケーションの開発環境を整える
- 2. AWSとGCPの類似点
- 3. 【Tips】Chromeのユーザ管理で複数のAWSアカウントを使い分ける
- 4. AWSへデプロイしてみよう(〜EC2インスタンス作成 その2)
- 5. EC2にyumでnodejsをインストールしようとしたらできなかった話
- 6. 【月額400円~】安くてカンタンが売りの Amazon Lightsail に Laravel 環境を構築して最安運用する手順
- 7. DockerコンテナからAWSコマンドを簡単に実行できるコマンドをつくってみた
- 8. DockerイメージにAlpineLinuxを使うとセキュリティも向上する
- 9. AWS -クラウドサービスについて-
- 10. Amazon CloudWatchでAWS API Gatewayのアラーム監視作成を行う
- 11. AWSチュートリアル解読:第一回
- 12. AWSへデプロイしてみよう(〜EC2インスタンス作成)
- 13. ディレクトリの合計容量を確認するには(local, GCS, S3)
- 14. Boto3を利用したQLDBへのデータ追加処理
- 15. AWSでPublic DNS(パブリックDNS)が割り当てられない時の解決法
- 16. AWS ECRにてコンテナイメージ脆弱性診断サポート
- 17. CodeBuild で git-pr-release する
- 18. AWS Solution Architect Professional受験記
- 19. 「そのAMI、実は罠かも」AMIを選ぶ前には、必ず所有者を確認!
- 20. [awscli] ECRの脆弱性スキャンでプッシュ時解析を全リポジトリ一括enableする
VS CodeでAWSサーバーレスアプリケーションの開発環境を整える
# VS CodeでAWSサーバーレスアプリケーションの開発環境を整える
こんにちは、かえるです。
サーバーレスアプリケーション開発をする際に、AWS Cloud9のような感じの環境をWindowsで構築したくなったので、その時の流れを共有出来たらと思いこの記事を書きました。さらに詳しく知りたい方はコメントで教えていただければ加筆します。
## 環境
“`
Windows 10Pro
VS Code
PowerShell
AWS CLI
Bzip2
Zip for Windows
“`## 必要なアプリケーションのインストール
### 1.エディタ
言わずもがな、ソースコードの編集を行う時に使います。
ちなみに、おすすめのテーマは[One Monakai Theme]( https://marketplace.visualstudio.com/items?itemName=azemoh.one-monokai )です
Download => [VS Code]( https://code.visualstudio.com/ )
### 2.AWS CLI
AWSとGCPの類似点
# AWS プロフェッショナルのための Google Cloud Platform に関する記事
詳細は各ページをご参照ください1. 概要
2. コンピューティング
3. ネットワーキング
4. インフラストラクチャデプロイツール
5. ストレージ
6. ビックデータ
7. 管理
8. モバイルバックエンド
9. アプリケーションサービス
10. モニタリング# 1. [AWS プロフェッショナルのための Google Cloud Platform](https://cloud.google.com/docs/compare/aws/?hl=ja)
【Tips】Chromeのユーザ管理で複数のAWSアカウントを使い分ける## はじめに
AWSアカウントを複数使い分ける場合にサインインしなおすことなく複数ウィンドウでAWSコンソールにアクセスしたい。
そんな時はChromeのユーザ管理が便利です。## Google Chromeのユーザー管理
1. ユーザーを管理
![ユーザーを管理.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/485398/c1fe7713-f6f9-f954-5ace-99b7ed855a39.png)2. ユーザーを追加
![ユーザーを追加.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/485398/5cb39e06-35df-ccfc-94b3-9ed453243dca.png)3. 追加
![追加.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/485398/5f2b452a-e783-ec9d-4f67-0ff3
AWSへデプロイしてみよう(〜EC2インスタンス作成 その2)
つづきです。
前回の投稿はこちら。。
## 3.固定IP割り振り
インスタンスを作成した直後はIPアドレスは動的に変化します。つまり、住所がコロコロと変わってしまいます。この状態では、ユーザがアクセスする先がコロコロ変わってしまうため、IPアドレスを固定させます。画面左上の[サービス]から[EC2]をクリックします。
左のスクロールバーからElastic IPを選択します。
[新しいアドレスの割り当て]ボタンをクリックします。
[割り当て]ボタンをクリックして終了です。
#### ※注意
固定IPアドレスはEC2インスタンスと関連付けなければ、課金対象になり料金が発生します。すぐにEC2インスタンスと関連付けましょう。
インスタンスを停止させる場合は[アドレスの解放]も実施しないと課金されます。
アクションボタンをクリックし[アドレスの関連付け]をクリックします。「インスタンス」の項目に今作ったインスタンスを選択して[関連付け]をクリックします。
## 4.ダウンロードしたキーペアへの読み取り権限
EC2にyumでnodejsをインストールしようとしたらできなかった話
#はじめに
右も左も分からない状態で、AWSにRailsアプリをデプロイする過程で躓いたときの話
##epel(?)レポジトリが見つからないと言われエラーになる。
リポジトリが見つからないと言われる。“`:実際のコード
[tatsuki@ip-10-0-0-85 ~]$ sudo yum install nodejs npm –enablerepo=epel
[sudo] tatsuki のパスワード:
読み込んだプラグイン:extras_suggestions, langpacks, priorities, update-motdError getting repository data for epel, repository not found
“`
##epelリポジトリをインストール
epelリポジトリインストールについて調べ、以下を実行。“`
[tatsuki@ip-10-0-0-85 ~]$ yum -y install epel-release
読み込んだプラグイン:extras_suggestions, langpacks, priorities
【月額400円~】安くてカンタンが売りの Amazon Lightsail に Laravel 環境を構築して最安運用する手順
# TL;DR
* AWSでLaravelするのに必要なコストは **400円/月**。
* 月額$3.5のLightsailインスタンス1台に、PHP/LaravelとMySQLを入れる手順です。
* スムーズに行けばインストールの待ち時間を含めて **20~30分くらい**# Amazon Lightsail とは?
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129854/2f4ff7e9-c2e4-949d-17b8-334298c6a57d.png)
* 最安値AWS。EC2を1台使うより安い。
* レンタルサーバーと同じ価格帯で使える VPS。
* AWS史上最もカンタンにサーバーが立ち上げできる。EC2やRDSの構築をカンタンにしたBeanstalkよりもさらにカンタン。
* あの転送料も完全コミコミプラン。「AWSは**従量課金だから実際使うまで料金がわかんない**よね」がない。\$3.5と言ったら \$3.5以上取らない。※注:上限はありますEC2やR
DockerコンテナからAWSコマンドを簡単に実行できるコマンドをつくってみた
なるべくDockerを利用して手元の端末を汚さない試み。便利かはわかりません。
## 使い方
`docker-aws` コマンドはDockerコンテナで`aws` コマンドを実行しています。
認証情報はホストの`~/.aws` を参照します。S3にバケット作成してファイルをアップロードしたり削除したりしてみます。
AWS CLIでS3を操作するコマンド一覧 – Qiita
https://qiita.com/uhooi/items/48ef6ef2b34162988295“`console
# credentialsがある前提
> ls ~/.aws
config credentials models> docker-aws –version
aws-cli/1.16.263 Python/2.7.16 Linux/4.9.184-linuxkit botocore/1.12.253> docker-aws s3 mb s3://kai-cli-test
make_bucket: kai-cli-test> echo “hoge” > hoge
DockerイメージにAlpineLinuxを使うとセキュリティも向上する
先日リリースされたECRのセキュリティスキャンをかけたところ、
Alpineから作ったイメージは脆弱性なしで、公式のamazonlinuxから作ったイメージは多くの脆弱性が検出されました。
[Image Scanning for Amazon ECR](https://aws.amazon.com/jp/about-aws/whats-new/2019/10/announcing-image-scanning-for-amazon-ecr/)下図において、上がAplineから作ったイメージで、下がamazonlinuxから作ったイメージです。
![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285150/b072248b-6709-b6ab-9272-9cd82588c260.png)Alpineはサイズの小ささ自体もメリットですが、その小ささ故に機能も最小限に絞られているためセキュリティ的にもメリットが大きいと言えます。
AWS -クラウドサービスについて-
### AWSとは
AWSは、Amazon Web Serviceの略称で、クラウドサービスの一種である。######クラウドサービスとは
クラウドサービスとはコンピューター利用形態の一つで、ネットワークに接続されたサーバーが提供するサービスをネットワークを介して、利用者が、手元の端末を使ってウケることのできるサービスである。#####オンプレミス
クラウドとは逆で、サーバーやネットワーク機器などをデータセンターに持ち込み、自身で構築する運用のこと。
オンプレサーバーと表現する。#####相対するオンプレのデメリットとクラウドのメリット
| オンプレ |クラウド |
|:—————–|:——————|
|サーバー設置に時間を要す|サービスの管理画面から即時に設置できる|
|ネットワーク敷設に時間を要す|サービスの管理画面から即時に設置できる|
|保守が必要|保守は必要ない|
|監視等の運用作業が必要|運用作業は必要ない|
|障害対策にコストがかかる|コストを抑えられる|
|-|サーバーのスペック変更が容易|##
Amazon CloudWatchでAWS API Gatewayのアラーム監視作成を行う
##ステップ1 メトリクスと条件の指定
CloudWatchから「アラーム」を選択し
「アラームの作成」→『メトリクスの選択』をクリックします。![スクリーンショット1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/392337/52d8056a-8de6-8adc-7598-3ba88f1f2209.png)
『APIGateway』を選び、
『API名別』をクリックした後、
監視したいAPI名のメトリクス名を探してチェックボックスにチェックを入れます。
その後『メトリクスの選択』を選択します。この画面で『期間』と条件のしきい値を定義します。
※「AWS/」名前空間のメトリクスでは、60秒を超える期間のみがサポートされます。![スクリーンショット2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/392337/5074ead3-06bc-3521-85bf-00de96be72e9.png)
『次へ』をクリ
AWSチュートリアル解読:第一回
#AWSチュートリアル
AWSを実際に触ってみようと思っても、何をどうすれば良いか分からない…そんな時は…
こんにちは、学生アルバイトのsosonoです。
今回は簡単にLambda、APIGateway、S3、DynamoDB、Cognitoが体感できるAWSチュートリアルを詳説していきます。全4回の予定です!!
以下のリンクから手順に沿って、数時間で完了できます。
AWS公式チュートリアルチュートリアル概要です。
![スクリーンショット 2019-10-25 19.43.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/379839/41a73435-f611-566b-c504-a3c383c84558.png)チュートリアルは
AWSへデプロイしてみよう(〜EC2インスタンス作成)
# AWSへデプロイする為に必要なこと
vimの基礎知識
AWSのアカウント## 1.vimの基礎知識
– vimでは、カーソルをカーソルキーではなく(h,j,k,l)を使用して動かします。(カーソルキーでも動く場合があります。)
– 編集する時は、iを押して編集モード(insert mode)にします。
– カーソルを動かすときや、vimコマンドを実行する時は、escキーを押して通常モードにします。
– ファイルを保存するときは、通常モードにして、`:wq`を入力し、エンターを押します。
– ファイルを開いて何もせずに閉じたい場合、通常モードにして、`:q!`を入力し、エンターを押します。### 1.1 catコマンド
catコマンドを使用することでファイルの中身を、ターミナルに出力させることができます。### 1.2 ユーザーには管理ユーザーと一般ユーザーがある
管理ユーザーは全てのファイル・フォルダに権限を持ち、一般ユーザーはそれぞれ持つ権限が異なります。
権限を確認するには ls -l コマンド(ls -la)。“`
Akihiro-no-MacBook-P
ディレクトリの合計容量を確認するには(local, GCS, S3)
特定のディレクトリ配下にあるファイルの総容量を見る方法です。
# ローカルのファイルシステム
`du`コマンドで調べられます。以下の例では`path`ディレクトリの総容量を確認できます。
“`
$ du -sh ./path/
“`オプション
– `-s`
– 合計の容量のみを表示するオプション。
– これを付けないとサブディレクトリも再帰的に容量を表示される。
– `-c`
– 合計の容量を表示するオプション。
– これを付けなくてもディレクトリ単位での合計は表示してくれるので、これが生きるのは複数のディレクトリまたはファイルをパラメータで指定した場合。
– `-h`
– 容量表示に G, M, K などの人間にとってわかりやすい単位を付与するオプション。
– これを付けないと数字のみのバイト単位での表示になり、桁数が多いと見づらい。
– `–help`
– ヘルプ表示## `-s`と`-c`の違い
`-s`と`-c`の違いが分かりづらいのですが、以下の2ファイルがあったとすると、
“`
./pat
Boto3を利用したQLDBへのデータ追加処理
# 概要
QLDB を Python で操作するにあたり、Boto3 を利用したデータ追加方法のまとめとなります。# QLDB
Amazon QLDB は、フルマネージド型の台帳データベースで、SQLライクなクエリーを実行することにより、データ操作を実施することができます。## Boto3
QLDB を Python から操作するには、Boto3 を利用することで可能となります。
Boto3 には、QLDB 関連で2つのサービスが提供されており、QLDB と QLDBSession が存在します。
データ操作するには、QLDBSession を利用することになります。## データ追加処理
データを追加するには、QLDBSession の send_command 関数を呼び出し、下記の操作を実行する必要があります。1. 初期化
2. セッションの開始
3. トランザクションの開始
4. クエリーの実行
5. コミット処理
6. セッションの終了### 1.初期化
QLDBSession を初期化します。“`python
client = boto3.clie
AWSでPublic DNS(パブリックDNS)が割り当てられない時の解決法
#AWSでPublic DNS(パブリックDNS)が割り当てられない時の解決法
右も左もわからないまま、入門記事通りに
AWSでインスタンスを作成してもパブリックDNSが割り当てられないので
パブリックDNSが割り当てられていないとsshでアクセスできないらしいのでメモ。#コンソールを使用してVPCの設定を更新
1.Amazon VPCコンソール(https://console.aws.amazon.com/vpc/ )にアクセス。
2.画面左枠のVPCを選択。
3.「Summery(概要)」タブの情報を確認。
DNS resolution(DNS 解決):
DNS hostname(DNS ホスト名):
の値をそれぞれ確認。
4.値を更新
「no」または「いいえ」になっている場合。もしくは「有効化」されてない場合。
「Actions(アクション)」バーを開き「DNS解決の編集、DNSホスト名の編集」を選択。
該当の箇所を「yes」または「はい」に変更し、保存。もしくは「有効化」にチェック。以上でEC2コンソール(https://console.aws.amazon.com/
AWS ECRにてコンテナイメージ脆弱性診断サポート
streampack の Tana です。
ついに AWS ECR にてコンテナの脆弱性診断の機能が追加されました。
https://aws.amazon.com/about-aws/whats-new/2019/10/announcing-image-scanning-for-amazon-ecr/
GCP(Google Cloud Platform)ではちょっと前に GA になりましたが、AWS でも正式に発表されました。今後のコンテナのセキュリティも常にイメージプッシュ後にチェックしていれば、よりセキュアな提供が可能になりそうです。
# ECR – AWS
早速、スキャンの方法です。
コンテナイメージがプッシュされていれば、事前に設定など不要です。
対象のイメージを選択します。
“Scan” をクリックされると実行されます。
CodeBuild で git-pr-release するgit-pr-release に守破離の離に行ってそうな議論をtwitterで目撃したのですが、足元を見ると git-pr-release を導入すると楽できそうな部分があったので、セットアップしてみました。
# CodeBuild でやってみた
手慣れた CodeBuild にこのようなビルドプロジェクトを作りました。起動トリガーは develop にプッシュされた時。Dockerコンテナイメージは `ruby:latest` 。
“`yaml
version: 0.2env:
variables:
GIT_PR_RELEASE_BRANCH_STAGING: “develop”
GIT_PR_RELEASE_BRANCH_PRODUCTION: “master”
GIT_PR_RELEASE_VERSION: “0.6.0”
DEBUG: “error”
parameter-store:
GIT_PR_RELEASE_TOKEN: “github-api-token-pr-create”
SSH_PRI
AWS Solution Architect Professional受験記
# はじめに
受験から2ヶ月ほど経過していますが(受験:2019/8、執筆:2019/10)、まとめの意味を含めてAWS Solution Architect Professional(以降、SAP)の学習内容を記載したいと思います。
# 学習前の状態
* AWSでの業務経験はなし(個人で触ったことがある程度)
* Solutions Architect Associateは取得済み(2017年)
* メインスキルは、アプリ開発系(インフラではない)# 学習内容
2019/2 にSAPの試験問題がリニューアルされました。
リニューアル後に日が浅いこともあり、情報が少なかったですが、以下のStepに落ち着きました。
教科書的に1と2を受講し、3の問題集をやりながら分からないことを調べるといった勉強方法でした。本来は、実機を使って色々やりたかったのですが、試験範囲が広すぎるので、時間的コスパがよくないので断念しました。
1. [AWS公式オンライントレーニング – Exam Readiness: AWS Certified Solutions Architect – Pro
「そのAMI、実は罠かも」AMIを選ぶ前には、必ず所有者を確認!
# AWSのAMIリストに潜む闇
AWSマネジメントコンソールからWindows Serverを構築する時、AMIを選びますよね。
今日も、いつもの感覚で、ウィザードを開きました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211986/e58147da-1161-ad45-e44d-75bece75fb43.png)
さて、どのAMIを選ぶのが良いのでしょうか。なんか、上から2番目が良さそうです。
**「Japanese Language」**で**「Support Include」**と書いてあるので、一見、これが一番良さそうです。でも、上記のAMIには、他のAMIと違うところがあります。
それは**「provided by Amazon」**とは書いてない点です。なんか、急に怪しくなってきました。
そこで、AMIの一覧画面で確認してみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazo
[awscli] ECRの脆弱性スキャンでプッシュ時解析を全リポジトリ一括enableする
Image Scanning for Amazon ECR がきたので、全リポジトリでScan On Pushを有効化してみました。
# 先にawsコマンドをupgradeしておく
`aws ecr put-image-scanning-configuration` という新しいコマンドを使いたいため
“`
$ pip3 install awscli –upgrade –user$ aws –version
aws-cli/1.16.268 Python/3.7.3 Darwin/17.7.0 botocore/1.13.4
“`https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-macos.html
# Scan On PushをすべてのECRリポジトリで有効にする
“`
REPOSITORIES=`aws ecr describe-repositorie