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

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

EBS ディスク容量追加

まず、コンソールからec2インスタンスに接続しましょう。
現在の容量を確認します。

“`
$ df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 516K 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/nvme0n1p1 300G 281G 20G 94% /
tmpfs 389M 0 389M 0% /run/user/1000
tmpfs 389M 0 389M 0% /run/user/0
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1

元記事を表示

eb cliでAWSアカウント切り替え、選択

# 前提
複数のAWSアカウントを1つのPCから操作している時に
eb cliが現在どのアカウントを向いているかを確認したい状況でした。
新しいAWSアカウントで新しいBeansTalk環境を作成した時に確認した方法です。

# AWSアカウントは複数の要素から判定されます
以下優先度の高い要素から書いていきます。基本的にはAWS CLIと同じ構成ですが後述する注意点もあります。

### コマンドオプション
ebコマンドを実行する際に–profileオプションを付けることでアカウントを指定することができます。このオプションは後述するローカルPCのファイルに書いてある情報を見てアカウントを判断します。

“`init.sh

$ eb init –profile account1

“`

### 環境変数
AWS_ACCESS_KEY_ID および AWS_SECRET_ACCESS_KEYを設定することで使用できます。

“`export.sh

#環境変数設定
$ AWS_ACCESS_KEY_ID=EBCLIEBCLIEBCLIEBCLIEBCLIEBCLI
$ AW

元記事を表示

AWSに複数環境で自動デプロイの権限設定

# 背景
* AWS上にECRとECSでバックエンドサービスを構築している
* one clickでコードデプロイを実施したい
* 開発環境と本番環境は別のAWSアカウントになる

# 内容
## AWS CodeBuildとは
* 完全マネージド型のビルドサービス
* ソースコードをコンパイルする
* 単体テスト
* デプロイ

## buildspec.yml
* 単体テスト実施
* docker image build
* ECRへpush

## 問題

