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

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

AWS CLIで複数アカウント(認証情報)を簡単に切り替える方法

# はじめに
以下の状況を踏まえ、備忘録を兼ねてアカウント切替え方法をまとめます。

– 異なるアカウントで操作する機会が増えた
– **aws configure**で認証情報を毎回入力して切替えるのが煩わしい

#Profileを作成する
“`ruby:コマンド
aws configure –profile [profile名]
“`
↓↓↓ 作成サンプル
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440367/a43f576f-95bb-7048-e078-d373a22589ef.png)

↓↓↓ 作成先は以下の2ファイル
・C:\Users\[ユーザー名]\.aws\credentials

“`ruby:credentials
[test]
aws_access_key_id = test
aws_secret_access_key = test
“`

・C:\Users\[ユーザー名]\.aws\config

“`ruby:config
[profil

元記事を表示

AWS EC2インスタンスの複製をしてみた。その4(備忘録)

前回の続きです。https://qiita.com/Bikeiken-IT/items/d8b1f731334c4f179447

![step20-httpd-start.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/550376/d4e0ddde-8f34-d339-d616-42b82b6771bb.png)
インストールしたApacheサーバーを起動します。
“service httpd start”と入力してください。
Apacheサーバーの起動を確認したら、ホストのEC2インスタンスのパブリックIPをブラウザに入力します。
![step21-test-page.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/550376/76097034-cf4f-8616-2f11-267a821d0b68.png)
上記の画面がブラウザに表示されることで、作成したEC2インスタンスのApacheサーバーの動作を確認すること

元記事を表示

AWS EC2インスタンスの複製をしてみた。その3(備忘録)

前回の続きです。https://qiita.com/Bikeiken-IT/items/5cf4bb3203ce27faf567

TeraTermからEC2にアクセスします。
![step14-tera-host-ip.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/550376/67c591b0-a17f-adb4-45e7-27fb68323feb.png)
TeraTermの接続画面に、先ほど作成したEC2インスタンスのIPv4のパブリックIPをホストのIPアドレスとして入力します。
![step15-serurity-msg.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/550376/abd4292f-ce13-bb83-798d-e07646e4f59a.png)
続いて、セキュリティ警告の画面が現れますが、無視して続行のボタンを押してください。
![step16-ssh-modify.png](https:/

元記事を表示

Amazon EKS のチュートリアルで Kubernetes を理解する #04 セルフヒーリング

# はじめに
本記事は、以下の内容の続きになります。

– [Amazon EKS のチュートリアルで Kubernetes を理解する #03 メトリクス&ダッシュボード](https://qiita.com/takanorig/items/124c28ce7f3d2052e8c5)

今回は、k8s自体の特長のひとつである **「セルフヒーリング(自己回復)」** の動作を確認してみたいと思います。
障害が発生してノードがダウンした場合に、どのように振る舞うかの検証を行います。

# セルフヒーリング時の動作

セルフヒーリングが実行される状況を、順を追って確認していきます。
ここでは、3ノードでクラスタを構築しています。

## 正常時の状況

まず、障害発生前の状況です。
AWSコンソールで、k8sクラスタに登録されているノード(EC2インスタンス)の状況、
および、Kubernetes のダッシュボードの状況を確認します。

![amazon-eks-dev06.jpg](https://qiita-image-store.s3.ap-northeast-1.amazona

元記事を表示

AWS Client VPN 経由でグローバルIPを固定する

AWS Client VPN 経由でグローバルIPを固定する手順をまとめます。

グローバルIPを固定できれば、リモートワークなどで接続状況が変わっても、ホワイトリスト登録された状態でウェブサーバやAPIサーバを利用できます。

今回参考にさせてもらったのは次の記事です。事前知識のある方はそちらを見れば進められると思います。

* 『[AWS Client VPNがTokyoに来た! | 概要と固定IPの設定方法を解説 – SMARTCAMP](https://tech.smartcamp.co.jp/entry/2019/06/21/160546)』
* 『[[AWS Client VPN] VPC を経由して固定のIPでインターネットへアクセスする](https://dev.classmethod.jp/cloud/aws/aws-client-vpn-with-static-ip/)』

事前知識のない方は、より細かくまとめた以下の内容を参考にしてみてください :smiley:

*※ 後述のとおり、AWS の利用料金が発生するので自己責任でセットアップしてください。*

# 登

元記事を表示

AWS IAMユーザー作成方法

# はじめに
AWS IAMユーザーの作成方法をまとめました。

#### 関連リンク
関連リンクを下記に載せておくので、必要であれば参考にしてください。。

* 誰でも作れるクラウドストレージサービス ownCloud + EC2(AMI)
* https://qiita.com/syukan3/items/7e3104388b2d79fd3177

# IAMユーザーとは
AWS Identity and Access Management (IAM) では、__AWS のサービスやリソースへのアクセスを安全に管理__できる。
IAM を使用すると、AWS のユーザーとグループを作成および管理し、アクセス権を使用して AWS リソースへのアクセスを許可および拒否できる。

__IAM は追加料金なし__で AWS アカウントに提供されている機能。

# 前提条件
* AWS アカウントが作成済みであること。

# IAM作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/30

元記事を表示

CodePipelineでS3にデプロイしてCloudFrontでコンテンツを配信する

CodeStarでさくさくCI/CD作りもいいのだが、とりあえず一旦はCodeCommitからDeployまでCodePipelineで連携する方法を理解しておこうと思ったので、軽く試してみた。

CloudFrontで配信するところまでやってみる。

## やること
– CodePipelineを利用して、CodeCommit, CodeBuildを連携させ、ReactクライアントをS3にアップロードする(デプロイ)。
– S3に配置されたReactクライアントをCloudFrontで配信する。

## やる順番
1. CodeCommitでリポジトリを作成
2. CodeBuildでビルドの設定(テストの設定とかはしない)
3. CodePipelineでCommitからDeployまでを一貫して行う(S3へビルドファイルをアップロード)
4. CloudFrontでコンテンツを配信(細かい設定はしない)

## CodeCommitでリポジトリを作成

AWSコンソールのCodeCommitを開き、リポジトリを作成する。

仮にリポジトリ名testを作成すると以下のような「接続の

元記事を表示

AWSのストレージサービス

出展:[AWS認定資格試験テキスト AWS認定 クラウドプラクティショナー](https://www.amazon.co.jp/AWS%E8%AA%8D%E5%AE%9A%E8%B3%87%E6%A0%BC%E8%A9%A6%E9%A8%93%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88-AWS%E8%AA%8D%E5%AE%9A-%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%83%97%E3%83%A9%E3%82%AF%E3%83%86%E3%82%A3%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%BC-%E5%B1%B1%E4%B8%8B-%E5%85%89%E6%B4%8B/dp/4797397403/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=3ERB303UT76DT&keywords=aws%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%83%97%E3%83%A9%E3%82

元記事を表示

Siri に Slackbot が投稿した AWS 請求額を読み上げる仕事をさせる

# はじめに
iPhone を使い始めて10年弱、 Siri が全く働いていないことに気付きました。
スマートスピーカーが流行っている昨今、自分の Siri にももっと活躍して欲しいので Slackbot が投稿した AWS 請求額を読み上げてもらうことにしました。

結果から見せるとこんな感じです。
料金を聞くと…
スクリーンショット 2020-01-14 22.12.01.png

Slackに投稿した内容を読み上げてくれました。
スクリーンショット 2020-01-14 22.12.21.pngAWS EC2に新しいバージョンのNode.jsをインストールする

AWSのEC2のNode.jsはデフォルトだと6系がインストールされていて、
古すぎて困って新しいバージョンをインストールしたくなったので手順をメモしておきます。

## ドキュメント
https://docs.aws.amazon.com/ja_jp/sdk-for-javascript/v2/developer-guide/setting-up-node-on-ec2-instance.html

公式で紹介されている方法が一番確実でした。

## nvmのインストール
nvmはnodeのバージョン管理ツールです。
公式サイトで推奨されているようなので利用することにしました。

GithubのREADME.mdをみてcurlコマンドでインストールします。

[nvm/README.md at master · nvm-sh/nvm · GitHub](https://github.com/nvm-sh/nvm/blob/master/README.md)

“`
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35

