AWS関連のことを調べてみた2021年04月03日

AWS関連のことを調べてみた2021年04月03日
目次

SSM Change Calendarを使用してEC2の起動を自動化する

#はじめに
EC2インスタンスを自動で起動・停止する方法はいくつかありますが、今回はSSM Change Calendarを使ってEC2を起動できるように設定します。

#実施すること
1. IAMロール作成
1. EC2へのタグ付け
1. Resource Group作成
1. カレンダー作成
1. イベント作成
1. ドキュメント作成
1. メンテナンスウィンドウ作成
1. メンテナンスウィンドウへターゲットを登録
1. メンテナンスウィンドウへオートメーションタスクを登録
1. 動作確認

#1. IAMロール作成
IAMロールを作成し、ポリシーをアタッチします。

■IAMロール
 サービスの選択:Systems Manager
 ユースケースの選択:Systems Manager
 ポリシー:
  - AmazonSSMAutomationRole
  - AmazonSSMMaintenanceWindowRole
 ロール名:SsmAutomation
 ※ロール名は記号を入れずに作成してください。後の手順でIAMロールを指定できなくなります。
![rapture_202

元記事を表示

AWS認定のデジタルバッジをダウンロードする方法

AWS認定のデジタルバッジ(ロゴ)をダウンロードする方法についての備忘録です。
以前はAWS認定アカウントからダウンロードできたみたいですが、現在はCredly(AcclaimはCredlyと合併した模様)から直接ダウンロードする必要があるようです。

#前提条件
・バッジの申請とアカウントのセットアップが完了していること

#手順
1. Credly にサインイン (https://www.credly.com/users/sign_in)
2. 画面上の [Dashboard] を選択
3. 対象のバッジをクリック
4. 画面左上の [Share] をクリック
5. [↓](下矢印)のアイコンをクリック
6. [Download Image] をクリック

#参考
https://support.credly.com/hc/en-us/articles/360041542052-Video-Can-I-Print-my-Badge-
※上記のリンクは画像(.png)ではなくPDF(.pdf)としてダウンロードする際の手順です

元記事を表示

Amazon Lexで日本語チャットボットを作ろう

## はじめに
Amazon Lex はチャットボット等の会話インターフェースを作成するため AI サービスです。
昨年より東京リージョンで利用可能になっていたものの、サービスの対応言語としては長らく日本語に対応していませんでしたが、ついに日本語を正式にサポートしました!

https://aws.amazon.com/jp/blogs/news/amazon-lex-tokyo/

簡単なボットを作成し、Slack に連携させるまでをやってみたいと思います。

## Lex V1 と V2 の違い
Amazon Lex は 2021年1月に V2 API がリリースされています。コンソールのデザインが変わっただけではなく、新しい機能を含む新規の API としてのリリースです。1つのボットで複数言語に対応させることができるなど、生産性が向上するアップデートも多く含まれています。

https://aws.amazon.com/jp/blogs/aws/amazon-lex-enhanced-console-experience/

V1 で作成済みのボットは V2 では利用できないので

元記事を表示

AWS Shieldってなんだろ?

DDos攻撃対策と来たらShieldでしょ!
みたいな条件反射で試験勉強していましたが、実際に触ったこともないしドキュメントを読んだこともなかったので、ちゃんと基礎を勉強してみます。

# ドキュメント
[AWS Shield(マネージド型の DDoS 保護)| AWS](https://aws.amazon.com/jp/shield/?whats-new-cards.sort-by=item.additionalFields.postDateTime&whats-new-cards.sort-order=desc)

## 概要
– マネージド型の分散サービス妨害 (DDoS) に対する保護サービス
– AWS で実行しているアプリケーションを保護
– 常時稼働の検出と自動インライン緩和策を提供
– AWS サポートに依頼する必要はない
– スタンダードとアドバンストがある
– スタンダードは追加料金なしで自動的に設定され、最も一般的で頻繁に発生するネットワークおよびトランスポートレイヤーの DDoS 攻撃を防御
– 高レベルな保護には、AWS Shield Advanced

元記事を表示

CloudFront + S3 構成でのリダイレクト設定

# はじめに
当記事はこちらの記事を読んでいる前提で書いてます。
読んでない方は先にこちらをどうぞ

https://qiita.com/yakitatata/items/c432522a865f534b769e

前回の記事ではwwwありとなし、それぞれページにアクセスできている状態ですが、
URLはそのままで口が空いている状態でした。

SEO対策でリダイレクトしたほうがいいという話を聞きますので(知らんけど)
今回はS3 + CloudFrontの構成でリダイレクトするには?
ということで記事を書いていきます。

また前回の記事では画面オペレーションの画像を細かく載せておりましたが、
今回は大幅にはしょって重要な点だけ載せていきます。

# 全体の構成
全体の構成は以下のようになります。

+ Route53
+ CloudFront×2
+ S3×2
+ SSL証明書×1

SSL証明書については、
追加ドメインの別名に*.example.comやwww.example.comが設定されている場合は特に触る必要はありません。

前回の記事を参考に作った場合は既にそうなってい

元記事を表示

[AWS] EC2 インスタンス単体構成へAWS WAF を有効化するまでにやった事

#はじめに
社内対応として、普段あまり触らない各種AWS サービスを触った為、備忘録として記します。
下記シナリオにおけるAWS WAF 適用までの道程です。
※記事内のキャプチャは、私が作業前に本番環境を模倣した疑似環境へ、通しで設定を行った際に撮影したものです。

#現構成とシナリオ
![既存構成.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/492246/1efae54f-855a-4154-13aa-10ccfebb2a27.png)
外部に公開しているWeb サーバに対し、特に何の対策も講じていない状態です。
元々オンプレ環境に構築していたものですが、管理が煩雑だったためAWS 上に移行されました。
ただ、移行後はそのまま放置されていました。

#ざっくり要件

1. 自社で管理しているIP アドレスのブラックリストを適用したい。
1. WAF も乗っけたい。AWS WAF というものがあるらしいからそれを使ってみたい。
1. AWS WAF で検出した通信は中身が見たい。
1. サーバ証明書

元記事を表示

Route53, Elastic Load Balancing, Certificate Manager を使わずにEC2 上でHTTPS のWeb サイトを外部公開する

#はじめに
掲題の通りです。
以下記事でやった内容の為に用意した、疑似環境の構築に関する備忘録(と言う名のリンク集)です。

https://qiita.com/Ryusei_Matsuo/items/18c7757c5e6eb2799d33

#ざっくり要件
* (要件:1)独自ドメインを持ったWeb ページを外部に公開する(Route53 を使わない)。
* (要件:2)サーバ証明書を発行し、HTTPS でWeb ページを公開する(Application Load Balancer (以下、ALB)/Certificate Manager (以下、ACM)を使わない)。
* (備考)Web サーバは中身問わず。

#構成
![想定する構成.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/492246/18016fb4-5ff8-e436-44a8-0a539501630b.png)

| VPCのレンジ | サブネット | webサーバ |
|:-:|:-:|:-:|
| 172.24.0.0/16

元記事を表示

【一対一対応で分かる!】Railsインストールからブラウザにhello,world!を表示するまでの全手順

※環境は、AWSのCloud9を使っています。

(1)Railsインストール

“`
$ gem install rails -v 6.0.3
“`

(2-1)yarnのインストール

“`
$ source <(curl -sL https://cdn.learnenough.com/yarn_install) ``` (2-2)yarnがインストールできなかった場合 ``` $ yarn install --check-files ``` (3)アプリの作成 ``` $ rails _6.0.3_ new hello_app ``` (4)gemfileを一新する ```gemfile source 'https://rubygems.org' git_source(:github) { |repo| "https://github.com/#{repo}.git" } gem 'rails', '6.0.3' gem 'puma', '4.3.6' gem 'sass-rails', '5.1.0' gem 'webpacker',

元記事を表示

一人でも多くの人の役に立ちたい。そんな想いのもと開発したアプリです。【ポートフォリオ】

![トップ](https://user-images.githubusercontent.com/76093901/108616610-24e41600-7452-11eb-831c-9f03effa7b56.gif)

#前置き
転職活動時に、作成したポートフォリオの説明書です。
もしよろしければ、本アプリをご利用ください。

# アプリ名
褒め方辞典

# 本番環境
(URL)http://54.178.1.201/
※ゲストログイン機能があります

# アプリ概要
褒めることを軸に倫理を学び、マネジメントが勉強できるアプリケーションです。

※具体的なアプリの詳細に関しては本アプリ内のトップページに記載しております。

# 企画背景
### アプリ開発の軸は「利他」
世の中にいる誰か一人でも救えることができたら、という想いでこちらのアプリを開発しました。

### 開発のきっかけはモチベーションに関するアンケート業務
私は前職の人事・総務で、社内の離職率の原因を調査するため、管理職(上司)に対して実施している

元記事を表示

セッションマネージャー over SSH 経由でプライベートサブネット内のRDSへ接続する方法

# 概要
プライベートサブネット内に立てた Amazon RDS には、グローバル DNS が発行されないため、ローカルから AWS 上の RDS への接続はできません。

そんなときはセッションマネージャーとプライベートサブネット内の EC2 経由で RDS へ接続することができます!!!!

# この方法で接続できる前提条件
下記条件を満たしている環境の場合、セッションマネージャーを利用してリモート RDS へ接続することができます。

– プライベートサブネット内に**踏み台用の EC2** が起動されていること
– EC2 内に**セッションマネージャーがインストール**されていること
– EC2 内の **ec2-user に公開鍵を配置**していること

コンテナ環境のみや踏み台サーバを RDS と同じ VPC 内に建てられない場合、公開鍵を配置できない場合はこの方法では接続できませんのでご注意ください。

# 構成概要図
下記のようなルートで**リモートの RDS** へ接続できます。

![portforwarding.png](https://qiita-image-

元記事を表示

RailsアプリケーションをGithub Actionsを用いて自動テスト&自動デプロイにしました

# はじめに
はじめまして!現在DMM WEB CAMPに通わせていただいております、かいかいと申します!
ポートフォリオを作成して、自動テストとデプロイをなんとか構築することができたので、自分なりに手順をまとめて見ました!
間違ってる部分もあるかもしれませんが、コメントで教えていただけると幸いです。
よろしくお願いします〜〜!

# 前提条件
・Ruby 2.6.3
・Rails 5.2.5
・Mysql2 5.7.22
・Rspec-rails 5.0.1
・AWSのEC2、RDSを用いて、デプロイが完了していることを前提としています。

#今回のゴール
①ローカル環境からリモートリポジトリ(main以外のブランチ)にpush
②pushしたブランチから、mainリポジトリにマージした際にRSpecのテストが行われる。
③RSpecが合格したら、自動でEC2上の本番環境にデプロイ!
上記の流れができることを目指していきます!

#手順
1. testの際に使う、databace.yml.ciファイルを作成する。
2. Github Actions実行時に使う、workflow用

元記事を表示

AWSへの接続覚書

### 1.サインイン

* アカウントの作成 メールアドレスはAmazonの宅配のものとは別にする。
* コンソールにルートユーザーでサインイン
* サービス → コンピューティング → EC2
* ダッシュボード → リージョンを東京に変更 → インスタンスの作成
* OSの決定 無料枠で使えるものから今回は Amazon Linux 2 AMI (HVM) SSD Volume Type を選択
* インスタンスのタイプは無料で使えるもの (t2-micro)
* 新しいキーペアの作成 名称は任意で可 ダウンロードしてpemファイルは保管

### 2.インスタンスの起動
“`
//秘密鍵をダウンロードして以下の名前のフォルダに保管
.ssh/keys
//ターミナルで上記に移動して以下コマンドで権限委譲
chmod 600 秘密鍵の任意の名前.pem
//ダッシュボードの「接続」の例にあるコマンドで接続
接続は一定時間何もしないと切れるのでその場合もこのコマンドで再接続
ssh -i “秘密鍵の任意の名前.pem” ec2-user@ec2-18-183-169-243.ap

元記事を表示

AWS CLI を使って AWS Systems Manager Run Command を実行する

# はじめに
AWS Systems Manager の Run Command についてまとめてみました。
操作は全て aws-cli で行い、内容もコマンドベースの内容になります。

# Run Command について
SSM エージェントをインストールしたインスタンスに対し、ドキュメントとしてあらかじめ用意したタスクをコマンドとして実行することができます。
簡単にいうと、AWS Systems Manager からリモートでコマンド実行などの操作ができるということです。

# 前提条件
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/systems-manager-prereqs.html

# aws-cli コマンド
「list-documents」「describe-instance-information」「describe-document」「send-command」「list-commands」「list-command-invocations」の6コマンドについてまとめました。

元記事を表示

Azure ユーザーで AWS Single Sign-On にサインインするまで

# はじめに

会社で Azure AD(Azure Active Directory) のユーザーを使って AWS (AWS Single Sign-On) にサインインできるようにしました。

AWS Organizations のマスターアカウントで AWS Single Sign-On (SSO) を設定すると、マスターアカウント+メンバーアカウントに1つのユーザーポータルからサインインできるようになります。なお、IAM ユーザーでのサインインは引き続き利用できます。

さらに Azure AD と AWS SSO を連係させておけば、AWS に自分でユーザーを作成する必要がないので、とても便利になりました。

基本的に公式ドキュメントを読めば設定できるのですが、躓いたポイントがあったので記録しておきます。

# ユーザーポータル

ユーザーポータルはこのようなイメージです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/113765/a24eedf3-cacf-5489-aad

元記事を表示

マルチクラウド・データ保護の現実解 ~オンプレ、AWS、Azure 、GCP を集中管理するには? 検証結果とベストプラクティスを大公開~

#はじめに

今回は、NetBackupによる、マルチクラウド環境のデータ保護について、紹介します。

【お知らせ】
2020/7/29にGAになったNetBackup8.3から、Veritas CloudPointのライセンスと機能が、NetBackupに統合されました。NetBackup Platform Complete Edition with Flexible キャパシティライセンスで、CloudPointの全機能が使用可能です

# マルチクラウド環境のデータ保護の課題
IDC Japanの調査結果によると、46%のユーザが2つ以上のクラウドプロバイダーを利用し、29%のユーザが2つ以上のIaaSを利用しているという結果になっています。

↑ 

GithubからAWSにclone

メモです。

“`
sudo yum -y update
“`

“`
sudo yum -y install git
“`

“`
git –version
“`

“`
git config –global user.name “sample taro”
“`

“`
git config –global user.email sample@gmail.com
“`
ユーザーネームとメールアドレス入力後は特に何も出ないのでちょっと不安な気持ちになる。

githubのリポジトリ内のCodeのHTTPSのURLをコピー。

“`
git clone “URL”
“`
これでclone完了。

AWSでWebアプリをデプロイする方法①

#AWSアカウントの作成
[awsの公式サイト](https://aws.amazon.com/jp/)にアクセスする
画面右上の「今すぐサインアップ」から登録画面を表示
![スクリーンショット 2021-04-02 1.06.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1066052/69ba4e03-96fa-056a-ac52-45554da8a690.png)

必要事項を入力し、画面操作を進める
注意事項としては下記の通り

– 名前と住所の情報は英語で入力する
– クレジットカード情報が必要になる(デビットカードでも可)
– 電話番号認証が必要になる
– サポートプランは「ベーシックサポート」を選択

サインアップ完了後に案内に従いコンソール画面を表示
![スクリーンショット 2021-04-02 1.15.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1066052/852bed83-ef5

AWSでWebアプリをデプロイする方法

#Webアプリをデプロイするまでの備忘録(もくじ)

参考書籍:Amazon Web Services 超入門

– AWSアカウントの作成
– IAMユーザーの追加
– S3で静的なWebページの公開
– LAMP環境でWordPressのブログページを公開
– **Java(Eclipse)で作ったウェブアプリの公開**

デプロイをして終わり、ではなくAWSについての理解も深めるために段階を踏んで実装をする

AWS SSO とは

## 勉強前イメージ

AWSでSSOできるサービス?
AWS Organizationsと一緒に設定するかも

## 調査

### AWS SSO とは

SSOとは `Single Sign-On` の略で、
複数のAWSアカウントとアプリケーションへのSingle Sign-Onアクセスの一元管理を行うサービスになります。

### SSO(Single Sign-On)とは?

1組のID・パスワードによる認証を1度行うだけで複数のサービスにログインできるようにする仕組み
利用者側は複数のサービスを利用しているとID・パスワードの組み合わせも増え、各サービスごとにログインが必要になったり
管理者側はID・パスワードの組み合わせが増えると管理も大変になるので、利便性が向上し
セキュリティリスクも減少させることが出来ます。

### AWS SSO の機能

– AWS Organizations との統合

[AWS Organizations](https://qiita.com/miyuki_samitani/items/c34185fe04f6c4f35449) と連携し

AWSからHerokuでのデプロイの仕方とつまづいたところ

AWS(Amazon Linux2環境)からRailsアプリをデプロイした。
https://yachin-tainou-zamurai.herokuapp.com/
プログラミング学習を初めて1ヶ月弱、ここまで長かった。独学ゆえに周りに質問できる人もおらず、何度も心が折れそうになった。しかし本気で世界を変えられると思っていたので諦められなかった。そしてまた明日からもアップデートしていかなければ…。

本題に戻って、デプロイを舐めていたが、本日丸一日かかってしまったため今後同じことがないよう書き留めていく。
非常に不親切なことにエラーの画像などがなく文字ばかりの投稿になるが、とにかくデプロイすることに精一杯だったのでご容赦いただきたい。

・デプロイの流れ(Herokuのアカウントを持っている前提)
一. 以下のコマンドを実行+Herokuのバージョンを確認

“`
source <(curl -sL https://cdn.learnenough.com/heroku_install) ``` ``` heroku -v ``` 二. デプロイするアプリのディレクトリに移動して