![deploy_aws.drawio (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13451/aae6b466-78fb-203f-18cf-fe9799d55eb9.png)

* 開発アカウントのCodeBuildから本番アカウントのECRへプッシュする時に、権限設定が必要

## 対策
### 本番アカウントの側
* ECRリポジトリにアクセス許可を追加する
* 開発アカウントのputimage権限を許可する

`

元記事を表示

Webサーバでソースポート(送信元ポート番号)を取得する

# 背景
昨今のアドレス共有技術(DS-Lite/MAP-Eなど)に関わる問題として「IP アドレスだけではユーザが特定できなくなること」が指摘されており、通信先のサーバなどでアクセスしてきた送信元ポート番号、正確なタイムスタンプを取ることを[RFC6302](https://datatracker.ietf.org/doc/html/rfc6302)では推奨しています
もちろん、記録されたログが保全(改ざんされていないなど)されることも重要ですね

# で、本題
どうやるか?
(アドレス共有技術の適用はIPv6とセットにされることが多いので、サーバのIPv6化すればいいのですが、ここではおいておいて)

## apache httpdの場合
こんなconfigを設定可能です
%{remote}p の部分ですね

“`httpd.conf
LogFormat “[%h]:%{remote}p %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”” combined
LogFormat “[%h]:%{remote}p

元記事を表示

【AWS】ABAC を雑にやるハンズオン

#はじめに
クラスメソッドさんの8/17(火)リモート開催の [AKIBA.AWS ONLINE](https://dev.classmethod.jp/news/akiba-aws-210817/) で「ABAC」という言葉を初めて知りました。是非試してみたい!と思い、色々調べたりして自分なりに扱うことはできました。ということで、この記事では ABAC をやってみる一例を紹介します。

この記事は AWS 初心者が書いており、AWS を不適切なやり方、間違ったやり方で使用している可能性があります。ご指摘等がございましたら、コメント頂けると幸いです。

#ABAC とは

ABAC は「Attribute Based Access Control」の略称です。

> 属性ベースのアクセスコントロール (ABAC) は、属性に基づいてアクセス許可を定義する認証戦略です。
引用元:[AWS の ABAC とは – AWS Identity and Access Management](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuid

元記事を表示

【AWS Azure GCP】GCPの公式に各サービスの比較表があるじゃん

#はじめに
クラウドの機能って、どのベンダーでも同じような機能があるけど、どれが対応してるんだっけ?って思いました。探してみるとGCPの公式に比較表がありました。

#各サービスの比較表

https://cloud.google.com/free/docs/aws-azure-gcp-service-comparison?hl=ja

#まとめ
どれ使えばいいんだっけ、ってなったときに見返そうと思います。公式で出してくれるととても便利です。

元記事を表示

【AWS Azure GCP】主要クラウドのAIサービス一覧と機能概要まとめ(2021年9月時点)

#はじめに
各クラウドが提供しているAIサービスはたくさんあるな〜と思い調べていたのでまとめました。本記事で扱っているクラウドベンダーは主要クラウドということでシェア率の過半数を占める、AWS、Azure、GCPの3つとなります。

![cloud.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/764771/22a09e54-51c6-e5f7-ffe8-5c57a8ec6067.png)
クラウドインフラサービス市場の成長と各社のシェア(出典:[Synergy Research Group](https://www.srgresearch.com/articles/quarterly-cloud-market-leaps-to-42b-amazon-microsoft-google-pocket-63-of-dollars-spent))

以下の表中の機能概要は参考文献からの引用になります。
#AWS

https://aws.amazon.com/jp/products/

| サービス名| 機

元記事を表示

EKS Anywehre on vSphere

## はじめに

EKS AnywhereをvSphere上で実行してみました。ついでにGitOpsして、EKS ConnectorでAWSマネジメントコンソールに登録してみました。

## Amazon EKS Anywhereとは

AWS環境以外でEKSを実行するためのKubernetesディストリビューション。詳しくはこの辺を。

– [Amazon EKS Anywhere](https://aws.amazon.com/eks/eks-anywhere/?nc1=h_ls)
– [Amazon EKS Anywhere – Now Generally Available to Create and Manage Kubernetes Clusters on Premises](https://aws.amazon.com/jp/blogs/aws/amazon-eks-anywhere-now-generally-available-to-create-and-manage-kubernetes-clusters-on-premises/)

– [EKS Anywhere

元記事を表示

AWS IAMでのポリシーに指定できるアクションやリソースの一覧について

AWS IAMでポリシーを指定する際の、`Action`や`Resource`といった指定について。

たとえば、以下はEC2のドキュメントの例。

“`yaml
{
“Version”: “2012-10-17”,
“Statement”: [{
“Effect”: “Allow”,
“Action”: [
“ec2:DescribeInstances”,
“ec2:DescribeImages”,
“ec2:DescribeTags”,
“ec2:DescribeSnapshots”
],
“Resource”: “*”
}
]
}
“`

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/iam-policies-ec2-console.html

こういったところに、なにが書けるかがよくわからなくなるので。

一覧は、こちらを見ると良いようです。

https:/

元記事を表示

SQLを学ぼう!【2章】

前章の記事(SQLを学ぼう!【1章】)では、MySQLに接続し、データベースの作成や指定、指定したデータベースにテーブルを作成し、データを挿入する作業について行いました!今回の記事では挿入したデータを検索し、表示させる作業を行なっていきたいと思います。

前章をご覧になりたい方は、下記にリンクを貼っておきますので、ご参照ください。
・[SQLを学ぼう!【1章】](https://qiita.com/haruki25596/private/8c1200db79fb9ae2200b)

##前章の復習
前章の復習になりますが、作成したlistテーブルに、データを挿入しました。
テーブルへデータを挿入するには、**INSERT文**を用いて行いましたね。

**INSERT INTO テーブル名 (カラム名1, カラム名2, …) VALUES (値1, 値2, …);**

“`ruby:ターミナル
mysql> INSERT INTO list (id, name, address) VALUES (1, ‘学 太郎’, ‘東京都世田谷区’);
Query OK, 1

元記事を表示

AWSのDockerコンテナでSpringBootアプリケーションを実行してインターネットからアクセスする

#全体の流れ
– VPC内でインスタンスを作成しインターネットからアクセスできるようにする(手順は割愛。インターネットゲートウェイとかで調べたら出てくると思います)
– springbootプロジェクトをインスタンスに入れる(ない場合はInitialierなどで適当に作る。[参考1](https://qiita.com/rubytomato@github/items/b2c0686517e1c86ceb48)、[参考2](https://qiita.com/cyst-star/items/22f1c7fb11e193fe072f))
– DockerFileを作ってimageをbuildする
– 作ったimageを元にコンテナを起動
– publicipアドレスからアクセス可能に

#DockerFileを作る
“`
FROM openjdk:11-jre-slim
WORKDIR /app
COPY ./build/libs/${jarname}.jar .
ENTRYPOINT [“java”, “-jar”, “${jarname}.jar”]
“`

#imageビルド

元記事を表示

AWS Elastic Beanstalkで環境作成時の注意点

## 発生していた現象

* AWS Elastic Beanstalk からアプリケーションを作成しようとすると「The instance profile aws-elasticbeanstalk-ec2-role associated with the environment does not exist.」のというエラーメッセージが表示されてしまい環境構築に必ず失敗してしまう
* 強い権限があるはずのルートユーザで実行しても上記と同様のエラーで起動できなくなってしまっている
* `aws-elasticbeanstalk-ec2-role` ロールはIAMロールに定義されている

## 原因

AWS ElasticBeanstalkの初回のアプリケーション作成時にIAMロール(`aws-elasticbeanstalk-ec2-role` および `aws-elasticbeanstalk-service-role`)の自動作成を行うが、作成時のユーザの権限によって中途半端な状態でIAMロールが作成されてしまう場合がある。
一度IAMロールが作成されてしまうと、以降のElast

元記事を表示

AWSでSpringBootアプリケーションを実行してインターネットからアクセスする

#ec2インスタンスを作成
ec2インスタンスを作り、SpringBootアプリケーションをbuildしておく。
ここでは略。

#nginxファイルを作成する
`/etc/nginx/conf.d`の下に.confファイルを作成。なかったらnginxをインストールする

“`springboot.conf
server {
listen 80;
server_name _;

location / {
proxy_pass http://localhost:8080;
}
}

“`
リバースプロキシの設定完了

#nginxを再起動する

“`
sudo systemctl restart nginx.service
“`

#SpringbootApplicationをビルドしたjarファイルを実行する

“`
java -jar ${repos}/build/libs/${project}.jar
“`

アプリケーション起動

“`
. ____ _ __ _ _
/\\ / ___

元記事を表示

AWS S3のCSVにWatson Studioからアクセスする

AWS S3のCSVにWatson Studioからアクセスします。
あらかじめS3にはバケットs3testwsとユーザーs3testwsuserを作っておきます。

参考:AWS S3の特定bucketにCLIやAPIでアクセスする設定 – Qiita

https://qiita.com/kawada2017/items/40acfbaf6bce8f8011cf

Watson Studioからは「接続」オブジェクトでバケットへの接続情報を定義し、「接続データ」オブジェクトでバケット内のCSVを定義するとアクセスできるようになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/13cda552-8eb5-eca8-01d2-62312a8feb46.png)

#1. 接続オブジェクトの作成
「プロジェクトに追加」で「接続」を選びます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazo

元記事を表示

【Docker】Terraform+AWS CLI+DooD環境を構築

AWSの環境構築をTerraformで行う際に、環境依存やバージョン管理を考慮する必要があります。
その管理を簡略化するため、Dockerを用いて環境をコンテナ化します。
また、コンテナ内のTerraformでECRの操作を行うため、DooD(Docker outsude of Docker)という仕組みでコンテナ内からDockerの機能が利用できるようにします。

# ターゲット

– TerraforomまたはAWS CLI環境をコンテナ化したい
– Dockerコンテナ内でDockerを使いたい

# Terraformを使う方法

TerraformをDockerコンテナで使用する方法として公式イメージを使用します。
バージョンを固定したい方は、`latest`を置き換えてください。

“`Dockerfile:Dockerfile
FROM hashicorp/terraform:latest
“`

[HashiCorp公式のDocker Hub](https://github.com/hashicorp/terraform)を参照することで、golang:alpine

元記事を表示

api gateway + samでapiの環境を作る(api key)

やったこと
– ip制限(sam)
– api keyの設定(sam)
– route53でドメインの設定
– api gatewayでlambdaとドメインを紐づける

今回紹介する項目
– api keyの設定(sam)

#前提
AWS::Serverless::Functionでlambdaを作成済みであること。
参考:https://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/sam-resource-function.html

作成したlambdaにapi key設定を行なっていきます。

#api keyの設定(sam)
samで以下のコードでlambdaを作成しているものとします。

“`template.yml
ApiGatewayRestApi:
Type: AWS::Serverless::Api
Properties:
StageName: Prod

ApiLambdaFunction:
Type: AWS::S

元記事を表示

api gateway + samでapiの環境を作る(ip制限)

やったこと
– ip制限(sam)
– api keyの設定(sam)
– route53でドメインの設定
– api gatewayでlambdaとドメインを紐づける

今回紹介する項目
– ip制限(sam)

#前提
AWS::Serverless::Functionでlambdaを作成済みであること。
参考:https://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/sam-resource-function.html

作成したlambdaにip制限の設定を行なっていきます。

#ip制限(sam)
samで以下のコードでlambdaを作成しているものとします。

“`template.yml
ApiLambdaFunction:
Type: AWS::Serverless::Function
Properties:
FunctionName: ApiLambdaFunction
VpcConfig: 略
Code

元記事を表示

AWS S3の特定bucketにCLIやAPIでアクセスする設定

AWS S3の特定のbucketに、CLIやAPIからアクセスキーIDとシークレットアクセスキーでアクセスする設定を行います。

全体像は以下のようなイメージです。まず、s3testwsというバケットをつくります。そしてs3testwsuserというユーザーをつくり、アクセスキーIDとシークレットアクセスキーを生成します。
そして、バケットポリシーでこのバケットs3testwsに対してユーザーs3testwsuserのアクセス権限を付与します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/e5fee8d9-a8a0-2e3c-903e-0602105e1375.png)

#1 バケットの作成
以下のようにバケットを作成します。リージョンはap-northeast-1を選び、パブリックアクセスをすべてブロックしています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22

元記事を表示

AWSでEC2にEIPを付与→関連解除すると、パブリックIPがEC2に残ってしまう

## これは何

AWSでEC2にEIPを付与→関連解除すると、パブリックIPがEC2に残ってしまった(!)の記録です。

## 記録

自動割り当てパブリックIPを無効にします。

![スクリーンショット 2021-09-10 17.52.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740345/ddcb6cdd-c0bc-575f-217c-981104413ff7.png)

![スクリーンショット 2021-09-10 17.54.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1740345/df4a7a13-82eb-3477-2b53-eb546a6d3530.png)

EIPを付与します。

![スクリーンショット 2021-09-10 17.55.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/174

元記事を表示

AWS IoT CoreをRaspberry Piで使ってみた その3

## 概要
* AWSにはIoT機器と接続、管理するためのAWS IoT Coreというサービスがある
* 公式にもハンズオンがあるが、最小限の手順、構成で動作を確かめてみる
https://aws-iot-core-for-beginners.workshop.aws/phase2/step2.html
* 前回に引き続き温湿度センサーDHT22のデータを送信することを試みる

![aws-iot-core.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/701445/5b2e455f-a8b2-e09b-ba52-9fdeb020073d.png)

前回の記事
https://qiita.com/cami_oshimo/items/8e9c45230fccfac4ff4c

![スクリーンショット 2021-09-12 11.35.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/701445/54dca80b

元記事を表示

OTHERカテゴリの最新記事