元記事を表示

AWS EC2でCould not find pg-1.1.4 in any of the sources Run `bundle install` to install missing gems.と表示される

こんにちは[@yukifreeworld12](https://twitter.com/yukifreeworld12)です。
EC2でエラーが出て解決したのでメモとして、そして後世の同じエラーにハマった人の為にも…

#1. エラー文
EC2でGitと連携しクローンしていた終盤

“`
$ rake secret
Could not find pg-1.1.4 in any of the sources
Run `bundle install` to install missing gems.

$ gem install pg
Building native extensions. This could take a while…
ERROR: Error installing pg:
ERROR: Failed to build gem native extension.
<略>

To see why this extension failed to compile, please check the mkmf.log which can be found he

元記事を表示

AWS DocumentDB vs AWS DynamoDB vs MongoDB on EC2 技術選定

MongoDBからの移行での技術選定を書いていきます。
NoSQLのブームが再来していると感じている今日この頃。

今回技術選定をすることになった経緯としては、
既存のwebサイトがlocalhostのMongoDBで動いていたため、冗長化ができずに単一障害点となっており、
webAPおよびDBを冗長化して耐障害性/可用性を高める必要がありました。
**※web/APとDBが同一インスタンス上で動いている**

## 既存の環境
Ubuntu 16.04.4 LTS
nginx 1.10.3
node.js 8.9.4
MongoDB 3.4.10

**現状では監査ログの出力やフェールオーバーの仕組みは取り入れておりません。**
**またかなり古いバージョンとなっていますが、今回の記事にはほぼ関係ないので、ご了承ください**

## Local mongoからの移行技術選定
選定の候補に上がったのは以下でした。
AWSを使用しているので、選択肢はAWSの中で使用できるNoSQLサーバとなります。

– MongoDB on EC2
– DocumentDB
– DynamoDB

元記事を表示

.net アプリケーションからAWS RDSへの接続 (CDBC使用)

# 概要
CDBCを使って.net アプリケーションからRDSへ接続の構築手順。今回はOracle Databaseへの接続例。
※Cdbc (Cloud Database Connectivity) は.net アプリケーションからCloud Databaseに接続するための.NETライブラリ。公式ページ:https://www.cdbc.cloud/

# 構成図

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/560129/c949e03e-c3c4-787c-3163-1a845483fbe6.png)

# 構築手順
※Cdbcの構築設定手順を記述します、VPC,EC2,RDS,ACLなどの部分を割愛させてください。
## 1. Cdbc Service 構築
### 1.1 Install IIS
下記の公式資料を参照
https://www.cdbc.cloud/setupservice/installiis/

WCF使用なので下記の作業必須です。
Step 7:
“WC

元記事を表示

Amazon Forecast memo

#流れ
データセット作成

予測子をトレーニング

予測 生成

# データセット作成

##データセットドメイン
– **RETAIL ドメイン** – 小売の需要予測
– **INVENTORY_PLANNING ドメイン** – サプライチェーンとインベントリの計画
– **EC2 CAPACITY ドメイン** – Amazon Elastic Compute Cloud (Amazon EC2) キャパシティの予測
– **WORK_FORCE ドメイン** – 従業員の計画
– **WEB_TRAFFIC ドメイン** – 今後のウェブトラフィックの見積もり
– **METRICS ドメイン** – 収益およびキャッシュフローなどの予測メトリクス
– **CUSTOM ドメイン** – その他すべての時系列予測のタイプ

販売量は **RETAIL ドメイン** かな

##データセットタイプ
###TARGET_TIME_SERIES データセットタイプ

予測するフィールド(今回は販売量)が含まれているデータがこれ。

**item_id (文字列)** – 需要を

元記事を表示

Go AWS Lambda の init, main, handler のライフサイクルについて

# はじめに
Go AWS lambdaでRDSに接続する処理を書く必要が出てきた際
connectionを作るのは `init()` で良いのですが果たして `close` をいつどこで行えば良いのか悩み、[公式のリファレンス](https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/go-programming-model-handler-types.html
)を参照しましたが肝心のライフサイクルについて具体的な記載が見当たらないため、実際に各func内の実行回数のcountを取って調査しました。

# 検証

`init()` `main()` `Handler()` それぞれの実行countをグローバルに保持しその値を出力する検証コードを作成して実行してみます。

“`Go
package main

import (
“fmt”
“github.com/aws/aws-lambda-go/lambda”
“log”
)

var invokeCount = 0
var initCount = 0
var mainCoun

元記事を表示

EC2 のまるごとバックアップを AWS Backup がサポートしたので早速試してみました

## AWS バックアップってなんですか?
https://aws.amazon.com/jp/backup/
>AWS Backup は、AWS Storage Gateway を使用して、オンプレミスだけでなくクラウド内で AWS のサービス全体のデータのバックアップの集中管理と自動化を簡単に実行できる、完全マネージド型のバックアップサービスです。

## EC2 のバックアップ集中管理と自動化に対応しました。
以下の AWS Blog 1月14日号で発表がありました。
https://aws.amazon.com/jp/blogs/aws/aws-backup-ec2-instances-efs-single-file-restore-and-cross-region-backup/

AWS Backup に以下3つの機能が追加されました。

– **you can now back up entire Amazon Elastic Compute Cloud (EC2) instances**,
– EC2 のバックアップができるようになったよ
– you can now

元記事を表示

amplify add codegenでエラー

### 参考

https://github.com/aws-amplify/amplify-js/issues/2166

amplifyで同じアプリで一度amplify deleteしてから、amplify add codegenをしたら、下記のエラーが発生。

“`shell
Codegen support only one GraphQL API per project
“`

### 対応

.graphqlconfig.ymlを削除して、再度実行。

元記事を表示

AWS EC2インスタンスの複製をしてみた。その2(備忘録)

前回の続きです。https://qiita.com/Bikeiken-IT/items/b0762a293e231898066f

![step5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/550376/d2b7b81d-4d25-404f-b045-014c0530aef9.png)

続いてストレージに関する設定です。EC2はサーバーとして機能しますが、ストレージ機能も有しています。
そのため、サーバーの処理の結果などを保存するためのストレージの設定が出来ます。
このストレージの情報をsnapshotとして保存し、新しく作るEC2インスタンスに反映させることが、今回の目的です。

現時点では何もせずに、デフォルトの状態でEC2インスタンスのストレージを設定します。
![step6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/550376/c0cebfe3-edcb-187e-b94b-0c6054ad0c6f.

元記事を表示

AWS Certified Developer Associateに合格しました

##はじめに
AWS Certified Developer Associateを受験し、一発合格したので勉強方法をまとめます。

[AWS Certified Developer Associateとは]
(https://aws.amazon.com/jp/certification/certified-developer-associate/)

##筆者のバックグラウンド
実務でAWSのインフラ系のサービスは4年ほど触ってきました。
認定資格としては、去年までにCloud Practitioner、Solutions Architect Associate、Solutions Architest Professionalに合格しています。
開発系のサービスはチュートリアルレベルでしか触ったことがないため、1からガッツリ勉強しました。

##勉強方法
ざっくりと以下のような流れで勉強しました。

①書籍でDeveloper Associateに出題されそうなサービスの概要とポイントを勉強
②未経験サービスについてはチュートリアルをやってみる
③公式ドキュメントやBlackbelt

元記事を表示

AWS アカウントの解約とリソース残存問題

AWSのアカウントを解約しても、作ったリソースはすぐには消えません。幸いなことに料金は発生しないので(請求書は来ないので)問題はないかと思ったら他の問題があることが最近分かりました。

### アカウントの解約とリソース残存問題

解約したアカウントのS3 Bucket名に特定の名称を使っていて、その名称を他のアカウントで作ろうとした時に問題が発生しました。ベストな対策は、アカウントを解約する前に、リソースを綺麗に削除することです。

今回はアカウント解約をしてしまって、webコンソルにログインも出来ず、そのBucketが残っているかどうかの確認すら出来ないので、s3apiを使ってBucketが残っていることを確認しました。

#### Bucketの残存確認コマンド
“`
# aws s3api head-bucket –bucket [Bucket Name]
“`

##### Bucketが存在しているため作れない : 403 Forbidden
“`
# aws s3api head-bucket –bucket [Bucket Name]

An error o

元記事を表示

OTHERカテゴリの最新記事